如何利用ApacheBench进行服务器压力测试
Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便。
工具/原料
Apache
方法/步骤
打开Apache服务器的安装路径,在bin目录中有一个abexe的可执行程序,就是我们要介绍的压力测试工具。
在Windows系统的命令行下,进入abexe程序所在目录,执行abexe程序。注意直接双击无法正确运行。
执行ab命令成功后,可以看到如图提示。该帮助很清楚详细的介绍了ab的用法以及各个参数的含义。
ab 的用法是:ab [options] [http://]hostname[:port]/path
例如:ab -n 5000 -c 200 http://localhost/indexphp
上例表示总共访问http://localhost/indexphp这个脚本5000次,200并发同时执行。
ab常用参数的介绍:
-n :总共的请求执行数,缺省是1;
-c: 并发数,缺省是1;
-t:测试所进行的总时间,秒为单位,缺省50000s
-p:POST时的数据文件
-w: 以HTML表的格式输出结果
执行测试用例:ab -n 1000 -c 100 -w http://localhost/indexphp >>c:\1html
上面的测试用例表示100并发的情况下,共测试访问indexphp脚本1000次,并将测试结果保存到c:\1html文件中。
测试报告如图,可知在该100并发访问的情况下,共测试访问1000次,失败了852次。可知该脚本在此环境无法满足100并发访问的要求。
修改参数继续测试。测试并发50和30两种情况,由测试报告得知,在并发访问降到30时,错误的访问数降为39。
步骤阅读
网站服务器的压力测试我觉得主要有一些几点。
1协议这边基本上以http或者https为主了,如果使用其他协议需要分析其打解包的方法。
2要产生一定的压力,压力源这边一定要有保证。一般都是用机器人来模拟压力,关于机器人的逻辑可以根据具体业务来开发。
3需要观察在一定压力下,服务器的各项性能指标(cpu,内存,IO,网络流量)进行观察,比如内存是否有泄漏,cpu利用率过高的情况。
4压力测试应该是一个持续性的过程,在这个过程中需要统计服务器的性能数据,包括tps,以及机器的负载情况等。据此可以分析服务器的瓶颈在何处,后续可以针对优化。
5目前大部分的服务器都部署在Linux系统上,测试同学还需要掌握相关的Linux命令以便可以更好的测试。
如果你觉得前面的太麻烦,可以来WeTest服务器压力测试高并发,实时性能报表,专家级性能优化建议,目前我们正在做网站压测这一块,你要做的仅仅是填下被测的URL即可,压力源、数据统计这些琐碎的工作交给我们就行了。
性能测试就是压力测试,手机方面的其实和PC方面的差距不大,重点就是大量手机调用接口对服务器的压力,所以测试的重点还是在服务器上,你可以用Jmeter模拟接口报文,来并发压服务器,看服务器的响应和处理能力。单个手机毕竟是一个人在用,所以一般不用关心手机端的问题。手机端主要的就是功能没什么问题,只要app玩着玩着不要崩溃掉就行了
0条评论