使用了一下,推荐指数共五颗星,五颗星为最高。
JMeter ⭐️⭐️⭐️
简介:Apache JMeter™ 是一个开源的 Java 应用,用于负载测试功能和测量性能。它最初是为测试 Web 应用程序而设计的,但后来扩展到其他测试领域。大多数测试在用。
但是我不是很推荐。
使用文档:https://jmeter.apache.org/usermanual/get-started.html
解压后 Mac 下直接打开 bin/jmeter
/apache-jmeter-5.6.2/apache-jmeter-5.6.2/bin/jmeter
Jmeter 支持中文 Option – Choose Language
选择 Chinese(Simplify)
。
添加线程组 Add – Threads – Thread Group
,线程组中添加 HTTP 请求 Add – Sampler – HTTP Request
,填写请求地址和请求方法。
导出测试报告 File – Export All – Export Report – HTML
。
使用感受:界面简洁,功能强大,但是操作还是有点复杂,需要一定的学习成本。
Locust ⭐️⭐️⭐️⭐️
简介:Locust 是一个开源的负载测试工具,使用 Python 编写,支持分布式,可以使用 Python 编写测试脚本。Star 也是最多的。
使用文档:https://docs.locust.io/en/stable/quickstart.html
安装:
pip3 install locust
运行:
自己写一个 locustfile.py
文件,然后运行
from locust import HttpUser, task, between
class WebsiteUser(HttpUser):
wait_time = between(5, 15)
@task
def index(self):
self.client.get("/")
@task
def about(self):
self.client.get("/about/")
locust -f locustfile.py
会有个 web 界面,可以看到请求的情况,访问 http://localhost:8089/
。
使用感受:界面简洁,功能强大,操作简单,学习成本低。
另外,Locust 还有个插件 har2locust
pip3 install har2locust
可以将 Chrome 浏览器导出的 HAR 文件转换为 Locust 测试脚本。
har2locust -f test.har -o test.py
k6 ⭐️⭐️⭐️⭐️⭐️
简介:k6 是一个开源的负载测试工具,使用 Go 编写,支持分布式,可以使用 JavaScript 编写测试脚本。Star 也是最多的。
对前端开发者友好,因为可以使用 JavaScript 编写测试脚本。
使用文档:https://k6.io/docs/getting-started/installation
安装:
brew install k6
运行:
自己写一个 script.js
文件,然后运行
import http from 'k6/http';
import { sleep } from 'k6';
export default function () {
http.get('http://test.k6.io');
sleep(1);
}
k6 run script.js
go-stress-testing ⭐️⭐️⭐️⭐️⭐️
简介:go-stress-testing 是一个开源的负载测试工具,使用 Go 编写,支持分布式,可以使用 Go 编写测试脚本。
对后端开发者友好,因为可以使用 Go 编写测试脚本。