有人能告诉我如何使用apache bench工具(ab)加载测试我的网站的过程吗?

我想了解以下几点:

网站每分钟能处理多少人?

请引导我通过我应该运行的命令来解决这个问题。

我尝试了每一个教程,它们都令人困惑。


当前回答

在windows上设置Apache Bench(AB)的步骤(IMO -推荐)。 步骤1 -安装Xampp。 步骤2 -打开CMD。 步骤3 -从CMD进入apache bench目的地(cd C:\xampp\apache\bin) 步骤4 -粘贴命令(ab -n 100 -c 10 -k - h "Accept-Encoding: gzip, deflate" http://localhost:yourport/) 第五步——等待时机。你做的

其他回答

请求后负载测试的最佳解决方案之一。点击这里

Apache基准测试工具非常基础,虽然它可以让您对某些性能有一个可靠的了解,但如果您计划让站点在生产中面临严重的压力,那么只依赖它是一个坏主意。

话虽如此,以下是最常见和最简单的参数:

c:(“并发”)。指示有多少客户端(人员/用户)将同时访问站点。当ab运行时,将有-c客户机访问站点。这实际上决定了站点在基准测试期间承受的压力大小。

-n:表示将发出多少请求。这只是决定了基准测试的长度。服务器可以支持的高-n值和-c值是确保在持续压力下不会崩溃的好主意:支持压力5秒和支持压力5小时是不一样的。

-k:这是浏览器的“KeepAlive”功能。您不需要为-k传递一个值,因为它是“布尔”(意思是:它表明您希望您的测试使用来自HTTP的Keep Alive报头并维持连接)。由于浏览器会这样做,而且您可能想要模拟站点将从浏览器获得的压力和流量,因此建议您对此进行基准测试。

最后一个参数就是宿主。默认情况下,如果您没有指定它,它将命中http://协议。

ab -k -c 350 -n 20000 example.com/

通过发出上面的命令,您将同时连接350个http://example.com/,直到满足2万个请求。这将使用keep alive头文件来完成。

在该过程完成2万个请求后,您将收到有关统计数据的反馈。这将告诉您在使用上述参数时,站点在压力下的表现如何。

为了了解站点在同一时间可以处理多少人,只需查看响应时间(平均值,最小和最大响应时间,失败的请求等)是否是站点可以接受的数字(不同的站点可能需要不同的速度)。你可以使用不同的-c值来运行这个工具,直到你说“如果我增加它,它就会开始收到失败的请求并崩溃”。

Depending on your website, you will expect an average number of requests per minute. This varies so much, you won't be able to simulate this with ab. However, think about it this way: If your average user will be hitting 5 requests per minute and the average response time that you find valid is 2 seconds, that means that 10 seconds out of a minute 1 user will be on requests, meaning only 1/6 of the time it will be hitting the site. This also means that if you have 6 users hitting the site with ab simultaneously, you are likely to have 36 users in simulation, even though your concurrency level (-c) is only 6.

这取决于您期望用户使用站点的行为,但是您可以从“我期望用户每分钟命中X个请求,我认为平均响应时间有效,如果是2秒”中得到它。然后修改-c级别,直到达到2秒的平均响应时间(但要确保最大响应时间和stddev仍然有效),然后看看您可以使-c有多大。

仅使用ab对API进行负载测试是不够的。然而,我认为它是一个很好的工具,可以让你对网站的性能有一个基本的了解。

如果你想使用ab命令在后台同时测试多个API端点,使用不同的数据,你需要使用“nohup”命令。即使关闭终端,它也会运行任何命令。

我写了一个简单的脚本,自动化整个过程,请随意使用:http://blog.ikvasnica.com/entry/load-test-multiple-api-endpoints-concurrently-use-this-simple-shell-script

执行步骤: 负载测试命令

步骤1 -安装Xampp。 步骤2 -打开CMD。 步骤3 -从CMD转到Apache工作台目的地(cd C:\xampp\ Apache \bin)。 步骤4—粘贴命令 ab -n 100 -c 10 -k -H "Accept-Encoding: gzip, deflate" http://localhost:port/ 第五步——等待时机。你完成


只有主命令“Get”

ab -k -c 25 -n 2000 http://192.168.1.113:3001/api/v1/filters/3

在windows上设置Apache Bench(AB)的步骤(IMO -推荐)。 步骤1 -安装Xampp。 步骤2 -打开CMD。 步骤3 -从CMD进入apache bench目的地(cd C:\xampp\apache\bin) 步骤4 -粘贴命令(ab -n 100 -c 10 -k - h "Accept-Encoding: gzip, deflate" http://localhost:yourport/) 第五步——等待时机。你做的