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的机器你指望他能达成所谓的高并发