我在蝗虫所在的同一台机器上运行htop。在今天早上进行的测试中,我看到一个CPU(占4个)命中率100%,而其他CPU基本上处于空闲状态。我还观察到多达8个蝗虫任务正在运行。这不是分布式运行。蝗虫如何实现线程化和多处理以最大化机器的可用功能?
答案 0 :(得分:1)
请参见https://docs.locust.io/en/stable/running-locust-distributed.html
这既适用于在多台计算机上运行,也可以适用于仅在多个内核上运行。
您需要每个核心一个工作进程才能充分利用计算机。
答案 1 :(得分:0)
您可以使用以下bash脚本在分布式模式下运行蝗虫:
echo -e "\nStart LOCUST MASTER\n"
locust -f locust_scenario.py --headless -L $LOG_LEVEL --logfile=$LOG --master-bind-port=$MASTER_PORT \
--master-bind-host=$MASTER_IP -u $COUNT_OF_USERS --print-stats --master --expect-workers=$cores --host=$SERVER_HOST&
PID_MASTER=$!
echo "LOCAST MASTER PID = $PID_MASTER"
sleep 5
# start SLAVE (clients)
echo -e "\nStart LOCUST SLAVES\n"
PID_SLAVES=( )
for ((i = 1; i <= $cores; i++));do
locust -f locust_scenario.py --worker --master-host=$MASTER_IP --master-port=$MASTER_PORT -L $LOG_LEVEL --logfile=$LOG &
PID_SLAVES+=( $! )
done
echo "LOCAST SLAVE PIDs = ${PID_SLAVES[@]}"