在设置连接超时之前,我就会得到一个超时异常。有人对发生了什么事有什么想法吗?
任何输入都是很棒的!
15 Jan 2013 10:44:40,944 [ Thread-4622] WorkerThread INFO [1538387622377815-4640]- - About to call server with connectionTimeoutMS=30000
15 Jan 2013 10:45:02,003 [ Thread-4622] WorkerThread ERROR [1538387622377815-4640]-run():Connection timed out:java.net.ConnectException在测试运行时,我记录了netstat、gc和打开文件的数量,没有注意到任何戏剧性的事情。
Env
文件描述符:
打开文件
客户机如何工作
客户端创建批并发线程(rnd在1-1000之间)并调用jetty组件,然后等待(rnd在1-30秒之间)再调用。这重复最多5分钟。
服务器:尝试使用默认的超时,并将connectTimeout设置为一个很大的值,例如60000 ms,结果相同。
运行的服务器上的
春季/骆驼路线:
<route id="startQueue_route" trace="false">
<from uri="jetty:http://0.0.0.0:9311" />
<to uri="bean:LDAPBean" />
</route>
<bean id="jetty" class="org.apache.camel.component.jetty.JettyHttpComponent"/>发布于 2013-01-18 19:44:41
我能够解决这个问题,但调整了一些tcp设置,希望这对其他人有所帮助。
我现在后退一步,将更新的camel jars替换回2.10.0,以确保修复只是tcp env问题(在设置限制之前就已经超时)。
1)我将camel和jetty更新为Java1.6的最新/最大版本,但仍然存在相同的随机超时问题。
-rw-r--r-- 1 dana dana 670388 Jan 16 18:23 spring-context-3.0.7.RELEASE.jar
-rw-r--r-- 1 dana dana 556747 Jan 16 18:24 spring-beans-3.0.7.RELEASE.jar
-rw-r--r-- 1 dana dana 383621 Jan 16 18:25 spring-core-3.0.7.RELEASE.jar
-rw-r--r-- 1 dana dana 53082 Jan 16 18:26 spring-asm-3.0.7.RELEASE.jar
-rw-r--r-- 1 dana dana 169749 Jan 16 18:27 spring-expression-3.0.7.RELEASE.jar
-rw-r--r-- 1 dana dana 88733 Jan 17 11:30 jetty-servlets-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 97228 Jan 17 11:30 jetty-servlet-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 338985 Jan 17 11:30 jetty-server-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 89854 Jan 17 11:30 jetty-security-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 24596 Jan 17 11:30 jetty-jmx-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 87621 Jan 17 11:30 jetty-client-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 311747 Jan 17 11:30 commons-httpclient-3.1_1.jar
-rw-r--r-- 1 dana dana 228640 Jan 17 11:30 camel-spring-2.10.3.jar
-rw-r--r-- 1 dana dana 52852 Jan 17 11:30 camel-jetty-2.10.3.jar
-rw-r--r-- 1 dana dana 66945 Jan 17 11:30 camel-http-2.10.3.jar
-rw-r--r-- 1 dana dana 2218113 Jan 17 11:30 camel-core-2.10.3.jar
-rw-r--r-- 1 dana dana 280529 Jan 17 11:33 jetty-util-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 94481 Jan 17 11:34 jetty-http-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 231922 Jan 17 11:36 org.springframework.transaction- 3.0.5.RELEASE.jar
-rw-r--r-- 1 dana dana 321190 Jan 17 11:37 org.springframework.aop-3.0.5.RELEASE.jar
-rw-r--r-- 1 dana dana 103293 Jan 17 11:39 jetty-io-8.1.8.v20121106.jar
-rw-r--r-- 1 dana dana 200387 Jan 17 11:45 servlet-api-3.0.jar
-rw-r--r-- 1 dana dana 21138 Jan 17 11:52 jetty-continuation-8.1.8.v20121106.jar2)调整了tcp设置:(这似乎解决了超时问题)
ulimit -n 124000
sudo sysctl -w net.ipv4.tcp_syn_retries="1000000"
sudo sysctl -w net.ipv4.tcp_synack_retries="1000000"
sudo sysctl -w fs.file-max=200000
sudo sysctl -w net.ipv4.tcp_fin_timeout=5
sysctl -w net.ipv4.ip_local_port_range="1024 65000"
sysctl -w net.ipv4.tcp_keepalive_time="30"
##-- disable ipv6.
sysctl -w net.ipv6.conf.all.disable_ipv6="1"
sysctl -w net.ipv6.conf.default.disable_ipv6="1"
sysctl -w net.ipv6.conf.lo.disable_ipv6="1"https://stackoverflow.com/questions/14345009
复制相似问题