查看: 136|回复: 0

Locust 压力测试

[复制链接]
新浪微博达人勋 xenron  实名认证
论坛徽章:
264
python徽章
日期:2019-11-14 15:08:05
发表于 2019-7-28 17:31 | 显示全部楼层 |阅读模式

Python 工具 测试 分布式 性能测试

Locust压测接口性能

Locust是完全基于Python,http请求完全是基于requests库。Locust支持http、https协议,还支持测试其他协议,websocket等,只要采用Python调用对应的库就可以了。

http/https采用requests;

websocket采用websocket ;

等等。

Locust和jmeter、lr优点对比

性能测试很难在单机上获得很高的并发量,lr、jmeter这类工具采用进程和线程来压测,单机并发量不高。(一般都要用几台电脑做压力发射机)

Locust并发机制摈弃了进程和线程,采用协程(gevent)机制。协程避免了系统级资源调度,可以大大提高单机并发能力。

Locust安装使用

centos6.7使用Locust

Python安装Locust,从GitHub克隆下来,进入输入Python setup.py install  进行安装;

在安装之前较好先安装下面依赖包:

install_requires=["gevent>=1.2.2", "flask>=0.10.1", "requests>=2.9.1", "msgpack-python>=0.4.2", "six>=1.10.0", "pyzmq==15.2.0"]

1.gevent:在Python中实现协程的第三方库。协程又叫微线程Corouine。使用gevent可以获取极高的并发能力;
2.flask:Python的一个web开发框架,和django相当;
3.requests:支持http/https访问的库;
4.msgpack-python:一种快速、紧凑的二进制序列化格式,使用与类似json的数据;
5.six:提供了一些简单的工具封装Python2和Python3 之间的差异;
6.pyzmq:安装这个第三方库,可以把Locust运行在多个进程或多个机器(分布式执行测试任务)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-11-16 04:58 , Processed in 0.106124 second(s), 29 queries .