核心内容摘要
不只是聊天:gpt-oss-20b-WEBUI的多种玩法盘点
JMeter性能测试工具核心面试复习指南
JMeter 简介与环境搭建
是什么Apache JMeter 是一个基于 Java 的开源压力测试工具主要用于对软件进行性能测试。
环境要求Java 8 或更高版本。
安装与启动安装直接下载压缩包tar/zip解压即可。
启动两种方式直接运行双击bin目录下的jmeter.bat(Windows) 或jmeter(Unix/Linux)。
命令行启动推荐将 JMeter 的bin目录添加到系统环境变量PATH中然后在命令行直接输入jmeter。
中文配置修改bin/jmeter.properties文件找到language配置项改为languagezh_CN重启 JMeter。
JMeter 核心概念与基本使用流程
核心元件作用域与执行顺序核心原则元件对其子节点生效。
执行顺序配置元件Configuration Elements前置处理器Pre-Processors定时器Timers取样器Sampler后置处理器Post-Processors断言Assertions监听器Listeners注意同一层级元件的执行顺序按其在测试计划中的先后顺序执行。
基本测试流程创建测试计划。
添加线程组定义并发用户数、启动时间、循环次数等。
添加取样器如 HTTP 请求配置接口的协议、地址、端口、路径、参数等。
添加监听器如查看结果树用于查看请求和响应的详细信息调试用。
点击运行。
重点组件详解面试高频考点
线程组作用模拟并发用户。
关键参数线程数用户数模拟的虚拟用户数量。
Ramp-Up 时间秒所有线程启动完毕所需的时间。
例如线程数10Ramp-Up5表示在5秒内启动10个线程每秒启动2个。
循环次数每个线程执行测试脚本的次数。
调度器可设置测试的持续时间和延迟启动时间。
HTTP 请求取样器核心配置协议、服务器名称/IP、端口号、HTTP 方法GET/POST等、路径、参数Parameters 或 Body Data。
逻辑控制器与配置元件HTTP 请求默认值作用将多个 HTTP 请求共有的部分如协议、服务器、端口提取出来避免重复配置。
面试点提高脚本的可维护性。
用户定义的变量作用定义全局变量可在多个线程组和请求中通过${变量名}引用。
面试点适用于需要统一管理和修改的常量。
CSV 数据文件设置作用实现参数化。
从外部文件如 CSV中读取数据分配给不同的虚拟用户。
关键配置文件名文件路径。
变量名称定义变量名多个用逗号分隔。
分隔符与文件中的分隔符一致。
遇到文件结束符再次循环数据用完是否从头开始。
面试点用于模拟真实场景下的不同用户登录、不同数据查询等。
同步定时器作用实现集合点。
阻塞线程直到达到指定的线程数量然后同时释放模拟瞬间高并发。
面试点用于测试系统在突发流量下的表现。
类比红灯时行人聚集绿灯时同时过马路。
事务控制器作用将其下的多个取样器接口请求合并为一个事务统计其整体的响应时间。
面试点用于衡量一个完整业务流程如登录-浏览商品-下单的性能。
后处理与断言JSON 提取器作用从 JSON 格式的响应中提取数据并存入变量供后续请求使用。
面试点常用于处理接口依赖如从登录接口响应中提取token用于后续接口的认证。
JSONPath 语法示例$..blogId提取所有blogId。
JSON 断言作用验证接口响应内容是否符合预期。
面试点判断接口是否真正成功而不仅仅是返回 HTTP 200。
监听器与性能指标聚合报告核心指标必须掌握Samples总请求数。
Average平均响应时间。
Median响应时间中位数50% Line。
90% Line / 95% Line / 99% Line90%/95%/99%的请求响应时间小于等于这个值。
重要Min/Max最小/最大响应时间。
Error %错误率。
Throughput吞吐量TPS/QPS。
核心指标Received KB/sec网络吞吐量。
jpgc - Response Times Over Time作用以曲线图展示响应时间随时间的变化趋势。
jpgc - Transactions per Second作用以曲线图展示TPS每秒事务数随时间的变化趋势。
高级功能与测试报告
JMeter 插件Plugins Manager用于安装和管理插件。
常用插件线程组如Stepping Thread Group可以更灵活地设置梯度加压场景如每隔30秒增加10个用户。
生成 HTML 测试报告命令行命令jmeter -n -t 脚本文件名.jmx -l 结果日志文件.jtl -e -o 报告输出目录-n非GUI模式运行。
-t指定测试脚本。
-l指定结果日志文件。
-e生成报告。
-o指定报告输出目录。
注意输出目录必须为空。
性能结果分析思路面试核心分析性能测试结果主要关注三大指标的关系和变化响应时间问题响应时间是否超过预期/阈值分析是在多少并发用户下超标的是突然变长还是随并发增加逐渐变长错误率/可靠性问题错误率是否过高可能原因接口本身有Bug。
系统达到性能瓶颈代码问题、内存泄漏、资源耗尽。
触发了系统的限流、熔断、降级机制。
熔断防止故障扩散暂时停止调用问题服务。
如支付渠道不可用降级保障核心功能暂时关闭非核心功能。
如评论功能不可用显示默认头像吞吐量黄金标准吞吐量越高系统性能越好。
变化规律分析吞吐量随并发增加而增加最终趋于平稳这是正常现象平稳点即性能拐点。
吞吐量达到拐点后开始下降系统已过载处理能力下降。
吞吐量波动很大系统性能不稳定。
总结一个健康的系统在并发增加时响应时间应缓慢上升错误率保持极低吞吐量逐渐增加并最终稳定。
当响应时间急剧增加或错误率飙升时对应的并发用户数和吞吐量就是系统的性能极限。