压测webserver接口-数据库测试
1、压到1000并发时,应用服务器报两个错误,并且伴随着并发数的不断降低
具体错误如下
2、解决应用服务器报错方法
修改数据库的连接池,如图
修改jvm内存参数,如图:
修改监听请求的线程数,如图:
--以上调优的连接数都是为了解决jdbc连接数不够的情况
把句柄从1024-->修改为865535
参考资料:https://blog.51cto.com/12824426/2060594
--以上调优解决的是too many open file错误
|--以上两个调优解决了应用服务器报的错
3、解决并发数不断降低,断掉的错误方法,即:1000并发掉到800,600
导致的原因:
1>.脚本请求的时间太快,需要引入思考时间:200ms,
2>.负载太大并且tps随着并发数的增加也不会增长,故增加负载机
解决方法:
1、在压测时不断监控windows负载机的端口连接数:终端输入:netstat -ano|find /i /c "TIME"
检测发现,只要端口连接数达不到5w,基本不会往下掉并发数,只要达到window的端口做大限制,就会往下掉
====================================
并发数为1200时,出现并发数急聚下降
分析原因:
1、单台负载机所能支撑的最大tps是2184
端口:2^16=65536—>端口是2个字节,则共有65536个端口
最大tps:65536/30=2184—>负载机的time-wait默认为30秒,即:每30s复用一个端口。所以由此可以得出单台负载机所能达到的最大tps为2184
2、通过上面的数据可以得知,1200并发所消耗的端口已经突破两台负载机的最大端口数,故出现并发数急聚下降,需增加负载机
======================
结论:
发现单台负载机tps在一定瓶颈时,就要考虑端口是否够用,然后就需要进行加负载机,来使tps提高
原文地址:https://www.cnblogs.com/frankruby/p/10695419.html