- 企业性能测试:体系构建、落地指导与案例解读
- 国际软件测试资质认证委员会中国分会等
- 958字
- 2023-08-28 19:58:00
1.6 常见的性能效率失效模式及原因
在动态测试过程中可以发现许多不同的性能效率失效模式,以下是一些常见故障(包括系统崩溃)的示例及其典型原因。
1.在所有负载水平下响应缓慢
在某些情况下,无论负载如何,系统响应速度都慢到不可被用户接受。这可能是由底层性能问题引起的,包括但不限于糟糕的数据库设计或实施、网络延迟和其他后台负载问题。这些问题可以在功能性和易用性测试中被发现,而不仅是在性能测试中,因此测试分析师应密切关注并报告它们。
2.中高负载下反应缓慢
在某些情况下,即使负载完全在正常、预期和允许的范围内,系统响应速度仍会随着负载从中度到重度的变化而降低,这是不可令人接受的。原因可能是存在一个或多个资源饱和以及后台负载变化等潜在缺陷。
3.随着时间的推移,响应降低
在某些情况下,随着时间的推移,系统响应速度会逐渐或快速降低。根本原因包括内存泄漏、磁盘碎片增加、随时间增加的网络负载、文件存储量增长以及意外的数据库存储量增长。
4.高负载或超高负载下出错处理不充分或粗暴
在某些情况下,系统的响应速度是可以令人接受的,但其出错处理的性能效率在高负载和超出极限负载水平时会下降。导致这种情况的系统潜在缺陷包括资源池不足、队列和堆栈太小以及超时设置太快。上述常见潜在缺陷的具体示例如下。
❑提供公司服务信息的Web应用程序在7秒内未响应用户请求(其中7秒为一般行业经验),即系统在特定的负载条件下无法达到要求的性能效率。
❑在突然出现大量用户请求时(例如重大体育赛事的门票销售)系统崩溃或无法响应用户输入,这是因为系统处理用户请求的容量不足。
❑当用户提交对大量数据的请求时(例如在网站上发布一份大型而重要的报告以供下载),系统响应会显著降低,这是因为系统处理数据的容量不足。
❑系统在在线处理之前无法完成应该完成的批处理,或对批处理的执行无法在允许时间段内完成。
❑当并行进程对动态内存产生巨大需求而内存无法及时释放时,实时系统会耗尽内存,这可能是因为系统的内存容量不够,或者内存请求的处理优先级设置不当。
❑如果向实时系统组件B提供输入的实时系统组件A无法按要求的速率计算更新,则可能使整个系统无法及时响应而出现故障。面对这种情况,必须评估和修改组件A中的代码模块,即进行性能分析,以确保能够达到要求的更新率。
[1] System and Software Quality Requirements and Evaluation,即系统与软件质量要求和评价。