摄影:产品经理
买单:kingname
最近,有同学反应我的博客[1]访问速度有点慢,那么我如何直观地知道我博客的访问速度呢?
我们可以使用 Locust 这个基于 Python 的压力测试工具来测试博客的访问速度。
首先使用 pip 安装 Locust:
python3 -m pip install locust
如果在 macOS 下安装出现了如下的报错信息:
那么需要先执行如下命令:
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
运行效果如下图所示:
此时,访问http://127.0.0.1:8089
,可以看到如下所示的页面:
其中第一个输入框表示你要模拟多少个人同时访问网站的情况,第二个输入框表示从 0 开始每秒增加多少人。
点击Start swarming
以后,可以看到测试的页面,如下图所示:
从图中可以看到,访问首页,Median(ms)
响应时间的中位数,Average(ms)
响应时间的平均数。# Fails
请求失败了多少次。
在Charts
页面,还可以看到请求和响应的变化情况。如下图所示:
可以看出,我的博客访问速度确实非常慢。而且还容易出现不少请求失败的情况。