前言:
locust完全基于python语言,采用pure python描述测试脚本,并且http请求完全基于requests库。除了http/https协议外,locust还可以测试其他协议的系统,只需采用python调用对应的库进行请求描述即可,an open source load testing tool
locust与lr、jmeter的区别:
locust的并发机制摒弃了进程和线程,采用协程(gevent)的机制,协程避免了系统级的资源调度,因此可以大幅提高单机的并发能力
locust的安装:
可以在cmd或pycharm里的Terminal里pip install locust,当我们在安装locust时,它会检测我们当前的python环境是否已经安装了这些库,如果没有安装,那么它会先把这些库一一装上,并且对这些库版本有要求,有些是必须等于某版本,有些是大于某版本,检查是否安装成功,打开cmd或pycharm里的Terminal里输入locust --help,回车,会把所有的命令都列出来,安装的过程中会看到gevent>=1.2.2,flask>=0.10.1,msgpack>=0.4.2,six>=1.10.0,requests>=2.9.1,pyzmq>=16.0.2
gevent:在python中实现协程的一个第三方库,协程又称微线程,使用gevent可以获得极高的并发性能
flask:python的一个web开发框架,他与django的地位相当
msgpack:一种快速、紧凑的二进制序列化格式,适用于类似json的数据
six:它提供了一些简单的工具用来封装python2和python3之间的差异性
pyzmq:如果你打算把locust运行在多个进程/机器,建议你安装pyzmq
requests:使用该库来做http接口测试
下面对公司的一个接口压测的例子,文件名是locust_file,脚本代码如下:
首先启动性能测试服务,在cmd或pycharm里的Terminal里>locust -f test0604.py --host=https://www.baidu.com
-f:指定性能测试脚本文件
--host:指定被测试应用的url地址,注意访问百度使用的https协议
接下来,通过浏览器访问localhost:8089
原文:https://www.cnblogs.com/laosun0204/p/10978365.html