使用wrk,我运行以下命令:
wrk -t10 -c10 -d30s http://localhost:8080/myService --latency -H "Accept-Encoding: gzip"因此,我获得请求/秒: 15000而没有错误
我试着用Gatling复制同样的测试。因此,我尝试了以下几点:
scn.inject(
rampUsersPerSec(1) to 15000 during (30 seconds)
)但结果是,我犯了错误:
-错误
i.n.c.AbstractChannel$AnnotatedSocketException:不能分配r 573 (42,44%)公平地址: localhost/127.0.0.1:8080 i.n.c.AbstractChannel$AnnotatedSocketException:资源节拍530 (39,26%):本地主机/0:0:0:0:0:0:0:1:8080 j.i.IOException:早熟关闭247 (18,30%)
在wrk中,我相信我的服务器可以处理15000个请求/s,但是对于Gatling,情况似乎并非如此。你知道为什么会有这样的区别吗?
发布于 2020-03-23 21:54:27
免责声明:Gatling的创建者
你在比较苹果和橘子。
使用wrk,您将打开10个连接,并在30多个小时内尽可能快地循环。
使用当前的Gatling设置,您将生成225,015个虚拟用户((1 + 15,000) /2* 30),每个用户都试图打开自己的连接。
我建议您阅读这篇关于选择对用例有意义的注入配置文件的文章。
如果您真的想在这里做与wrk相同的事情,您需要在(30)循环中包装您的场景,并将您的注入配置文件更改为atOnceUsers(10)。
您还可以选择使用共享连接池。
然后,对于这种无逻辑的静态测试,您不能期望任何其他的加载测试工具都能像wrk一样快。
还注意到:
https://stackoverflow.com/questions/60821538
复制相似问题