2013-08-22 19 views

Odpowiedz

16

To zależy od typu złącza używanego do przyjęcia żądań. Istnieje parametr o nazwie maxConnections w server.xml, który można skonfigurować w celu ograniczenia liczby żądań przychodzących. Oto description of maxConnections params for Tomcat 7:

Maksymalna liczba połączeń, które serwer będzie akceptować i proces w danym momencie. Po osiągnięciu tego numeru serwer nie będzie akceptował więcej połączeń, dopóki liczba połączeń nie spadnie poniżej tej wartości. System operacyjny może nadal akceptować połączenia na podstawie ustawienia acceptCount. Wartość domyślna zależy od typu złącza. Dla BIO domyślną wartością jest maxThreads, chyba że użyto Executora, w którym to przypadku wartość domyślna będzie wynosiła wartość maxThreads z executora. Dla NIO domyślnie 10000. Dla Kwi/ojczystego, wartość domyślna to 8192.

Zauważ, że na kwiecień/rodzimy na Windows, skonfigurowany wartość będzie zmniejszona do najwyższego wielokrotności 1024, która jest mniejsza lub równa do maxConnections. Odbywa się to ze względu na wydajność. Jeśli jest ustawiona na wartość -1, gdy MaxConnections funkcja jest wyłączona i połączenia nie są liczone

+0

maxConnections określa maksymalną liczbę połączeń serwer akceptuje nie maksymalną liczbę obsługiwanych żądań jednocześnie – Prateek

+3

@Prateek Nie, nie ma. Kłócisz się tutaj z dokumentacją Tomcat, którą cytował Juned. To, o czym mówisz, to połączenie "acceptCount" i kolejki oczekujących na nasłuch. – EJP

+0

@EJP ale na stronie dokumentacji tomcat, które wspomniałem w mojej odpowiedzi, określa maxThreads.please mi pomóc uzyskać jasność, jeśli się mylę ... :) – Prateek

0

złącza Tomcat może być skonfigurowany do służby tylko pewną liczbę żądań jednocześnie - tak skonfigurowany jako atrybut MaxConnections A w server.xml

0

Od this forum i szybkie sprawdzenie poczytalność:

Tomcat ma maksymalną liczbę równoczesnych wątków używanych do obsługi żądań; to może być skonfigurowany w conf/server.xml [jak maxConnections i pokrewnych opcji] i jest domyślnym zestawem do 50.

+1

Tomcat nie posiada maxThreads określone w złączu zaocznego serwer.konfiguracja xml. Zgodnie z dokumentacją domyślną wartością, gdy nie określono wartości maxThreads, jest 200. https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Standard_Implementation dotyczy również serwera Tomcat 6 – JanM

10

W server.xml pliku można określić maxThreads który specifies maximum number of simultaneous requests that can be handled..

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
       enableLookups="false" redirectPort="4443" acceptCount="100" 
       debug="0" connectionTimeout="60000" 
       disableUploadTimeout="true" /> 

W Tomcat 7,

The maximum number of request processing threads to be created by this Connector, which therefore determines the maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200.

EDIT: Jeżeli wykonawca jest związany z tym złączem, ten atrybut jest ignorowany jako łącznika będzie wykonywać zadania przy użyciu wykonawca zamiast wewnętrznej puli wątków.

Aby uzyskać więcej informacji, patrz link Tomcat 7 Doc

+0

Zostawiłeś ostatnie zdanie o ignorowaniu atrybutu, jeśli zdefiniowano Executor. – EJP

+0

zaktualizowałem moją odpowiedź, oznacza to, że wartość maxThread jest używana w maxConnections. – Prateek

+0

Jaki jest górny limit żądania, który Tomcat może obsłużyć? –

Powiązane problemy