apache 使用ab对多个URL进行基准测试

taor4pac  于 2022-11-16  发布在  Apache
关注(0)|答案(4)|浏览(240)

我正在尝试使用“ab”来加载测试一个网站。我不太明白如何使用它来访问多个URL,循环方式。有什么诀窍吗?
我看到有些人用&开头,但这不是我想做的。

ehxuflar

ehxuflar2#

使用Apache Benchmark(AB),不可能从单个示例中命中多个URL。
你必须使用多个测试或者使用像JMeter这样的工具来达到你的要求。
注:Apache Benchmark不测试图像处理、 AJAX 调用等,而这在真实的场景中可能是您所期望的。

jmp7cifd

jmp7cifd3#

您可以使用parallel命令同时运行多个ab命令。有关Simon Holywell的更多详细信息

os8fio9y

os8fio9y4#

另一种对多个URL执行基准测试的方法是siege

# install
sudo apt install siege

# show config
siege -C

# show help
siege --help

1.创建一个包含URL列表的文件,例如/var/tmp/urls. txt
1.跑攻城
无并发,运行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:并发用户,默认值为10
  • -r,--重复次数=数量:REPS,运行测试的次数。如果--reps=once,则每个用户将运行urls.txt文件一次。
  • -i--internet:INTERNET用户模拟,随机点击URL。

相关问题