在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
在用户场景不确定的情况下,我们为了保障软件的正常运行就必须对软件的性能进行测试。下面我们一起来看看在软件测试中常见的性能问题,希望大家可以通过这七个比较典型的案例分析,充分掌握各种性能问题的解决方法。
案例一:某次压力测试,系统CPU等指标较正常,但偶发间断时间请求耗时特别高
|[Full GC (Ergonomics) [PSYoungGen: 944K-> 890K(2048K)]
[ParOldGen: 7129K-> 7129K(7168K)18074K->8019K(9216K),
[Metaspace: 3357K-> 3357K(1056768K0], 0.1213761 secs| [Times:
user=2 sys=0.00, real=2 secs]
JVMGC问题:
Full GC Stop the world
减少FullGC时间,老年代降低
案例二:某次压力测试,php 程序, php-fpm内存增长,OOM导致服务挂掉。
排查原因,使用了某第三方so插件做JSON解析,但第三方so插件有内存泄漏问题。
Max-request, fast-cgi 固定请求数后重启。
案例三:某次压力测试,同样并发TPS,但前期性能良好,后期数据库CPU飙升
压测会产生大量级的数据,数据增长会带来性能的损耗
压测数据不合理,导致统一设备 关联多个用户,服务端不做限制的in查询
不合理分页,未做页数limit,导致将数据库新增数据全部查询
案例四:某次稳定性测试,如果HTTP入口流量仅百QPS,但下游RPC服务打挂。
商户列表,For 循环调用下游解决,导致请求数百倍扩大。
使用Batch接口减轻压力,Batch 接口可能带来的功能隐患。
案例五:某次稳定性测试,大并发TPS,前期性能良好,分片缓存,在模拟缓存单点失效后大量数据库穿透。
缓存不合理的分片策略,使用除模方式。导致大量缓存统-一时间失效。
不合理的负载均衡算法也会有类似问题。
一致性Hash解决缓存问题。
案例六:某次压力测试,服务端CPU飙升打满。CPU计算型
Top -H -P pid
Pstack pid
Trace -p pid
代码逻辑问题:
同步解析接口,使用正则方式匹配返回内容,但由于返回内容过大,导致CPU飙升。正则,大数据的JSON序列化反序列化。
另外死锁问题也可以通过类似方式调优CPU不高,但服务响应耗时高,请求堆积。
案例七:某次压力测试,CPU/内存/网络 等指标表现良好,但响应耗时非常久。
监控查看磁盘I0异常,追查发现日志级别设置为Debug,大量日志打印拖累性能。
同步日志,可能是潜在的性能杀手。
以上就是软件测试常见性能问题的案例分析,大家都能够解决了吗?如果对于软件测试还有深入学习的兴趣,不妨上博学谷官网,体验一下软件测试就业班的免费课程!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
关于软件测试的基础认知分享
软件测试是目前互联网产品研发的一个重要环节,在产品上线前进行测试,从而减少上线后纠错和不必要的损失。对于还没有接触过软件测试领域的小伙伴来说,首先要了解软件测试的理论知识,这样在未来学习软件测试的过程中才能更好的把握核心。下面为大家分享关于软件测试的基础认知内容。
7028
2019-08-09 18:03:54
零基础小白软件测试入门教程
零基础小白在软件测试入门的时候,往往会感到十分的迷茫,不知道从哪里开始学习。因此小编为软件测试初学者,准备了一份软件测试入门教程。该教程内容包括,软件测试是什么,要学什么,怎么学三大主题,旨在帮助大家从入门到精通软件测试。
6280
2019-08-28 15:13:36
软件测试流程之压力测试步骤分析
在软件测试的流程中,其中有一步是进行压力测试。所谓压力测试就是让被测试的系统,在访问的压力下还能不能稳定运行。举个例子,让一万的用户同时访问一个网站,看看网站是否会崩溃或是变慢,这就是在进行压力测试。那么压力测试到底是怎么运行的呢?本文就来详细为大家分析压力测试步骤。
10768
2019-09-24 14:51:20
软件测试的类型有哪些?
软件测试的类型有哪些?软件测试的类型包括数据和数据库完整性测试、白盒测试、功能测试、UI测试、性能测试、安全性和访问控制测试、故障转移和恢复测试、配置测试等。软件测试的工作是发现问题并整理报告上交,提交给开发工程师确认对软件进行Bug修复,软件测保障了产品的完整性减少上线后的各种问题。
7710
2019-10-24 14:42:15
软件测试员学习Python看什么书比较好?
对于软件测试员来说,掌握一门编程语言虽然不是必须的,但绝对是一个职业发展的重要加分项。而简单易学、便捷好用的Python绝对是每一个软件测试员的不二选择!那么问题来了,软件测试员学习Python看什么书比较好呢?下面给大家介绍一下书籍《Python 接口自动化测试》。
4545
2020-06-22 19:04:58