我正在尝试使用我正在处理的网站的各种基准测试工具,并发现Apache Bench
(ab)是负载测试的绝佳工具。它是一个命令行工具,显然非常容易使用。但是我怀疑它的两个基本标志。我正在阅读的网站上写道:
Suppose we want to see how fast Yahoo can handle 100 requests, with a maximum of 10 requests running concurrently:
ab -n 100 -c 10 http://www.yahoo.com/
以及对标志的解释说明:
Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
-n requests Number of requests to perform
-c concurrency Number of multiple requests to make
我想我无法绕过number of requests to perform
和number of multiple requests to make
。当我像上面的例子一样把它们放在一起时会发生什么?
有人能给我一个更简单的解释,说明这两个旗帜在一起做什么吗?
答案 0 :(得分:1)
在您的示例中,ab将创建10个与yahoo.com的连接,并同时使用每个页面请求页面。
如果省略-c 10 ab将只创建一个连接,并且仅在第一个完成时(当我们下载整个主页时)创建下一个连接。
如果我们假装服务器的响应时间不依赖于它同时处理的请求数量,那么您的示例将比没有-c 10的情况快10倍。
答案 1 :(得分:0)
-n 100 -c 10
表示“一次发出100个请求,10个。”