使用openresty开发了一个简单的性能压测程序。请求/test?name=zhangsan.通过lua将接口参数返回。
jmeter设置线程数600,循环200.会有10%的异常率,异常都是Connection refused: connect,具体配置及异常贴到下面了。请大神赐教,如何配置可以达到官网描述的10k或者100k。

nginx配置,其他默认

location /http {
            default_type   application/json;
            content_by_lua_file  C://Users//user//Downloads//soft//openresty-1.21.4.1-win64//lualib//http.lua;
        }

脚本内容

local cjson = require("cjson")

local args=nil
-- 获取前端的请求方式,并获取传递的参数
local request_method = ngx.var.request_method
if "GET" == request_method then
        args = ngx.req.get_uri_args()
elseif "POST" == request_method then
        ngx.req.read_body()
        args = ngx.req.get_post_args()
        if (args == nil or args.data == null) then
                args = ngx.req.get_uri_args()
        end
end
ngx.say(cjson.encode(args))

    补充异常堆栈

    org.apache.http.conn.HttpHostConnectException: Connect to localhost:80 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
    	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156)
    	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:404)
    	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
    	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
    	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
    	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
    	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
    	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
    	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:935)
    	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:646)
    	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)
    	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1296)
    	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1285)
    	at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638)
    	at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
    	at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
    	at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
    	at java.base/java.lang.Thread.run(Thread.java:831)
    Caused by: java.net.ConnectException: Connection refused: connect
    	at java.base/sun.nio.ch.Net.connect0(Native Method)
    	at java.base/sun.nio.ch.Net.connect(Net.java:576)
    	at java.base/sun.nio.ch.Net.connect(Net.java:565)
    	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)
    	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:333)
    	at java.base/java.net.Socket.connect(Socket.java:645)
    	at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75)
    	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
    	... 19 more
      Write a Reply...