压力测试工具locust_一日一技:使用 Locust对网络接口进行压力测试

a0415f5852b69c880946bfc7b6075f43.png摄影:产品经理

买单:kingname

最近,有同学反应我的博客[1]访问速度有点慢,那么我如何直观地知道我博客的访问速度呢?

我们可以使用 Locust 这个基于 Python 的压力测试工具来测试博客的访问速度。

首先使用 pip 安装 Locust:

python3 -m pip install locust

如果在 macOS 下安装出现了如下的报错信息:

86c254f9e078141c69d9632d8b000758.png

那么需要先执行如下命令:

sudo xcodebuild -license

同意协议以后再安装。

然后根据 Locust 的官方文档[2]编写测试文件test.py

from locust import HttpLocust, TaskSet

def test_index(l):
l.client.get('/')

def test_article(l):
l.client.get('/2019/09/09/generalnewsextractor/')

class UserBehavior(TaskSet):
tasks = [test_index, test_article]

class WebsiteUser(HttpLocust):
task_set = UserBehavior
host='https://www.kingname.info'
min_wait = 2000
max_wait = 3000

你想测试多少个接口,就编写多少个如下类型的函数:

def xxx(l):
l.client.get('/xxx')

其中的 l 是 Locust 自动传入的实例。

然后,在UserBehavior类里面的 tasks列表中指定需要测试的函数名,不加括号。

然后我们使用 Locust 运行这个配置文件:

locust -f test.py

运行效果如下图所示:

ea16c7ba380deeba7ffee1f6f91bf3b8.png

此时,访问http://127.0.0.1:8089,可以看到如下所示的页面:

9d83e236f569f34e630d16686b4d71dc.png

其中第一个输入框表示你要模拟多少个人同时访问网站的情况,第二个输入框表示从 0 开始每秒增加多少人。

点击Start swarming以后,可以看到测试的页面,如下图所示:

f4f087c3aa8df8086fc4c29b79616944.png

从图中可以看到,访问首页,Median(ms)响应时间的中位数,Average(ms)响应时间的平均数。# Fails请求失败了多少次。

Charts页面,还可以看到请求和响应的变化情况。如下图所示:

0aef05bba498fbb6f380162fca31a87a.png

可以看出,我的博客访问速度确实非常慢。而且还容易出现不少请求失败的情况。

参考资料

[1]

我的博客: https://www.kingname.info

[2]

官方文档: https://docs.locust.io/en/stable/quickstart.html

8fc4370fa7bd56afa3a63c5acdf2983c.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值