JMeter的给出错误没有可用的缓冲空间(最大连接数达到?):连接

问题描述:

Number of threads = 20 
Ramp-up period = 10 
Loop count = 200 

给出了一段时间后,出现错误:JMeter的给出错误没有可用的缓冲空间(最大连接数达到?):连接

java.net.SocketException: No buffer space available (maximum connections reached?): connect 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) 
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
    at java.net.Socket.connect(Socket.java:529) 
    at java.net.Socket.connect(Socket.java:478) 
    at sun.net.NetworkClient.doConnect(NetworkClient.java:163) 
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:395) 
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) 
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:234) 
    at sun.net.www.http.HttpClient.New(HttpClient.java:307) 
    at sun.net.www.http.HttpClient.New(HttpClient.java:324) 
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970) 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911) 
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836) 
    at org.apache.jmeter.protocol.http.sampler.HTTPJavaImpl.sample(HTTPJavaImpl.java:483) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1018) 
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1004) 
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:411) 
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:297) 
    at java.lang.Thread.run(Thread.java:662) 
+0

我也面临同样的问题。我在win 2008服务器中检查过我的tcp连接正在等待使用netstat命令。任何猜测怎么办? – 2012-04-27 05:50:36

+0

有合适的解决方案吗? – 2012-05-10 16:16:37

看来你可能会有问题,不与你的JMeter的实例,但与OS/ENV。

  1. 查找到每这些链接建议:
    Hunt down java.net.SocketException: No buffer space available
    http://www.codeweblog.com/no-buffer-space-available/

  2. 如果你喜欢上的WinXP操作系统supposably运行你的JMeter请看these instructions

可能是因为你没有关闭连接。尝试更改采样器上的Keep Alive选项,但请记住检查实际发送的请求是否来自真实浏览器的实际请求(您不想掩盖潜在问题)。也可能是您的服务器未配置为关闭连接,这可能是您应用程序的真正问题。