今天给新来的人说了一下压力测试的一些注意点
顺便贴到这里,分享一下,偶们的系统是linux下的多进程svr
一般要注意以下的一些点:
1、 压测的客户端与被压的svr端之间采用长连接,否则客户端自己的TIME_WAIT会很多,压不上去的
2、 客户端和svr端 关闭掉不需要的流水,或者改为每n次请求写一条,要不io会很高,压不上去的
3、 svr端如果是多进程的话,如果是cpu消耗性的服务,启动3到4个worker进程就可以了
其他类型的话,worker进程按照业务情况调大(客户端1秒最大并发量= 后端超时时间*woker的进程数)
4、 一般cpu压到60%~70%就可以当作满了,一般这个时候就算高负载了,要扩容的
vmstat里的bi bo过1w就算比较高了,要注意关闭不必要的读写操作了
cs 2w以上就很高了,说明切换很频繁了,进程数要调低了
top关注一下内存的使用情况,压到一定程度内存应该不会再增加了,要不,应该就是有内存泄漏了
还有就是socket的句柄情况了:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 看一下消耗,TIME_WAIT超过1w,说明短连接已经到瓶颈了
5、 svr端写一些流水,当耗时超过500秒的,就写错误日志,频繁出现的话,这个时候服务已经满了
阅读(2428) | 评论(0) | 转发(0) |