Bazı istemcilerle birlikte bir Linode sunucusunda Hazırda Bekletme, İlkbahar, Debian, Tomcat, MySql yığını var. Yaklaşık 30 müşteri için web sayfalarını barındıran bir Spring-Multitenant uygulaması.java.net.SocketException: Çok fazla açık dosya Bahar Hazırda Bekletme Tomcat
uygulamaları Im bu hatayı almaya, bir süre sonra, ince başlar: Bu hata ancak atılır
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:60)
at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:216)
at java.lang.Thread.run(Thread.java:662)
önce nagios sunucu durağına ping yanıt beni uyarır.
Daha önce, ben bir vekil olarak nginx vardı ve bunun yerine istek başına bu nginx hataları başlamıştı ve yine tomcat'ı yeniden zorundaydı:
<Connector port="80" protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="500" minSpareThreads="250"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
acceptorThreadCount="2" />
: Bu benim server.xml bağlayıcı yapılandırması
2014/04/21 12:31:28 [error] 2259#0: *2441630 no live upstreams while connecting to upstream, client: 66.249.64.115, server: abril, request: "GET /catalog.do?op=requestPage&selectedPage=-195&category=2&offSet=-197&page=-193&searchBox= HTTP/1.1", upstream: "http://appcluster/catalog.do?op=requestPage&selectedPage=-195&category=2&offSet=-197&page=-193&searchBox=", host: "www.anabocafe.com"
2014/04/21 12:31:40 [error] 2259#0: *2441641 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 200.74.195.61, server: abril, request: "GET/HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "www.oli-med.com"
olduğunu
this tutorial kullanarak ulimit'i değiştirmeyi denedim Tomcat çalıştıran kullanıcı için açık dosya tanımlayıcıları için sabit sınırı değiştirebiliyordum, ancak sorunu çözmedi, uygulama hala askıda kalıyor. Aniden büyüyen başlar
lsof -p TOMCAT_PID | wc -l
632 (more or less!! i did not write the exact number)
Bu numaralar:
Ben sunucuyu yeniden başlatmak zorunda son kez Ben socked açılan bağlantılar için bu değerleri vardı, yaklaşık 3 saat boyunca koştu.
Diğer sunucularda buna çok benzeyen bazı uygulamalara sahibim, fark Tek Başına bir sürüm olmaları ve bu bir Çok Boyutlu mimaridir. Bu uygulamada bu tür soket bağlantılarını alıyorum. 't diğer tesisler herhangi birinin Bağımsızlık versiyonunda gerçekleştirilir:
java 11506 root 646u IPv6 136862 0t0 TCP lixxx-xxx.members.linode.com:www->180.76.6.16:49545 (ESTABLISHED)
java 11506 root 647u IPv6 136873 0t0 TCP lixxx-xxx.members.linode.com:www->50.31.164.139:37734 (CLOSE_WAIT)
java 11506 root 648u IPv6 135889 0t0 TCP lixxx-xxx.members.linode.com:www->ec2-54-247-188-179.eu-west-1.compute.amazonaws.com:28335 (CLOSE_WAIT)
java 11506 root 649u IPv6 136882 0t0 TCP lixxx-xxx.members.linode.com:www->ec2-54-251-34-67.ap-southeast-1.compute.amazonaws.com:19023 (CLOSE_WAIT)
java 11506 root 650u IPv6 136884 0t0 TCP lixxx-xxx.members.linode.com:www->crawl-66-249-75-113.googlebot.com:39665 (ESTABLISHED)
java 11506 root 651u IPv6 136886 0t0 TCP lixxx-xxx.members.linode.com:www->190.97.240.116.viginet.com.ve:1391 (ESTABLISHED)
java 11506 root 652u IPv6 136887 0t0 TCP lixxx-xxx.members.linode.com:www->ec2-50-112-95-211.us-west-2.compute.amazonaws.com:19345 (ESTABLISHED)
java 11506 root 653u IPv6 136889 0t0 TCP lixxx-xxx.members.linode.com:www->ec2-54-248-250-232.ap-northeast-1.compute.amazonaws.com:51153 (ESTABLISHED)
java 11506 root 654u IPv6 136897 0t0 TCP lixxx-xxx.members.linode.com:www->baiduspider-180-76-5-149.crawl.baidu.com:31768 (ESTABLISHED)
java 11506 root 655u IPv6 136898 0t0 TCP lixxx-xxx.members.linode.com:www->msnbot-157-55-32-60.search.msn.com:35100 (ESTABLISHED)
java 11506 root 656u IPv6 136900 0t0 TCP lixxx-xxx.members.linode.com:www->50.31.164.139:47511 (ESTABLISHED)
java 11506 root 657u IPv6 135924 0t0 TCP lixxx-xxx.members.linode.com:www->ec2-184-73-237-85.compute-1.amazonaws.com:28206 (ESTABLISHED)
Onlar sanırım otomatik bağlantıların çeşit bulunmaktadır.
Yani benim soru:
nasıl sorun benim kod, sunucunun olup olmadığını belirlemek veya saldırı çeşit ve hangi yaklaşım bu anlamaya öneriyoruz edebilir?
Advance teşekkürler :)
maxThreads = "10000" gerçekten iyimser;) – Stefan
jaja! Haklısın, muhtemelen bir testten sonra bir şeyi geri almayı unutmuşsun. Bu konuya işaret ettiğiniz için teşekkür ederiz. – Ernest
MaksThreads = "500" olarak değiştirildi ve gönderi güncellendi. :) – Ernest