netty或linux阻塞请求,但不显示错误如何找出阻塞的原因?
我已经在linux(red hat vm)上安装了netty,具有8核64位netty或linux阻塞请求,但不显示错误如何找出阻塞的原因?,linux,http,connection,jmeter,netty,Linux,Http,Connection,Jmeter,Netty,我已经在linux(red hat vm)上安装了netty,具有8核64位 limit : cputime unlimited filesize unlimited datasize unlimited stacksize 10240 kbytes coredumpsize 0 kbytes memoryuse unlimited vmemoryuse unlimited descriptors 65535 memorylocked 64 kbyte
limit :
cputime unlimited
filesize unlimited
datasize unlimited
stacksize 10240 kbytes
coredumpsize 0 kbytes
memoryuse unlimited
vmemoryuse unlimited
descriptors 65535
memorylocked 64 kbytes
maxproc 8192
在WindowsXP中,我运行Jmeter调用5000个http post请求。
我每次只能处理3000个请求,决不能超过它。
如果我检查失败的jmeter请求,我将收到此异常:
java.net.BindException: Address already in use: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:518)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:284)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1075)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1064)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:426)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
at java.lang.Thread.run(Thread.java:619)
Thread Name: Thread Group 1-4591
Sample Start: 2013-01-01 16:25:05 IST
Load time: 200
Latency: 0
Size in bytes: 1689
Headers size in bytes: 0
Body size in bytes: 1689
Sample Count: 1
Error Count: 1
Response code: Non HTTP response code: java.net.BindException
Response message: Non HTTP response message: Address already in use: connect
Response headers:
HTTPSampleResult fields:
ContentType:
DataEncoding: null
在烦躁的一面,我看不到任何错误或例外,只是站着倾听。
如果我这样做:
netstat -a | grep ESTABLISHED | grep 8881 | wc -l
我看到50个连接是开放的(我想)。
当我关闭netty并再次运行netstate时,我打开了0个连接。但我不知道这是否相关。
我的问题是,我如何才能发现我不能做更多请求的方式
解决方案将客户端移动到Linux看起来您的客户端的临时端口用完了,或者您的客户端环境(Windows)出现了一些问题?是的,问题是Windows,将客户端移动到linux并解决了问题!!!