一、背景
公司某个系统的微信端计划将开放给几百上千的人员登录查询,并且登录账号为同一账号多人使用。后台服务能够支撑起多用户的并发操作以及成百上千人登录微信端对生产数据库或者登录查询的性能效率高成为交付可靠生产环境的必要条件。因此,项目组决定提交测试,由测试人员通过自动化方式模拟并发场景,以验证程序的可靠性。
二、问题点描述
测试初期,随着时间的推移,Loadrunner客户端不断出现事务通过率下降的情况,或因为连接不上服务端,或因为连接超时:
现象1:大用户并发一段时间后服务器吞吐率降到0,而后所有请求出现无法连接到服务器。
现象2:根据目标1000个并发请求进行结果验证,吞吐量在运行一段时间后,有下降趋势,最后服务端支撑不起:若干请求 failed to connected to server ,若干请求connect timed out。
这些现象都直接说明了系统服务端暂无法支撑起大并发用户的访问。
三、思路和方法
我们需要进一步移位到服务端(Linux-tomcat服务器),通过性能分析手段来分析问题,并根据定位出的具体问题,来展开调优手段解决问题,主要的分析工具有:
1.Linux-top命令
2.Jstack工具
Jstack,这是一个在JDK5开始提供的内置工具,可以打印指定进程中线程运行的状态,包括线程数量、是否存在死锁、资源竞争情况和线程的状态等等。
以及,如netstat -anp|grep 端口号|wc -l?查询http连接数、查询数据库连接数,Ps -LF pid 查询线程情况,ps -eLo pid,stat|grep 20017|grep Sl|wc -l查询线程S1状态个数等等其他Linux命令了解当前当前服务器运行情况。
本文节选自第七十五期《51测试天地》
《Loadrunner性能分析与实战》一文
想继续阅读全文或查看更多精彩内容,请点击下载: