Locust简单入门

一、Locust简介

1.Locust是一个易于使用的分布式用户负载测试工具。它是用于负载测试网站(或其他系统)计算出一个系统能处理多少并发用户。
2.特定
①用普通的Python编写用户测试场景
②分布式和可扩展-支持数十万用户
③基于Web的UI
④可以测试任何系统
⑤可破解

二、安装Locust

1.若是您使用的是python2.7,请直接运行以下命令:
python -m pip install locustio
2.对于python3,请运行:
python3 -m pip install locustio
3.如果您想要一个新版本,可以使用pip直接从Git存储库安装。例如,使用Python 3到主分支安装:

python3 -m pip install -e git://github.com/locustio/locust.git@master#egg=locustio

4.一旦安装了Locust,您的shell中就应该有Locust命令了。(如果你不使用virtualenv您应该确保python脚本目录在您的系统路径上)要查看可用选项,请运行:
lucust --help
运行截图如下:
在这里插入图片描述
5.目前Locust支持Python 2.7, 3.5, 3.6, 3.7, 3.8.等版本。

三、运行Locust

1.话不多说先上代码:请将以下代码保存为文件:locust_1.py即可运行。

# coding=utf-8
import requests
from locust import HttpLocust,TaskSet,task,between
# 禁用安全请求警告
requests.packages.urllib3.disable_warnings()

class MyCSDNBlogs(TaskSet):
    @task(1) # 访问我的博客首页
    def get_blog(self):
        # 定义请求头
        header = {"user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0Name"}
        req = self.client.get("/Rico_Rico_",  headers=header, verify=False)
        if req.status_code == 200:
            print("请求成功!")
        else:
            print("请求失败!")

class websitUser(HttpLocust):
    task_set = MyCSDNBlogs
	wait_time = between(3, 6)

if __name__ == "__main__":
    import os
    os.system("locust -f locust_1.py --host=https://blog.csdn.net")

2.若是有的同学木有使用集成编译环境如PyCharm,而使用CMD窗口,需将目录切换到locust_1.py所在的目录后,使用命令即可运行:

python -f loust_1.py --host=https://blog.csdn.net

3.使用以上方式成功运行Locust后,打开你的浏览器并且输入网址:http://127.0.0.1:8089,你将看到这样的画面:
在这里插入图片描述
其中Number of users to simulate指要模拟的用户数,而Hatch rate (users spawned/second)指的是同一请求的最大次数(并发),Host指我们需要测试的网址了。
4.上几个运行状态的截图:
在这里插入图片描述
在这里插入图片描述
如上图,当前参数情况下,平均每秒56.9个请求数,错误率3%

四、总结

好了,本期分享到这里就结束了,能力有限难免有遗漏或者不足,请看官们批评指正,并在评论中留言,谢谢大家~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值