利用autobench测试web服务器极限并发数_第1页
利用autobench测试web服务器极限并发数_第2页
利用autobench测试web服务器极限并发数_第3页
利用autobench测试web服务器极限并发数_第4页
利用autobench测试web服务器极限并发数_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用autobench测试web服务器极限并发数一、目的利用autobench工具结合httperf命令对web服务器进行测试,得出该服务器可以承载的最大并发连接数与最佳并发数。二、测试工具工具介绍1、Httperfhttperf是一款高性能的HTTP测试工具,使用它我们可以准确定位服务器的并发连接能力。下面介绍一下它的主要特征(1)可以观察测试客户端(并非被测服务器)在发起压力测试时的负载情况。这样在测试高并发的情况下可以准确的分析问题(。被测服务器无法承载高并发还是测试客户端无法发起过多请求)、(2)支持HTTP/1.1和SSL(3)可以生成可扩展的测试计划下载:http://code.google.eom/p/httperf/downloads/list安装:tarxvzfhttperf-0.9.0.tar.gzcdhttperf-0.9.0#./configuremake&&makeinstall更多的使用方法参见manpage。2、autobenchautobench是一款基于httperf的Perl脚本。它会在一次测试中调用多次httperf来对web服务器进行测试,每次会按照给定的参数增加并发连接数,将httperf的测试结果保存为CSV格式的文件,该文件可以被Excel直接读取,方便生成测试报告。借助于autobench自带的bench2graph工具可以生成漂亮的测试结果对比图,如下:800600200U4-U200018001600140012001000400ExampleBenchmark5001UU0150020002500800600200U4-U200018001600140012001000400ExampleBenchmark5001UU0150020002500min_rep_ratE_teE;thostE_tEsthost:*:max_rep_rate_testhost—stddev_rep_rate_testhost—i—reE;卩」ime」esthost下载:/autobench/downloads/安装:yuminstallgdgnuplotpcrepcre-develtexinfo-ytarzxvfautobench-2.1.2.tar.gzcdautobench-2.1.2make&&makeinstallsed-i's/postscriptcolor/pngxffffff/g'/usr/local/bin/bench2graph(修改bench2graph脚本,否则生成的图像背景有问题)使用方法:参见下文在实际测试中的使用三、测试环境系统环境CentOS5.364bitweb软件环境httpd-2.0.6php5.2.6+eAcceleratorphp-fpm开启20个php-cgi进程nginx-0.7.67在测服务器并发能力时会将apache与nginx对比测试硬件环境CPU::E55042.00GHz内存:1G虚拟机环境四、测试方法1、分别测试静态文件和动态php文件2、静态并发数从50开始,1500结束,增长幅度为50,动态5~100,增幅为53、分别测试apache和nginx的并发能力,二者进行对比4、每次测试进行3次,最终结果求三次平均值5、每进行一次测试后均重启httpd或nginx(php-fpm)服务,释放内存后再进行下一轮测试6、为了减少磁盘IO,均关掉了访问日志1、开始测试(1)静态文件测试命令#autobench--single_host--host1=73--port1=80--uri1=/StyleDefault/IndexImages/logo.gif--quiet--low_rate=50--high_rate=1500--rate_step=50--num_call=1--num_conn=2000--timeout=10--file/tmp/result.tsv测试结果对比分析

测试结果总结:Apache与Nginx在并发50〜1500时表现得都还可以,只不过在并发数达到1500后Apache的响应时间变得很长,由于系统环境的制约,我没有再测试大于1500的并发连接情况,但可以对比看出nginx在1500个并发连接的情况下还能保持较低的响应时间。2)动态文件测试命令#autobench--single_host--host1=73--port1=80--uri1=/User/Register.php--quiet--low_rate=5--high_rate=100--rate_step=5--num_call=1--num_conn=200--timeout=10--file/tmp/nginx_php1.tsv测试结果数据并发连接数nginx实际并发数apache实际并发数nginx应答时间apache应答时间5.05.05.036.036.310.010.010.033.031.715.015.015.035.631.920.019.919.936.832.325.025.025.042.636.230.029.829.745.167.635.034.332.4115.5248.5

40.035.534.9396.8427.345.035.333.4699.0865.850.035.730.5962.31394.055.035.533.31103.91354.760.035.732.91269.21471.365.034.933.51445.81573.670.037.629.71458.02049.575.037.235.91610.11496.880.023.931.21588.21993.385.024.733.21674.91880.290.037.134.51838.61946.095.035.030.32027.42387.2100.035.336.41996.31904.5测试数据测试结果对比图php连接应答时间对比测试总结由上面的报表以及这张曲线图可以看出,无论是apache还是nginx其php并发大于30其响应时间的就会直线上升,nginx略好于apache,因此可以判断这台服务器的php并发极限在30左右,当然这里指的php连接中是没有连接数据库的,也没有加入memcached等缓存机制。

3)高并发下系统资源情况CPU使用情况对比1009080786050403020RpacheandNginHCPUUsage10025B460Nginx—i—时间G)ApacheRpacheandNginHCPUUsage10025B460Nginx—i—时间G)Apache—内存使用情况对比Nginx系统负载对比〔】旺輕曲电3504QQ2010250300280时间(S)ieeisoApache—冥―Nginx系统负载对比〔】旺輕曲电3504QQ2010250300280时间(S)ieeisoApache—冥―30e丸858Nginx350406分析测试结果这也是情理之中的事CPU使用情况这也是情理之中的事在极限并发的情况下apache和nginx都占用很多CPU资源情。nginx略好于apache平均占用90%而apache则在95%左右内存使用情况在内存对比中可以清楚的看到,nginx在极限并发的情况下内存控制得很好,到达一定程度后就不在变化了,而apache则会直线上升负载情况负载情况与内存情况类似,如果高并发时间很长的话apache服务器绝对会挂掉!nginx的负载也很高,但一直保持在10以下,这也和内存占用有关。五、结论利用httperf结合autobench可以很方便的测试出单台服务器的极限并发数,这样对服务器性能评估有很大帮助,借助于autobench的bench2graph脚本可以生成更为直观的对比图针对被测服务器,经过apache与nginx的对比发现,在静态文件的处理方面如果并发小于1500,apache和nginx之间的差距还是很小的。在动态php文件的并发测试中,nginx体现出其强大的性能优势,如果内存足够大,通过调整php-cgi数量,相信可以承载更多的并发连接。六、附录1、问题解决(1)当运行时报如下错误httperf:warning:openfilelimit>FD_SETSIZE;limitingmax.#ofopenfilestoFD_SETSIZE解决方法其意思是说在httperf在发起连接请求时,单个进程已经无法再打开更多的文件描述符。在发起连接请求时httperf使用select()方法使用一个新的文件描述符。因此需要增加文件描述符限制步骤1:编辑/etc/security/limits.conf在最后添加下面两行内容hardnofile102400softnofile102400步骤2:编辑/usr/include/bits/typesizes.h文件修改__FD_S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论