zoukankan      html  css  js  c++  java
  • Locust 扩展、分布式

    Locust 扩展、分布式

      Locust可以在模块级别在蝗虫文件中注册事件侦听器。 这是一个例子:

    from locust import events
    def my_success_handler(request_type, name, response_time, response_length, **kw):
        print "Successfully fetched: %s" % (name)
    events.request_success += my_success_handler

      强烈建议您在侦听器中添加一个通配符关键字参数(上面代码中的** kw),以防止在未来版本中添加新参数时代码中断。

    添加Web路由
      Locust使用Flask来提供Web UI,因此很容易将Web端点添加到Web UI。 只需在locustfile中导入Flask应用程序并设置新路径:

    from locust import web
    @web.app.route("/added_page")def my_added_page():
        return "Another page"

      您现在应该能够启动蝗虫并浏览到http://127.0.0.1:8089/added_page

    运行Locust分布式

      在做服务器性能测试是,单个机器不足以模拟大量用户行为时,会导致测试机本身也会存在瓶颈,从而导致测试结果发生较大的偏离,这是您需要更多的测试机一同进行测试,Locust就支持运行分布在多台机器上的负载测试。为此,您使用--master标志在主模式下启动一个Locust实例。 这是将运行Locust的Web界面的实例,您可以在其中启动测试并查看实时统计信息。 主节点不会模拟任何用户本身。 相反,您必须使用--slave标志和--master-host(指定主节点的IP /主机名)启动一个或多个可能的多个从属Locust节点。

      常见的设置是在一台计算机上运行单个主服务器,然后在从属计算机上为每个处理器核心运行一个从属实例。在运行Locust分布式时,主机和每台从机都必须有Locust测试脚本的副本。

    要在主模式下启动蝗虫:

    locust -f my_locustfile.py --master
    

      然后在每个从站上(用主机的IP替换192.168.0.14):

    locust -f my_locustfile.py --slave --master-host = 192.168.0.14
    

    选项:

    --master

    在主模式下设置Locust。 Web界面将在此节点上运行。

    --slave

    将Locust设置为从属模式。

    --master-host=X.X.X.X

    可选择与--slave一起使用来设置主节点的主机名/ IP(默认为127.0.0.1)

    --master-port=5557

    可选择与--slave一起使用以设置主节点的端口号(默认为5557)。 请注意,locust将使用指定的端口以及端口号+1。 因此,如果使用5557,蝗虫将使用端口5557和5558。

    --master-bind-host=X.X.X.X

    可选择与--master一起使用。 确定主节点将绑定到的网络接口。 默认为*(所有可用接口)。

    --master-bind-port=5557

    可选择与--master一起使用。 确定主节点将侦听的网络端口。 默认为5557.请注意,locust将使用指定的端口以及端口号+1。 因此,如果使用5557,Locust将使用端口5557和5558。

  • 相关阅读:
    ORACLE查询删除重复记录三种方法
    是否可以从一个static方法内部发出对非static方法的调用
    协程(微线程)
    多线程、多进程
    python3.6.5修改print的颜色
    Python之时间和日期模块
    Python之字符(2)
    Python之字符
    python之列表
    Python中的文件操作
  • 原文地址:https://www.cnblogs.com/JcHome/p/9392697.html
Copyright © 2011-2022 走看看