安装方法
1、安装YUM-EPEL源
HTTP-Tools软件包由YUM-EPEL源提供, 用默认的yum安装。
[root@localhost ~]# yum -y install epel-release.noarch
2、安装HTTPD-Tools
先说一下centOS的yum安装:
[root@localhost ~]# yum -y install httpd-tools
如果是Debian或者Ubuntu系统的apt包get安装呢?
apt-get install apache2-utils
3、建议调整系统限制
系统默认情况下允许一个进程同时打开的文件描述符数量是1024,若我们需要进行超过1024并发测试的话,可能需要调高此值,客户端和服务端都需要调整。
[root@localhost ~]# ulimit -n 65535 # 设置进程并发文件数(当前生效) [root@localhost ~]# vim /etc/security/limits.conf # 设置进程并发文件数(永久生效) # 用户 软硬限制 限制类型 值 root soft nofile 65535 root hard nofile 65535 * soft nofile 65535 * hard nofile 65535 # * 表示所有用户。 # soft 软限制,当用户使用超出设定值系统会发出告警。 # hard 硬限制,绝对限制,用户使用绝对不能超出设置的值。 # nofile 限制类型,进程可同时打开的并发文件描述符数量。 [root@localhost ~]# ulimit -n 65535
测试方法
我们在进行压力测试的时候应合理的从小到大一段一段测试WEB服务器负载,并通过压力测试了解WEB服务器的资源瓶颈,根据业务需求合理的采购服务器。
[root@localhost ~]# ab -c 100 -n 1000 https://www.baidu.com/
有一些人会发现测试一些大站,时间久了全是4xx/5xx返回码,各种请求不成功,这里说一下人为因素,ab测试工具也并非百试百灵,因为各个公司的运维人员对请求的过滤都有一定的规则,中间也有防火墙自动化安全机制的参与。自测的话,先把站点的相关安全机制调整一下才能得到相对可靠的测试结果。
常用参数说明
-c 并发量
-n 总请求量
-k 如果想对服务器发送携带keep-alive请求的, 就单独追加一个
-t 超时时间,单位“秒”,这里不想啰嗦太多,如果不想一次测试等太久,就把这个参数设定上,例如-t 10意味着10秒就结束测试
-q 代表不想看啰嗦的报告,超过150个以上的连接测试就忽略掉
市面上一般的动态网站秒并发负载能力也就5~40次/秒, 能达到40就算不错的水平了。优秀的程序员团队能写出100以上的秒级并发动态页面。补充一句也许会把你惹怒到要拍我的话:这个和使用哪种语言关系不大。