除了功能测试以外,服务端的性能测试也非常重要,比如产品功能测试通过,那么在大负载的情况下,可能会导致服务器崩溃,影响用户体验。虽然不同服务对负载要求不同,但性能测试还是很有必要的。本文简要介绍性能测试相关知识,然后介绍如何使用JMeter来进行性能测试。
性能测试基本概念
为什么要做性能测试?
- 模拟真实的用户场景,提前发现并修复问题。
- 最小化成本:新服务上线不知道部署多少台服务器。
- 评估应用系统性能,给运维做系统容量规划提供依据、给开发提供应用调优参考。
什么是性能测试?
性能测试模拟多个用户的操作对服务器硬件性能的影响,用于检查软件和硬件的响应速度、稳定性、可靠性和资源使用等情况。常见性能指标包括:
- TPS(Transaction per Second):每秒事物处理能力
- RT(Response Time):响应时间
- 延迟
- 吞吐量
- 并发用户数
- …
负载测试是一种性能测试,检查系统在固定时间段内为大量并发虚拟用户提供服务下的运行情况。压力测试通过在极端负载下测试系统的上限。
常见性能测试工具
常见的性能测试工具如下,其中JMeter 是应用最广泛的。
- Apache JMeter:开源免费,使用Java语言开发,有很多第三方插件,具有脚本录制功能,https://jmeter.apache.org/
- apache bench: ab工具是apache HTTP服务器性能测试工具,http://httpd.apache.org/docs/2.4/programs/ab.html
- LoadRunner:收费,使用C语言开发。
- Locust:开源免费,使用Python语言开发。https://www.locust.io/
- nGrinder:Naver公司基于 Grinder开发的性能测试平台。 Grinder是一个能运行 jython(在JVM上运行的 Python)、 groovy编写测试脚本的应用程序。免费软件,使用Java语言开发。
JMeter
Apache JMeter开源免费,使用Java开发,可用于测试Web性能,也可以测试数据库性能(通过JDBC)。 支持插件开发扩展功能,可以二次开发定制协议,支持录制、回放方式获取测试脚本,下面介绍JMeter压测脚本的录制与编写。
JMeter安装-windows
- 安装Java jdk
下载地址: