测试工具有多种,比较常用的是ab和webbench。
工具的使用比较简单
webbench -c 并发数 -t 时间秒 “要打压网站的URL”
ab -c 并发数 -n 请求总数 "要打压网站的URL"
另外,ab可以加 -k 参数keepalive 保持长链接 -r 参数出错不返回。
另外用evhtp库写的单线程服务器,并发不高有可能是用evhtp_bind_socket函数绑定套接字的时候最后一个参数太小了,最后一个参数表示可用的套接字数,决定了并发数
ab打压时有时会出现Connection reset by peer ,搜索原因多半是说ab自身问题要改代码,其实与ab无关,原因有两个
1、服务器并发太少,通过增加服务器的可用套接字能解决。
2、本地的TIME_WAIT太多,可以用 netstat |grep TIME_WAIT | wc -l 命令看一下有多少TIME_WAIT,太多的话可以等系统降降温。