门禁性能测试总结
作者:scale_ee 发布时间:[ 2017/6/26 9:55:57 ] 推荐标签:软件测试 性能测试
一、测试服务器:
linux centos 8G内存 4核
二、测试场景:
1、内部测试环境:进入门列表,开门(由于开门是调用第三方接口,开门屏蔽了第三方门禁,做了一个假接口测试)
1)100个用户 1S上1vuser 5 min 30 min
2)200个用户 1S上1vuser 5 min 30 min
3)500个用户 1S上1vuser 5 min 30 min
1-1:测试情况:
1)响应时间平均在10s,事务通过率为99.9%,CPU高大60%,内存变化不大,未压测时程序占用内存已有5g。
2)响应时间平均在20s,事务通过率为88%,CPU高60%,内存5g-6g,事务失败原因是connect timeout
3)由于场景2出现大量connect timeout,调整一下lr的连接数和加多了一台压力测试负载机子,场景3依然出现大量connet timeout,内存占用达到90%,内存占用较大,但是场景2的事务通过率可大99%在调整后。
4)同时使用top命令观察到java占用占用内存一直没有释放(后观察)
1-2:测试结论:
该系统占用内存较大,且java程序占用的内存没有释放。
问题定位,向运营申请将系统内存降为4g,再进行压力测试,测试结果,该系统本身内存占用3g多,虽然内存不挺增加,但是系统并没有挂掉。
2、uat测试环境: 进入门列表,真实调用第三方接口
1)100个用户 1S上1vuser 5 min 30 min
2)200个用户 1S上1vuser 5 min 30 min
3)500个用户 1S上1vuser 5 min 30 min
备注:根据实际测试情况调整并发用户数
2-1测试情况:
1)场景1压力上到100vuser时,系统挂掉,提示502bad gayway,503不能访问
观察内存占用较大,
二、问题定位
压测真实的门禁接口,未上到100时挂掉,可以确认问题性能瓶颈在调用第三方接口,预估是在webservice请求第三方接口,太多的请求和保持导致线程和内存无法承受。
方法:对第三方的webservice请求中每个请求都独立建立链接,吧webservice的请求做成连接池的形式。
三、调优
开发将门禁系统独立系统做成阿里云LBS负载均衡.3.5两台机子 内存分别为8g
四、压测
压测100vuser用户未挂,压测到200vuser挂掉了,内存占用分别都是4g左右,但是java占用的内存一直没有释放,问题定位是tomcat内存,下载jvm直接监控,发现内存一直蹦高,且未释放。(jvm机制内存使用达到多少会自动释放已停用的线程)
五、调优
tomcat大permgium由原来的502栈内存调高为1048g;清除系统缓存数据
六、压测
压测200没有挂掉,有台机子的内存可达95%,依然存在风险,但200vuser持续运行0.5h,系统并无发生崩溃。
测试监控使用zabbix。
七、调优措施:
1)tomcat内存加大 2)加上开门列表缓存机制 3)负载均衡 4)定期清缓存
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11