locust压测使用介绍及需要token验证信息接口压测

启动运行locust

  1. 方法一:启动web,通过web端进行参数设置

    1)dos进入Scripts目录下,执行 locust -f ****.py --host=http://0.0.0.0:0000 (PS:-f后面加需要执行的.py文件名字 --host测试的http服务的ip和port)

    2)打开浏览器,如果是本机访问则输入http://localhost:8089/ 如下图 (PS:Number of users to simulate:设置模拟的用户总数,Hatch rate (users spawned/second):每秒启动的虚拟用户数 ,Start swarming:执行locust脚本)

    第一个输入框:想并发的人数
    第二个输入框:虚拟用户初始化的比例
    比如下图中的意思就是想测试1000个虚拟用户对系统的压测,刚开始的时候是以10人/秒的速度开始递增到1000
    在这里插入图片描述

    点击“”Start Swarming“”后你就可以开始压测你想压测的服务了

  2. 方法二:通过DOS命令输入测试参数及运行命令

    1. 启动测试:dos进入Scripts目录下,执行 locust -f ****.py --csv=onetest --host=http://0.0.0.0:0000 --no-web -c10 -r10 -t2 (PS:-f 指定运行的py文件的名字,–csv 生成报告的名字,–host 测试的http服务的ip和port,–no-web 不用web启动,-c 设置虚拟用户数, -r 设置每秒启动虚拟用户数, -t 设置运行时间)

    2. 查看报告:测试结束后,进入Scripts目录下会生成以onetest文件名开头的.csv测试报告

locust 测试结果的字段分析

在这里插入图片描述

  1. Type:请求类型,即接口的请求方法;
  2. Name:请求路径;
  3. requests:当前已完成的请求数量;
  4. fails:当前失败的数量;
  5. Median:响应时间的中间值,即50%的响应时间在这个数值范围内,单位为毫秒;
  6. Average:平均响应时间,单位为毫秒;
  7. Min:最小响应时间,单位为毫秒;
  8. Max:最大响应时间,单位为毫秒;
  9. Content Size:所有请求的数据量,单位为字节;
  10. reqs/sec:每秒钟处理请求的数量,即QPS;

locust 做token校验类型接口性能测试

#coding=utf-8
import csv,os,time
from locust import HttpUser,TaskSet,task
class OrderDetails(TaskSet):

    @task
    def Login(self):
        LoginData = {"username": "15650199152", "password": '111111'}
        response = self.client.post("/api/v4/user/login", data=LoginData).text
        #print(response)
        self.dic = {}
        self.dic = eval(response)
        #print("self.dic =",self.dic)
    @task
    def Paycheck(self):
        PaycheckHeaders = {"token": self.dic["data"],
                       "x-client-hash": "kJVQzkkJ2metJnt8EZZJdm5jGgMhDM7uPyIx9Pkn",
                       "x-csrf-token": "3VSFMIP1vhIG7DyMCnRhUWwZ6zrEmbRq3jKS3o0w",
                       "x-requested-with": "XMLHttpRequest"}
        PaycheckData = {"order_sn":"1004202012151003065921"}
        PaycheckResponse = self.client.post("/api/v4/trade/paycheck",data = PaycheckData,headers = PaycheckHeaders).text
        #print(PaycheckResponse)

class WebSiteUser(HttpUser):
    host = "https://XXX.XXX.XXX" # 压测域名
    tasks = [OrderDetails]
    min_wait = 2000
    max_wait = 5000

如上方代码,先调用登录接口获取从返回值中获取token,之后将token信息传入下一个接口,需要token验证信息的接口即可进行压测

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用PythonLocust来进行对ES7的压测。首先,确保你已经安装了PythonLocust。 接下来,你需要安装elasticsearch-py库,它是Python与Elasticsearch进行交互的库。可以使用以下命令安装: ``` pip install elasticsearch ``` 然后,创建一个Python脚本,导入必要的模块和库: ```python from locust import HttpUser, task, between from elasticsearch import Elasticsearch class ESUser(HttpUser): wait_time = between(1, 5) def on_start(self): # 创建一个Elasticsearch客户端连接 self.client = Elasticsearch(['localhost:9200']) @task def search(self): # 定义一个搜索任务 query = { "query": { "match_all": {} } } # 发送搜索请求 response = self.client.search(index='your_index', body=query) # 打印搜索结果 print(response) ``` 在上面的代码中,我们创建了一个名为ESUser的Locust用户类。在`on_start`方法中,我们创建了一个Elasticsearch客户端连接。 然后,在`@task`装饰的`search`方法中,我们定义了一个搜索任务。你可以根据自己的需求修改查询条件。在该方法中,我们发送了一个搜索请求,并打印了搜索结果。 最后,你可以在命令行中使用Locust命令来启动压测: ``` locust -f your_script.py --host=http://localhost:9200 ``` 替换`your_script.py`为你的脚本文件名,`http://localhost:9200`为你的ES7的地址。 然后,你可以在浏览器中访问Locust的Web界面(默认为http://localhost:8089)来配置并启动压测。 注意:在进行压测之前,请确保你已经在ES7中创建了索引,并且数据已经准备好。另外,压测会对目标系统造成一定的负载,请谨慎使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西门一刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值