性能测试的一些经验值

一般要注意以下的一些点:

1、  压测的客户端与被压的svr端之间采用长连接,否则客户端自己的TIME_WAIT会很多,压不上去的

2、  客户端和svr 关闭掉不需要的流水,或者改为每n次请求写一条,要不io会很高,压不上去的

3、  svr端如果是多进程的话,如果是cpu消耗性的服务,启动34worker进程就可以了

                                                     其他类型的话,worker进程按照业务情况调大(客户端1秒最大并发量=  后端超时时间*woker的进程数)

 

4、  一般cpu压到60%~70%就可以当作满了,一般这个时候就算高负载了,要扩容的

vmstat里的bi bo1w就算比较高了,要注意关闭不必要的读写操作了

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秒的,就写错误日志,频繁出现的话,这个时候服务已经满了

你可能感兴趣的:(性能测试)