11-CentOS7服务器搭建-ab压力测试

2018-04-24 10:00 阅读

使用apache httd的ab工具可以进行压力测试。-n 2000总的请求数,-c 200是并发数,最高并发数为20000。

ab -n 2000 -c 200 http://localhost/

高并发设置

如果访问服务器的请求和并发量很大(如请求数量超过20万),系统会认为受到了SYN flood攻击,从而采取保护措施。在高并发测试的时候,会出现一下错误:

apr_socket_recv: Connection reset by peer (104)

可以设置内核参数,关闭保护功能

vim /etc/sysctl.conf

增加一下配置:

net.ipv4.tcp_syncookies = 0

让配置生效

sysctl -p

尝试高并发

nginx不愧是性能高手,设置好worker_processes和worker_connections,内核关闭net.ipv4.tcp_syncookies,静态文件可轻松达到20000并发量。

ab -n 200000 -c 20000 http://localhost/

tomcat在开启apr的情况下,静态文件处理能力约为nginx的1/10。还是有很大差距。

高并发带宽

很多客户会要求高并发量,但要支撑高并发有很多限制条件,比如带宽。

假如10000并发量,每秒访问一次,每次请求的文件大小为10KB,则数据量100M,大约需要1000Mbps带宽。而一般服务器有10Mbps已经不错了,通常一个机柜(约20台服务器)共享100Mbps带宽。

10000个人使用,并不代表10000个并发,如果前后错开10秒,相当于1000并发。如果10000个人平均每2分钟点击一次,则平均并发数为100。当然一次点击可能不止一个请求,一个页面可能会包含很多图片、js、css等文件。

咨询
交流群
电话