将多个 CPU 平台与蝗虫一起使用
using multi-CPU platforms with locust
我在 运行 htop 和 locust 运行 在同一台机器上。在今天早上我 运行 进行的测试中,我看到一个 CPU(共 4 个)达到 100%,而其他 CPU 基本上处于空闲状态。我还观察了多达 8 个蝗虫任务 运行。这不是 运行 分发的。 Locust 如何实现线程和多处理以最大化机器的可用能力?
见https://docs.locust.io/en/stable/running-locust-distributed.html
这适用于 运行 分布在多台机器上或仅分布在多个内核上。
您需要每个核心一个工作进程才能充分利用机器。
您可以在分布式模式下将此 bash 脚本用于 运行 Locust:
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[@]}"
我在 运行 htop 和 locust 运行 在同一台机器上。在今天早上我 运行 进行的测试中,我看到一个 CPU(共 4 个)达到 100%,而其他 CPU 基本上处于空闲状态。我还观察了多达 8 个蝗虫任务 运行。这不是 运行 分发的。 Locust 如何实现线程和多处理以最大化机器的可用能力?
见https://docs.locust.io/en/stable/running-locust-distributed.html
这适用于 运行 分布在多台机器上或仅分布在多个内核上。
您需要每个核心一个工作进程才能充分利用机器。
您可以在分布式模式下将此 bash 脚本用于 运行 Locust:
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[@]}"