美文网首页我的收藏
Locust—python压力测试工具

Locust—python压力测试工具

作者: 0981b16f19c7 | 来源:发表于2019-06-21 10:12 被阅读9次

    1、Locust与其他性能测试工具对比

    优势:1、Locust 完全基本 Python 编程语言,采用 Pure Python 描述测试脚本,并且 HTTP 请求完全基于 Requests库。除了 HTTP/HTTPS 协议,Locust 也可以测试其它协议的系统,只需要采用Python调用对应的库进行请求描述即可。2、LoadRunner 和 Jmeter 这类采用进程和线程的测试工具,都很难在单机上模拟出较高的并发压力。Locust 的并发机制摒弃了进程和线程,采用协程(gevent)的机制。协程避免了系统级资源调度,由此可以大幅提高单机的并发能力。

    缺点:locust的局限性在于,目前其本身对测试过程的监控和测试结果展示,不如jmeter全面和详细,需要进行二次开发才能满足需求越来越复杂的性能测试需要。

    2、安装:> pip3 install locustio

    3、查看命令:> locusts --help

    -h, --help 查看帮助

    -H HOST, --host=HOST 指定被测试的主机,采用以格式:http://10.21.32.33

    --web-host=WEB_HOST 指定运行 Locust Web 页面的主机,默认为空 ''。

    -P PORT, --port=PORT, --web-port=PORT 指定 --web-host 的端口,默认是8089

    -f LOCUSTFILE, --locustfile=LOCUSTFILE 指定运行 Locust 性能测试文件,默认为: locustfile.py

    --csv=CSVFILEBASE, --csv-base-name=CSVFILEBASE 以CSV格式存储当前请求测试数据。

    --master Locust 分布式模式使用,当前节点为 master 节点。

    --slave Locust 分布式模式使用,当前节点为 slave 节点。

    --master-host=MASTER_HOST 分布式模式运行,设置 master 节点的主机或 IP 地址,只在与 --slave 节点一起运行时使用,默认为:127.0.0.1.

    --master-port=MASTER_PORT 分布式模式运行, 设置 master 节点的端口号,只在与 --slave 节点一起运行时使用,默认为:5557。注意,slave 节点也将连接到这个端口+1 上的 master 节点。

    --master-bind-host=MASTER_BIND_HOST Interfaces (hostname, ip) that locust master should bind to. Only used when running with --master. Defaults to * (all available interfaces).

    --master-bind-port=MASTER_BIND_PORT Port that locust master should bind to. Only used when running with --master. Defaults to 5557. Note that Locust will also use this port + 1, so by default the master node will bind to 5557 and 5558.

    --expect-slaves=EXPECT_SLAVES How many slaves master should expect to connect before starting the test (only when --no-web used).

    --no-web no-web 模式运行测试,需要 -c 和 -r 配合使用.

    -c NUM_CLIENTS, --clients=NUM_CLIENTS 指定并发用户数,作用于 --no-web 模式。

    -r HATCH_RATE, --hatch-rate=HATCH_RATE 指定每秒启动的用户数,作用于 --no-web 模式。

    -t RUN_TIME, --run-time=RUN_TIME 设置运行时间, 例如: (300s, 20m, 3h, 1h30m). 作用于 --no-web 模式。

    -L LOGLEVEL, --loglevel=LOGLEVEL 选择 log 级别(DEBUG/INFO/WARNING/ERROR/CRITICAL). 默认是 INFO.

    --logfile=LOGFILE 日志文件路径。如果没有设置,日志将去 stdout/stderr

    --print-stats 在控制台中打印数据

    --only-summary 只打印摘要统计

    --no-reset-stats Do not reset statistics once hatching has been completed。

    -l, --list 显示测试类, 配置 -f 参数使用

    --show-task-ratio 打印 locust 测试类的任务执行比例,配合 -f 参数使用.

    --show-task-ratio-json 以 json 格式打印 locust 测试类的任务执行比例,配合 -f 参数使用.

    -V, --version 查看当前 Locust 工具的版本.

    相关文章

      网友评论

        本文标题:Locust—python压力测试工具

        本文链接:https://www.haomeiwen.com/subject/sgnsqctx.html