任何人都知道像“Apache Bench”这样的负载测试工具来发送变量URL。 (相同的服务器,但不同的查询字符串)
例如,
ab -text list.txt -n 1000 http://test.com/search?
LIST.TXT
name=abc&age=10
name=pqr&age=20
anything=anything&age=30
......
注意:实际上apache bench中没有这样的选项-text
答案 0 :(得分:22)
尝试围攻,因为它提供了你所需要的东西。 您可以创建使用bash参数的url文件,这样您就不必重复自己。它还支持基本身份验证,POST,登录URL等等。
siege -f urls.txt
urls.txt:
URL=https://www.example.com/
$(URL)index.php?ab=1
$(URL)site.php?different=12
你可以在这里找到更多: http://www.joedog.org/siege-home/
答案 1 :(得分:7)
您可以将以下项目apachebench用于多个网址 Apache Bench for Multiple URL
支持ApacheBench的多URL请求。您可以将URL列表设置为 '-L filename'并确认每个文档长度的响应 请求。
答案 2 :(得分:3)
来自Windows中的命令行:
for /F %q in (list.txt) DO ab -n 1000 https://test.com/search?%q
我不知道Apache Bench以及它如何收集数据。我的方法可能会为list.txt中的每一行开始一个新的数据集合,这是你可能不想要的。您必须手动汇总不同运行的结果。
(调试:
for /F %q in (list.txt) DO echo ab -n 1000 https://test.com/search?%q
将在控制台上输出将执行的语句
答案 3 :(得分:1)
如果您准备获取Apache源代码并将http://chrismiles.livejournal.com/21720.html处的补丁移植到当前版本的Apache的ab.c源代码(需要C的一些安慰,但不是很多),您应该得到相同的您的-text
参数在ab中的实际情况(实际上您可以附加到您的请求,这对于您只想改变参数子集的POST进行更新)。
我目前正在尝试这样做,所以陪审团仍然没有......但早期的指标是这种方法很有效。
答案 4 :(得分:0)
我找到了这个SuperBenchmark工具。它位于Dotnet之上,甚至可以在Mac OS或Ubuntu服务器上安装。我将它安装在了后者上。
答案 5 :(得分:-1)
Apache Bench for Multiple URL不适用于长URL。