性能测试:jmeter使用学习

Posted by Nefelibata on Mon 2024-04-29 | | about 2 mins
Last Modified on Thu 2024-05-23

1 性能指标

1.1 TPS

TPS (transaction per second) 是服务端每秒处理请求的数量

TPS 最直观的反映了系统的处理能力,是重要的性能指标之一。

1.2 响应时长

响应时长 就是 服务端 处理请求耗费的时间

平均响应时长 就是服务端 处理请求的平均耗费时间。

1.3 并发连接 和 并发用户

并发连接数 是 服务端 和客户端 建立的 TCP连接的数量

并发用户数 是 服务端 同时服务的 用户的数量

用户的一个操作可能引发多个并发连接。

1.4 CPU/内存/磁盘/网络 负载

我们做性能测试时,不能只看 TPS、响应时长 等指标是否达到,也要看被测系统在达到这些指标时,机器本身的负载情况。

所谓负载情况,主要是: CPU占用率, 内存使用,磁盘IO、磁盘使用率。

在性能测试分析时,我们主要关注这两点:

  • 是否接近满负荷
    • 如果在达到这些指标时,机器已经处于满负荷状态:CPU使用率 接近 100%, 内存几乎用光,那也是不行的。 因为随时系统可能出问题。就是说再加点压力,或者再持续一段时间,就很可能出现响应超时甚至响应错误的情况。
  • 是否资源使用持续上升
    • 这点特别体现在 内存使用率 上。
    • 如果系统资源使用图上, 内存使用率是一个斜线不断上升的情况,那么很可能被测系统存在内存泄露。 这样只要再持续一段时间,就很可能出现系统因内存耗尽而奔溃的现象。
    • 出现这样的图表, 就应该添加测试用例,做一个较长时间的性能测试(longevity testing),观查系统的行为。

2 Jmeter工具

JMeter主要用于 服务端系统 的性能测试,主要是接口测试。比如测试 web网站,API服务器 的性能。

Ramp-Up 时间 意思是总耗时,以秒为单位。

循环次数 意思是执行线程组里面定义的动作行为 多少轮 。 缺省就做一轮。

Sampler 取样器 定义一个具体的请求。

测试计划其实就是一个测试用例,对应一个测试场景。

参考:

https://www.byhy.net/etc/loadtest/process/measure/#cp