Jmeter

#todo/note

最经典的工具:Jumeter

Win选择zip压缩包即可
image.png
解压放到合适的目录,在bin目录下找到bat脚本双击启动
image.png
下面有一个名为jmeter.propertites的配置文件,可以修改启动时的默认参数,比如语言设置
修改为zh_CN,记得把注释打开
image.png

新建测试计划,每一个测试计划可以导出为.jmx文件
(ApiFox也支持接口测试计划允许导出该格式,因为jmeter更适合并发测试)

使用Jmeter进行接口测试的基本步骤如下:

  1. 测试计划
  2. 线程组
  3. HTTP Cookie管理器
  4. Http请求默认值
  5. Sampler(HTTP请求)
  6. 断言
  7. 监听器(查看结果树、图形结果、聚合报告等)

线程组:

  1. 线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数
  2. Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。
  3. 循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。
    知道这些基本就可以开始测了

其他的慢慢摸索和补充

阿里云性能测试 PTS 服务

性能指标

关于指标:

  1. QPS (Queries Per Second):
    每秒查询率,衡量一个服务每秒能够处理的查询或请求的数量。

  2. TPS (Transactions Per Second):
    每秒事务处理率,类似于QPS,但是更侧重于完整的事务处理,而不仅仅是单个请求。

  3. HPS (HTTP Per Second):
    每秒HTTP请求数,专门用于衡量Web服务器或应用程序处理HTTP请求的能力。

  4. 吞吐量 (Throughput):
    通常用来描述在单位时间内系统能够处理的数据量,可以是请求、事务或数据大小。

  5. 响应时间 (Response Time) 或 延迟 (Latency):
    从发送请求到接收到响应的时间,通常用来衡量服务的响应速度。

  6. 并发用户数 (Concurrent Users) 或 并发连接数 (Concurrent Connections):
    同时与服务交互的用户或连接的数量。

  7. 错误率 (Error Rate):
    请求失败的比例,通常用来衡量服务的稳定性和可靠性。

  8. 资源利用率 (Resource Utilization):
    系统资源(如CPU、内存、磁盘I/O、网络带宽)的使用情况。

  9. 负载均衡 (Load Balancing):
    一种技术,用于在多个服务器或资源之间分配工作负载,以提高性能和可靠性。

  10. 缓存命中率 (Cache Hit Rate):
    缓存中成功找到请求数据的比例,高缓存命中率意味着更少的请求需要访问数据库或其他存储系统。

  11. 系统饱和点 (System Saturation Point):
    系统无法处理更多请求的状态,此时性能会显著下降。

  12. 性能基准测试 (Performance Benchmarking):
    通过标准化的测试来评估系统的性能。

  13. 性能调优 (Performance Tuning):
    对系统进行调整以提高其性能的过程。

如何估计

性能指标和很多因素相关,
服务器:

  • 2核4G
  • 带宽10M
    接口:
  • 传输的数据量

这些都会影响并发连接数、QPS等
所以高并发这个概念也要根据机器的情况去说的,不能说一个G的机器你指望他能达成所谓的高并发