前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一日一技:使用 Locust对网络接口进行压力测试

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

作者头像
青南
发布2019-10-15 17:36:50
6950
发布2019-10-15 17:36:50
举报
文章被收录于专栏:未闻Code未闻Code

摄影:产品经理

买单:kingname

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

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

首先使用 pip 安装 Locust:

代码语言:javascript
复制
python3 -m pip install locust

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

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

代码语言:javascript
复制
sudo xcodebuild -license

同意协议以后再安装。

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

代码语言:javascript
复制
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

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

代码语言:javascript
复制
def xxx(l):
    l.client.get('/xxx')

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

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

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

代码语言:javascript
复制
locust -f test.py

运行效果如下图所示:

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

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

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

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

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

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

参考资料

[1]

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

[2]

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未闻Code 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档