apache的短连接测试方案,供大家学习参考。
使用apache自带的ab工具测试: ./bin/ab -c 100 -n 100000 http://192.168.7.244/
方案1
不使用deflate 不开启time_wait的reuse功能,查看time_wait(netstat -an |grep -i time_wait|wc -l)个数为 17408 ,正好是连接跟踪数据库的最大值(查看连接跟踪数:cat /proc/sys/net/ipv4/ip_conntrack_max),瓶颈在连接跟踪数据库上,故增大连接跟踪数据库到81920,
echo 81920 > /proc/sys/net/ipv4/ip_conntrack_max
那样设置是不会保存的,要重启后保存可以在/etc/sysctl.conf中加:
net.ipv4.ip_conntract_max =81920
执行 sysctl -p
测试结果:出错,不能继续
方案2
继续测试,仍不打开time_wait的reuse功能,
查看当前ip_conntrack
cat /proc/net/ip_conntrack
cat /proc/net/ip_conntrack |wc -l
测试结果:time_wait个数为28120个
Requests per second: 1129.84 [#/sec]
方案3
打开time_wait reuse time_wait
echo 1 >/proc/sys/net/ipv4/tcp_tw_recyle
echo 1 >/proc/sys/net/ipv4/tcp_tw_reuse
那样设置是不会保存的,要重启后保存可以在/etc/sysctl.conf中加
net.ipv4.tcp_tw_recyle=1
net.ipv4.tcp_tw_reuse=1
执行 sysctl -p
测试结果:time_wait个数为623个
Requests per second: 1919.19 [#/sec]