我试图对我的Spring Boot应用程序进行压力测试,但是当我运行以下命令时,ab
正在做的是尝试给出一个结果,即我的应用程序可以保存的最大值。但我需要检查我的应用程序是否可以按每秒特定请求保留。
ab -p req.json -T application/json -k -c 1000 -n 500000 http://myapp.com/customerTrack/v1/send
上面命令给出的每秒请求数是4000,但实际上,我的应用程序中缓存了很多记录,这意味着它不能保持那么多的rps。 有人可以告诉我如何在 ab
工具中每秒设置一个特定请求吗?谢谢!
答案 0 :(得分:3)
我认为您无法从Ab中得到想要的东西。还有很多其他工具。
这是一个简单的程序,可以完全满足您的要求。
对于将速率限制为每秒100个请求,以下命令应该起作用。
hey -D req.json -T application/json -c 1000 -q 100 -n 500000 http://myapp.com/customerTrack/v1/send
答案 1 :(得分:2)
Apache Bench是单线程程序,只能利用客户端计算机上的一个处理器。在极端情况下,如果测试的参数超出工具运行环境的能力,则该工具可能会歪曲结果。根据您的描述,rps已经达到了硬件限制。
我的应用程序中缓冲了很多记录,这意味着它不能容纳那么多rps
很难在一台机器上每秒控制请求。 您可以在这里HTTP(S) Benchmark Tools
找到性能更好的痤疮测试工具如果您有预算,可以尝试goad,它是AWS Lambda支持的,高度分布式的负载测试工具,内置于Go中,用于2016 Gopher Gala。 Goad允许您在全球范围内对网站进行负载测试,同时通过在多个地区同时使用AWS Lambda来花费一分钱的微小费用。