我有一台阻止突发请求的服务器(如果同一 IP 地址每秒访问该服务器超过 3 次,就会出现 500 错误)。
因此,当我使用 Apache 基准测试时,我会看到很多失败的请求,即使我将并发度设置为 1。
是否有选项可以设置每个请求之间的间隔?或者是否有类似的基准测试工具提供此间隔功能?
答案1
如果并发数限制为 3,您实际上无法完成任何有意义的负载测试。您可能需要删除您正在测试的 IP 的每秒请求数限制。
答案2
您可以运行ab
以watch
延迟重复访问,但您将无法使用报告摘要。
watch -n 1 ab -n 3 http://serverfault.com/
或者运行它curl
而不是ab
watch -n 0.4 curl http://serverfault.com/
更多关于watch
:
http://www.linfo.org/watch.html
答案3
答案4
您还可以添加文本文件来记录详细程度。
watch -n 1 'ab -n 3 -v3 http://serverfault.com/ >> ab.txt'
你可以统计 5xx 错误的发生次数。例如在 vim 中:
:%s/HTTP\/1.1 5//n
或永久移动 3xx
:%s/HTTP\/1.1 3//n
然后精细分析您的托管以调整性能。