蝗虫使用多CPU平台

时间:2020-06-03 12:50:39

标签: locust

我在蝗虫所在的同一台机器上运行htop。在今天早上进行的测试中,我看到一个CPU(占4个)命中率100%,而其他CPU基本上处于空闲状态。我还观察到多达8个蝗虫任务正在运行。这不是分布式运行。蝗虫如何实现线程化和多处理以最大化机器的可用功能?enter image description here

2 个答案:

答案 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[@]}"