1、Jmeter
使用jmeter进行性能测试时,需要注意以下几点:
1、需开发提供接口文档并告知使用方法,例如数据接口、接口返回值参考对照等
2、调试脚本时遇到阻塞可能是接口错误、参数不对、接口有特殊配置条件等原因
3、仔细分析每个流程的执行情况,通过工具协助定位问题,多次测试多次验证,尝试解决优化
4、测试时主要模拟用户操作习惯,次要为探索性测试
2、Locust
Locust 是比较常见的性能测试工具,底层基于 gevent。官方介绍 它是一款易于使用、可编写脚本且可扩展的性能测试工具,可以让我们使用常规 Python 代码定义用户的行为,而不必陷入 UI 或限制性领域特定语言中。Locust具有无限的可扩展性(只要提供客户端python 代码,适用于所有协议的性能测试)
# 示例代码 # 模拟网站:https://www.vermenovela.com # 模拟操作:模拟用户从首页进入小说详情页 from locust import HttpUser, task, between, TaskSet class UserBehavior(TaskSet): @task def index(self): self.client.get("/") @task def detail_1(self): self.client.get("/A-Volta-da-Ex-Esposa-A-Esposa-Amada-do-CEO569693") @task def detail_2(self): self.client.get("/Riqueza-P%C3%B3s-Div%C3%B3rcio569800") @task def detail_3(self): self.client.get("/Meu-romance-alfa-de-h%C3%B3quei-online-gr%C3%A1tis565225") @task def detail_4(self): self.client.get("/Meu-marido-acidental-%C3%A9-um-bilion%C3%A1rio565955") @task def detail_5(self): self.client.get("/A-Vingan%C3%A7a-da-Filha-Abandonada569931") class WebsiteUser(HttpUser): tasks = [UserBehavior] wait_time = between(1, 4) host = "https://www.vermenovela.com" # 设置基本 URL
# 终端运行 # 随后点击终端给出的url,例如http://localhost:8089 locust -f .\test.py
模拟结果:
3、Lighthouse
基于浏览器的一个工具,但只能测某一个页面的数据,但会检查页面数据并给出优化方案
4、LoadRunner
5、其他工具
其他工具类似于Loadstorm、gatling等诸多软件均为商用