怎样分析性能测试结果?

回答·4
最热
最新
  • 在当前各类语言框架、中间件较为成熟的情况下。大部分的性能瓶颈还是出现在编程代码本身的合理性上和部署配置策略上。但一个完整的性能测试需至少做到以下几点 1、首先确保性能测试的策略、模型、场景是合理的,在这个前提下测试结果才算可靠。 2、第二步需要在进行测试前理清楚系统架构、数据流向以及所经过的节点,对节点进行监控。这样做的目的是为了更方便进行问题快速定位 3、在进行测试后根据测试结果表现,再定位瓶颈细化到上一步步骤所监控的节点。针对性的分析和优化而不是对测试最终结果进行猜测
  • 我一般是根据服务器资源的监控结果进行性能瓶颈的定位: 比如 top 命令看到负载长期大于 cpu 个数的 2.8 倍,或者 us+sy 高于运维给出的指标,或者 vmstat 中 process 区的 r 列长期大于 cpu 个数,这些都说明 cpu 不够用; 内存方面我会先看 top 命令下 swap 行的 used 值是否过高,然后结合 vmstat 命令的 swapd 区中的 si 和 so,如果 si 和 so 长期不为 0,说明系统内存不足 磁盘我会结合 vmstat 命令中的 io 区域的 bi+bo 值和 iostat 命令中的 util%值进行判断,如果 bi+bo 长期大于 1000,或者 util%值接近于 100%,说明磁盘过于忙碌,可能需要减少不必要的读写或者更换更好的磁盘 网络方面我是根据 iftop 命令去查看 peak 列的 total 值,只要不超出运维给的指标即可
  • 要分析性能测试的结果,需要进行以下步骤: 数据收集:收集测试过程中的所有数据,包括响应时间、吞吐量、错误率等。 数据整理:对收集到的数据进行整理,例如计算平均值、中位数、标准差等统计指标。 数据分析:根据整理后的数据进行分析,例如查看哪些请求响应时间较慢、哪些接口负载较高等。 发现问题:根据数据分析的结果,发现性能测试中存在的问题,例如系统响应时间过长、服务器负载过高等。 解决问题:根据发现的问题制定相应的解决方案,并进行优化。 重新测试:优化后进行性能测试,以验证问题是否已经解决。 监测和维护:维护和监测系统的性能,定期进行性能测试,及时发现和解决问题,保证系统稳定和高效运行。
  • 1.查看聚合报告和服务器的资源使用图,检查响应时间,事务成功率,CPU,内存和 IO 使用率是否达到要求,如果出错率达到了总请求的 3%,我们会检查是什么原因导致的,修改好后,重新测试; 2.如果出现了性能瓶颈,比如响应时间,或者 CPU 使用率不达标,我们会从服务器上导出日志,分析是哪个地方导致响应时间过长,如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给代发修复,修复好了就进行回归测试。