我正在尝试使用“ab”来加载测试一个网站。我不太明白如何使用它来访问多个URL,循环方式。有什么诀窍吗?我看到有些人用&开头,但这不是我想做的。
gxwragnw1#
ab不能这样做,但是这个github项目可以。https://github.com/philipgloyne/apachebench-for-multi-url
ehxuflar2#
使用Apache Benchmark(AB),不可能从单个示例中命中多个URL。你必须使用多个测试或者使用像JMeter这样的工具来达到你的要求。注:Apache Benchmark不测试图像处理、 AJAX 调用等,而这在真实的场景中可能是您所期望的。
jmp7cifd3#
您可以使用parallel命令同时运行多个ab命令。有关Simon Holywell的更多详细信息
parallel
ab
os8fio9y4#
另一种对多个URL执行基准测试的方法是siege。
# install sudo apt install siege # show config siege -C # show help siege --help
1.创建一个包含URL列表的文件,例如/var/tmp/urls. txt1.跑攻城无并发,运行10个测试:
siege -b -c 1 -r once -i -f /var/tmp/urls_file.txt --no-parser --no-follow
如果只使用一个URL(如ab)运行攻城,可以省略-f参数,并将URL作为参数传递:
siege -b -c 1 -r 10 --no-parser --no-follow "https://example.org"
输出示例:
{ "transactions": 10, "availability": 100.00, "elapsed_time": 3.96, "data_transferred": 0.43, "response_time": 0.40, "transaction_rate": 2.53, "throughput": 0.11, "concurrency": 1.00, "successful_transactions": 0, "failed_transactions": 0, "longest_transaction": 0.43, "shortest_transaction": 0.00 }
选项:
-c
-r
--reps=once
-i
--internet
4条答案
按热度按时间gxwragnw1#
ab不能这样做,但是这个github项目可以。
https://github.com/philipgloyne/apachebench-for-multi-url
ehxuflar2#
使用Apache Benchmark(AB),不可能从单个示例中命中多个URL。
你必须使用多个测试或者使用像JMeter这样的工具来达到你的要求。
注:Apache Benchmark不测试图像处理、 AJAX 调用等,而这在真实的场景中可能是您所期望的。
jmp7cifd3#
您可以使用
parallel
命令同时运行多个ab
命令。有关Simon Holywell的更多详细信息os8fio9y4#
另一种对多个URL执行基准测试的方法是siege。
1.创建一个包含URL列表的文件,例如/var/tmp/urls. txt
1.跑攻城
无并发,运行10个测试:
如果只使用一个URL(如ab)运行攻城,可以省略-f参数,并将URL作为参数传递:
输出示例:
选项:
-c
:并发用户,默认值为10-r
,--重复次数=数量:REPS,运行测试的次数。如果--reps=once
,则每个用户将运行urls.txt文件一次。-i
、--internet
:INTERNET用户模拟,随机点击URL。