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

一段时间后出现错误:

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)
4

2 回答 2

1

似乎您的问题可能不是 jmeter 实例而是 os / env 问题。

  1. 根据这些链接查看建议:
    寻找 java.net.SocketException:没有可用的缓冲区空间
    http://www.codeweblog.com/no-buffer-space-available/

  2. 如果您想在 WinXP 之类的操作系统上运行您的 jmeter,请查看这些说明

于 2012-04-26T16:51:56.403 回答
0

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

于 2012-05-05T15:59:50.910 回答