我对Fabric很新,但我开始使用它来自动执行负载测试。
我使用Locust对我的应用程序进行负载测试,但由于我使用超过100k CCU进行测试,这需要多个从属设备。
我已经使用boto3来自动创建EC2实例并且工作正常,但不幸的是,当尝试使用fabric来部署Locust代理然后在所有机器上自动运行它时,我遇到了一个问题。
不好的一点是,由于Fabric在分布式模式下运行Locust时会从响应中等待它只连接一个Slave然后挂起(因为没有收到任何响应)。
有关这个问题的任何建议,请帮助我吗?有没有人有这个问题并设法修复它?
提前谢谢你。
答案 0 :(得分:0)
对于Locust Master:
def master_start(filename, web_port, master_port):
with settings(warn_only=True):
return run('nohup locust -f %s --master --port=%s --master-bind-port=%s >& /dev/null < /dev/null &'% (filename, web_port, master_port), pty=False)
对于蝗虫奴隶,但是并行运行:
def slave_start(filename, master, master_port):
with settings(warn_only=True):
run('nohup locust -f %s --slave --master-host=%s --master-port=%s >& /dev/null < /dev/null &'%(filename, master, master_port),pty=False)