任何人都知道像“Apache Bench”这样的负载测试工具来发送可变 URL。(相同的服务器,但不同的查询字符串)
例如,
ab -text list.txt -n 1000 http://test.com/search?
列表.txt
name=abc&age=10
name=pqr&age=20
anything=anything&age=30
......
注意:实际上apache bench中没有这样的选项-text
任何人都知道像“Apache Bench”这样的负载测试工具来发送可变 URL。(相同的服务器,但不同的查询字符串)
例如,
ab -text list.txt -n 1000 http://test.com/search?
列表.txt
name=abc&age=10
name=pqr&age=20
anything=anything&age=30
......
注意:实际上apache bench中没有这样的选项-text
尝试围攻,因为它提供了您需要的东西。您可以创建使用类似 bash 的参数的 url 文件,这样您就不必重复自己了。它还支持基本身份验证、POST、登录 url 等等。
siege -f urls.txt
网址.txt:
URL=https://www.example.com/
$(URL)index.php?ab=1
$(URL)site.php?different=12
你可以在这里找到更多:http: //www.joedog.org/siege-home/
您可以将以下项目 apachebench 用于多个 url Apache Bench for Multiple URL
支持 ApacheBench 的多 URL 请求。您可以将 URL 列表设置为“-L 文件名”,并确认每个请求的文档长度的响应。
从 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
这将在控制台上输出将要执行的语句)
如果您准备获取 Apache 源代码并将http://chrismiles.livejournal.com/21720.html上的补丁移植到 Apache 的 ab.c 源的当前版本(需要一些 C 的舒适度,但不多),您应该-text
在 ab 中获得与您的参数等效的参数(实际上,您可以附加到您的请求中,这对于您只想更改参数子集的基准 POST 很有用)。
我目前正在自己尝试这个,所以陪审团还在外面......但早期的迹象表明这种方法效果很好。
我找到了这个 SuperBenchmark 工具。它位于 Dotnet 之上,甚至可以安装在 Mac OS 或 Ubuntu 服务器上。我将它安装在后一个上。
Apache Bench for Multiple URL 不适用于长 URL。