性能测试关注的核心指标

1. 响应时间(Response Time)​

  • 定义​:从发送请求到接收到响应所花费的时间。
  • 细分指标​:
    • 平均响应时间​:所有请求的平均耗时。
    • P90/P95/P99​:90%、95%、99%的请求的响应时间(反映长尾延迟)。
    • 最大响应时间​:最慢请求的耗时。
  • 意义​:直接影响用户体验,过长可能表明系统存在瓶颈。

2. 吞吐量(Throughput)​

  • 定义​:单位时间内系统处理的请求数量(如:请求数/秒、事务数/秒)。
  • 常见场景​:
    • Web服务:请求数/秒(RPS)。
    • 数据库:事务数/秒(TPS)。
  • 意义​:反映系统的处理能力,与资源利用率直接相关。

3. 并发用户数(Concurrent Users)​

  • 定义​:同时向系统发起请求的用户数量。
  • 注意点​:
    • 并发用户 ≠ 在线用户(活跃用户才产生负载)。
    • 需模拟真实场景(如逐步增加并发数,观察系统表现)。

4. 错误率(Error Rate)​

  • 定义​:失败请求占总请求的百分比(如HTTP 5xx错误、超时等)。
  • 阈值​:通常要求<1%(关键系统可能要求<0.1%)。
  • 意义​:高错误率可能表明系统过载或存在缺陷。

5. 资源利用率

  • CPU使用率​:过高(如持续>80%)可能成为瓶颈。
  • 内存使用​:内存泄漏或不足会导致性能下降。
  • 磁盘I/O​:读写延迟、队列长度(尤其对数据库重要)。
  • 网络带宽​:吞吐量是否受限于网络(如带宽占满)。

6. 可扩展性(Scalability)​

  • 定义​:增加资源(如服务器节点)后,系统性能的提升比例。
  • 测试方法​:通过水平扩展观察吞吐量/响应时间的变化。

7. 稳定性(可靠性)​

  • 长时间测试​(如24小时压测)关注:
    • 内存泄漏:内存是否持续增长。
    • 响应时间波动:是否随时间变慢。
    • 错误率变化:是否随负载累积上升。

8. 数据库相关指标

  • 查询延迟​:SQL平均执行时间。
  • 锁等待时间​:高并发下的锁竞争。
  • 连接池利用率​:连接数是否耗尽。

9. 网络指标(针对分布式系统)​

  • 延迟(Latency)​​:节点间通信耗时。
  • 丢包率​:网络稳定性影响。

10. 其他场景化指标

  • 电商系统​:订单创建耗时、支付成功率。
  • 视频流​:缓冲时间、卡顿率。

如何选择指标?​

  • 业务优先级​:例如,高并发系统更关注吞吐量和错误率。
  • 技术栈​:数据库密集型应用需监控SQL性能。
  • SLA要求​:根据协议定义阈值(如P99响应时间<500ms)。

工具示例

  • JMeter/Gatling​:统计响应时间、吞吐量。
  • Prometheus+Grafana​:监控资源利用率。
  • APM工具​(如SkyWalking):定位代码级瓶颈。

通过综合分析这些指标,可以定位性能瓶颈(如CPU瓶颈、数据库慢查询)并优化系统。

你可能感兴趣的:(测试,oracle,数据库,服务器)