在进行系统稳定性测试之前,必须先搭建好基础的测试环境。我们将使用 Apache JMeter 作为核心工具,因为它开源、免费且功能强大,能够满足绝大多数系统的压测需求。
JMeter 是基于 Java 开发的,运行环境必须安装 JDK 1.8 或更高版本。请打开终端或命令行窗口,输入以下命令检查是否已安装:
```bash java -version ```如果未安装,请前往 Oracle 官网或 OpenJDK 下载对应操作系统的安装包进行安装。安装完成后,需配置环境变量 JAVA_HOME,指向 JDK 的安装目录,并将 %JAVA_HOME%\bin(Windows)或 $JAVA_HOME/bin(Linux/Mac)添加到 Path 环境变量中。
直接访问 JMeter 官网下载最新 binaries 压缩包(例如 apache-jmeter-5.6.tgz 或 .zip)。下载地址如下:
https://jmeter.apache.org/download_jmeter.cgi
下载完成后,直接解压压缩包即可使用,无需安装。进入解压后的 bin 目录:
为了确保长时间压测的稳定性,避免 JMeter 自身成为瓶颈,需要对配置文件进行调整。
打开 JMeter 安装目录下的 bin/jmeter.properties 文件,找到约第 37 行,取消注释并修改以下参数:
```properties language=zh_CN ```保存文件并重启 JMeter,界面将变为中文,方便操作。
默认的 JMeter 内存可能不足以支撑高并发测试。在 bin 目录下找到 jmeter.bat(Windows)或 jmeter.sh(Linux/Mac),查找 HEAP 相关设置,将其修改为:
```bash set HEAP=-Xms2g -Xmx2g ```这表示将初始堆大小和最大堆大小都设置为 2GB。根据机器物理内存情况,可适当调大此数值,建议不超过物理内存的 60%。
启动 JMeter 后,默认会显示一个“测试计划”。右键点击“测试计划”,选择“添加” -> “线程(用户)” -> “线程组”。这是所有压测的入口。
在“线程组”界面,我们需要模拟真实的用户行为:
为了避免在每个请求中重复填写服务器地址,我们添加一个默认值。右键点击“线程组” -> “添加” -> “配置元件” -> “HTTP 请求默认值”。

右键点击“线程组” -> “添加” -> “取样器” -> “HTTP 请求”。
如果是 POST 请求,需点击下方的“Body Data”选项卡,输入 JSON 格式的参数:
```json { "username": "testuser", "password": "123456" } ```为了查看测试结果,右键点击“线程组” -> “添加” -> “监听器” -> “查看结果树”和“聚合报告”。
稳定性测试的核心在于长时间运行以检测系统是否存在内存泄漏或连接未释放等问题。我们不能仅仅依赖图形界面运行,因为图形界面消耗资源极大。
在线程组界面底部,勾选“调度器”。这是控制测试时长的关键:
为了确保系统在长时间运行下功能未异常,必须加断言。右键点击“HTTP 请求” -> “添加” -> “断言” -> “响应断言”。
如果响应内容不包含该字符串,JMeter 会将该请求标记为失败,并在聚合报告中统计错误率。
在正式进行稳定性测试时,严禁使用 GUI 模式(即双击 jmeter.bat 运行)。必须使用命令行模式,将测试计划保存为 .jmx 文件(例如 stability_test.jmx),然后通过命令行调用。
打开终端或 CMD,进入 JMeter 的 bin 目录,执行以下命令:
```bash jmeter -n -t stability_test.jmx -l result.jtl -e -o report_folder ```参数详解:
在测试运行过程中,可以通过 jmeter.log 文件查看运行日志。如果测试中途崩溃,日志文件会记录具体的堆栈信息,帮助排查问题。
当命令行显示测试结束后,进入生成的 report_folder 目录,用浏览器打开 index.html 查看最终报告。
如果在测试过程中出现 JMeter 报错“Out of Memory”,说明 JMeter 自身内存不足,需按照第二步再次调大堆内存。
如果聚合报告显示错误率逐渐上升,且错误信息包含 Connection refused 或 Timeout,通常是服务端连接池耗尽或负载过高导致。此时应结合服务端监控(如 Prometheus + Grafana 或 top 命令)查看 CPU、内存和 I/O 使用情况。
如果是响应时间越来越慢,但 CPU 和内存不高,可能是数据库出现死锁或慢查询,需要检查数据库的慢查询日志。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图