locust压测工具

1、项目中需要对某一个接口进行调优,支持更高的并发,测试一般用阿里云提供的压测平台,但是这个是收费的,我们开发自己测试一般不会直接用这个平台,这里推荐一款压测工具,比较适合开发使用。

Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己的进程内运行)。

2、代码(模板)

# 保存为locust2.py
# coding:utf-8
import random

from locust import HttpUser, TaskSet, task
import requests


class BlogDemo(TaskSet):

    @task(1)
    def open_blog(self):
        # 定义requests的请求头
        header = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"}
        num = random.randint(1, 1000)
        param = {
            "name": "user" + str(num)
        }
        req = self.client.get("/redis/seckill", params=param, headers=header, verify=False)
        print(req)


class websitUser(HttpUser):
    tasks = [BlogDemo]
    min_wait = 3000  # 单位毫秒
    max_wait = 6000  # 单位毫秒


if __name__ == "__main__":
    import os

    os.system("locust -f locust2.py --host=http://localhost:8086")

Header :请求头

param:请求参数

写上调用的请求参数、请求头、路径等信息。

这个是对一个接口进行压测,还有更多的特性,可以百度。

3、启动

打开网址默认端口8089

上面填写两个参数:总用户数量以及用户增长速率

results matching ""

    No results matching ""