利用Apache Bench测试主机性能

Apache Bench是Apache自带的压力测试工具,选购主机的时候,可以利用该工具模拟网站的连接数,测试在高访问量下,服务器的相应速度。

这个工具返回的最有用的信息就是服务器每秒能够处理的请求次数(RPS),不过由于测试的页面不同,RPS相差会很大,静态页面的RPS大于动态页面,页面体积越小,RPS越大。所以,RPS是相对的,在选择主机的时候,可以使用同一个页面进行测试,这样得到的数据相对来说更有可比性。

Apache Bench使用方法

我们在测试主机性能的时候,用到最多的就是并发和请求,如果需要更复杂的性能测试,可以参考Apache Bench官方的使用说明。

语法:

ab -n 1000 -c 10 http://127.0.0.1/index.php

-n:用来指定请求数,-n 1000 表示发送1000个请求

-c:用来指定并发数,-c 10 表示10个并发

结果:

apache bench

在“Failed requests”为0的情况下,逐渐增加-c的值,测试主机的RPS和响应时间。最后的“ Percentage of the requests served within a certain time (ms)”表示50%的连接在48ms内得到响应。

在测试的过程中,自己也打开该网站,体验一下在高负载下的相应速度。

测试注意事项:

1、不要一下子就把并发设置为100,这样的后果类似DDos。并发最大为1024,否则会出现“socket: Too many open files (24)”错误。

2、建议在本地(SSH登录到服务器上,测试在同一台服务器上的网站,或者测试同一个局域网中的网站)进行测试,这样会排除带宽带来的干扰。

Apache Bench官方介绍:http://httpd.apache.org/docs/2.2/programs/ab.html