python做性能测试首选库,内部使用requests库,可以基本将接口自动化的代码搬过来,稍微修改即可。 内部使用协程的模式,单机并发远超jmeter。
第一步,安装:
pip install locust
第二步,使用:
创建一个locustfile.py文件(可以使用其他名字,其他名字启动需要加-f 加文件名称运行)。
from locust import HttpUser,task
class TestLocust(HttpUser):
host = "https://blog.csdn.net"
wait_time = 10
#constant_throughput(10) 控制单用户的tps为10
weight = 1
@task
def login(self):
res = self.client.get("/nav/cloud-native?spm=1001.2100.3001.4477", verify=False)
self.clent相当于是requests模块的请求方式。
task注解,是表示运行是该方法运行权重,默认为1,数字越大执行次数占比越多。
host:项目的url
wait_time :等待时间,默认为0
weight:多个类同时运行时,设置类的运行权重,方便模拟真实场景
运行的话:直接输入locust (模块命非locustfile的话,输入locust -f 文件名称即可),然后打开浏览器输入loacalhost:8089
在填写合适的用户总数和每秒的启动的虚拟用户数,start即可
运行后的页面,会显示各项数据,有点类似jmeter的聚合报告。
补充:在做压测的时候,可以使用mimesis或者faker等做数据模拟



