码迷,mamicode.com
首页 > 其他好文 > 详细

压力测试与提升服务器能力的几个方法

时间:2016-05-14 09:04:35      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:压力测试   服务器   聊天室   能力   动态   

一般来说,压力测试用的都是apache软件自带的ab命令,这个命令可以自己手动规定模拟多少个人同时访问目标网址同时这些人访问多少次。ab的格式如下:

#ab -c 1000 -n 50000 http://192.168.1.202/index.html

这句话的意思是模拟3000个用户同时访问192.168.1.202的主页,访问50000次。注意url一定要写全,不可以就写一个192.168.1.202。


但是ab有一点缺憾,那就是只能访问静态网页,如果是动态网页比如是聊天室那种网页就访问不了,这种情况需要搭配shell脚本来搞定。


 ab的结果如下:技术分享

技术分享

这份报告里面显示了 目标服务器软件是1.2.7的nginx,并发1000,请求了50000次,其中50000次请求有3700多个失败了(不算优秀)。总共花了13秒多,一共交换了多少个字节,其中80%的请求反应只花费了100ms,18%的请求响应花费了1秒以上,剩余2%的响应用了3秒。


几个常见的ab压力测试情况

如果服务器这么反应:

技术分享

提示socket打开了太多了文件,也就是说这个服务器有2000个人来同时访问,就会歇菜。那么这个问题就是突破的一个point,如何扩大socket个数?


#ulimit -n 20000,这个命令就把原来默认的1024提升到20000,现在应对2000次并发应该绰绰有余了。



(等待后续)

响应出错太多怎么办?比如这样:



实际并发量不够,比如-c 2000,但是使用/status查看,Active connection 只有700不到:

本文出自 “生活就是等待戈多” 博客,请务必保留此出处http://chenx1242.blog.51cto.com/10430133/1773210

压力测试与提升服务器能力的几个方法

标签:压力测试   服务器   聊天室   能力   动态   

原文地址:http://chenx1242.blog.51cto.com/10430133/1773210

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!