我想使用由法国 OVH 托管的廉价 VPS(1 个 vCore、2 GB RAM、40 GB SSD NVMe、250 Mbps 不限速)来托管一个将用于本月活动的 icecast 服务器。将有多达 500 个 CCU 监听 128 kbps 音频流。
根据我对本文的阅读,在我看来 250 Mbps 应该足以响应负载,但我没有任何管理此类问题的经验。
我的理由是 128kb*500CCU + 10% 开销 = 大约 70 Mb/s。
我还想知道 OVH 提供的 250 Mbps 不计量是否得到保证,或者使用该机器的其他客户端托管的其他服务的负载是否会对性能产生影响。(我已经问过OVH,但他们并不是特别有帮助)
谢谢你的见解!塞缪尔
更新
我已经使用上面链接中描述的脚本设置了负载测试场景。
#!/bin/sh
#
# max concurrent curls to kick off
max=600
# how long to sleep between each curl, can be decimal 0.5
delay=1
# how long to stay connected (in seconds)
duration=1800
# url to request from
URL=<theURL>
echo "Start load test"
while /bin/true
do
count=0
while [ $count -le $max ]
do
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
curl -m $duration --silent --output /dev/null "$URL" &
[ "$delay" != "" ] && sleep $delay
let count=$count+10
echo "Added 10 clients, now at $count clients"
done
wait
done
在 VPS1(“客户端”机器)上启动脚本之前,我在 VPS2(“服务器”机器,icecast2 服务器所在的位置)上的网络接口上使用 slurm 打开了一个窗口来监控网络使用情况,如下所示:
slurm -i eth0
我还打开了一个窗口来监控 icecast 的 CPU 使用情况(在 VPS2 上),如下所示:
top -p <PID OF ICECAST>
并在收听广播流时启动脚本。一切都很顺利,我没有听到任何故障,而且 CPU 使用率(600 CCU 时为 6%)非常合理(网络使用率也比我预期的要低得多,峰值使用率是 17MB),所以我猜我的设置通过负载测试!
谢谢您的帮助。