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。

  • 相关阅读:
    Python开发入门与实战16-APACHE部署
    Python开发入门与实战15-IIS部署
    Python开发入门与实战14-基于Extjs的界面
    团队作业4:第三篇Scrum冲刺博客(歪瑞古德小队)
    团队作业4:第二篇Scrum冲刺博客(歪瑞古德小队)
    团队作业4:第一篇Scrum冲刺博客(歪瑞古德小队)
    团队作业4:项目冲刺集合贴(歪瑞古德小队)
    团队作业3:需求改进&系统设计(歪瑞古德小队)
    团队作业2:需求规格说明书(歪瑞古德小队)
    使用docker安装codimd,搭建你自己的在线协作markdown编辑器
  • 原文地址:https://www.cnblogs.com/JcHome/p/9392697.html
Copyright © 2011-2022 走看看