用于变量URL的Http负载测试工具

时间:2012-01-12 10:41:50

标签: apachebench

任何人都知道像“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

6 个答案:

答案 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服务器上安装。我将它安装在了后者上。

https://github.com/aliostad/SuperBenchmarker

答案 5 :(得分:-1)

Apache Bench for Multiple URL不适用于长URL。