有没有人可以教我如何使用以下工具对我的网站进行加载测试
apache工作台工具
(
)?
我想知道以下几点:
站点每分钟可以处理多少人?
请告诉我我应该运行哪些命令来解决这个问题。
我尝试了所有的教程,但它们都令人困惑。
发布于 2012-10-05 01:19:11
apache benchmark工具非常基础,虽然它可以让您对一些性能有一个坚实的了解,
如果你打算让你的网站在生产过程中暴露在严重的压力之下,那么只依赖它是一个坏主意。
话虽如此,下面是最常见和最简单的参数:
:(“并发”)。指示将同时访问该站点的客户端(人员/用户)数量。而
运行,将会有
客户访问网站。这实际上决定了您的站点在基准测试期间将遭受的压力。
:表示要发出多少个请求。这决定了基准的长度。高
值与
您的服务器可以支持的值是一个好主意,以确保在持续的压力下不会崩溃:支持5秒的压力与支持5小时的压力是不同的。
:这就是"KeepAlive“功能浏览器的本质。您不需要将值传递给
因为它是“布尔型”的(意思是:它表明您希望测试使用来自HTTP的Keep Alive报头并保持连接)。由于浏览器可以做到这一点,并且您可能想要模拟来自浏览器的站点的压力和流量,因此建议您对此进行基准测试。
最后一个参数很简单,就是主机。默认情况下,如果您不指定它,它将命中http:// protocol。
ab -k -c 350 -n 20000 example.com/通过发出上面的命令,您将会遇到
http://example.com/
350个同时连接,直到满足20000个请求。这将使用keep alive标头来完成。
在该过程完成20000个请求后,您将收到统计信息的反馈。这将告诉你在使用上面的参数时,网站在你施加的压力下表现得有多好。
为了找出站点可以同时处理多少人,只需查看响应时间(平均、最小和最大响应时间、失败的请求等)是否是您的站点可以接受的数字(不同的站点可能需要不同的速度)。你可以用不同的-c值运行这个工具,直到你说“如果我增加它,它开始收到失败的请求,它就会崩溃”。
根据您的网站,您预计每分钟的平均请求数。这个变化太大了,你不能用ab来模拟。但是,这样想:如果您的平均用户每分钟将点击5个请求,并且您发现有效的平均响应时间是2秒,这意味着每分钟1个用户中有10秒是在请求上,这意味着它访问站点的时间只有1/6。这也意味着,如果有6个用户同时使用ab访问站点,那么很可能有36个用户在模拟中,即使你的并发级别(-c)只有6。
这取决于您对使用站点的用户的预期行为,但您可以从“我期望我的用户每分钟达到X个请求,如果是2秒,我认为平均响应时间是有效的”中获得它。然后,只需修改您的-c级别,直到达到2秒的平均响应时间(但确保最大响应时间和stddev仍然有效),并查看您可以将-c设置为多大。
我希望我已经解释清楚了:)祝你好运
发布于 2014-08-23 02:59:21
请告诉我我应该运行哪些命令来解决这个问题。
您能做的最简单的测试是执行1000个请求,每次10个(在整个测试过程中,这大约模拟了10个并发用户,每个用户获得100个页面)。
ab -n 1000 -c 10 -k -H "Accept-Encoding: gzip, deflate" http://www.example.com/要发出的请求数。
告诉AB一次做10个请求,而不是一次做一个请求,以更好地模拟并发访问者(而不是顺序访问者)。
发送
标头,它要求web服务器在每个请求完成后不要关闭连接,而是继续重用它。
我还发送了额外的报头
因为模式
_
deflate几乎总是被用来压缩文本/html输出的25%-75% -它的影响不应该因为它对web服务器的整体性能的影响而被忽视(例如,可以在相同的时间内传输2倍的数据,等等)。
结果:
Benchmarking www.example.com (be patient)
Completed 100 requests
...
Finished 1000 requests
Server Software: Apache/2.4.10
Server Hostname: www.example.com
Server Port: 80
Document Path: /
Document Length: 428 bytes
Concurrency Level: 10
Time taken for tests: 1.420 seconds
Complete requests: 1000
Failed requests: 0
Keep-Alive requests: 995
Total transferred: 723778 bytes
HTML transferred: 428000 bytes
Requests per second: 704.23 [#/sec] (mean)
Time per request: 14.200 [ms] (mean)
Time per request: 1.420 [ms] (mean, across all concurrent requests)
Transfer rate: 497.76 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 5 14 7.5 12 77
Waiting: 5 14 7.5 12 77
Total: 5 14 7.5 12 77
Percentage of the requests served within a certain time (ms)
50% 12
66% 14
75% 15
80% 16
90% 24
95% 29
98% 36
99% 41
100% 77 (longest request)要获得最简单的解释,请忽略除下面这一行之外的所有内容:
Requests per second: 704.23 [#/sec] (mean)再乘以60,你就得到了每分钟的请求数。
为了得到真实的结果,你需要测试Wordpress,而不是一些静态的超文本标记语言或者index.php文件,因为你需要知道所有东西是如何协同工作的:包括复杂的MySQL代码和多个PHP查询……
例如,下面是在相同的系统和WAMP环境(我使用的是WampDeveloper,但也有Xampp、WampServer等)上测试新安装的Wordpress的结果……
Requests per second: 18.68 [#/sec] (mean)现在慢了37倍!
在负载测试之后,您可以做许多事情来提高整体性能(每秒的请求数),还可以使web服务器在更大的负载下更稳定(例如,增加
和
倾向于使Apache崩溃),你可以在这里读到:
使用AB对Apache进行负载测试(Apache Bench)
发布于 2017-03-23 18:33:10
在windows上设置Apache Bench(AB)的步骤(IMO -推荐)。
步骤1-安装Xampp。
第2步-打开CMD。
第3步-转到apache bench目的地(
)来自CMD
步骤4-粘贴命令(
)
步骤5-等待它。你的任务完成了
https://stackoverflow.com/questions/12732182
复制相似问题