如何保证VPS的CPU时间?

Евг*_*ков 0 linux vps debian hyper-v performance-monitoring

我提供了 VPS 并且使用 virgin Debian 它经常挂起:简单的 ssh 命令响应时间太长。这是坏的 :(

我为它做了基准测试:每 2 分钟它就会启动 ffmpeg 来转换 30 秒的低质量视频。通常需要 3 秒,但挂起时间约为 20 秒。

基准 ffmpeg

此外,我每 2 分钟 ping VPS。图是一样的。

良好表现间隔的持续时间约为 15 分钟,不良表现间隔持续时间约为 25 分钟 ping时间

您可以使用数据https://docs.google.com/spreadsheets/d/1XYQV-5mompcFidOHL7XzbvvrVnjn_ZHnvBaND6RrrVY/edit?usp=sharing

该主机的另一台服务器

同样的情况,但不要批评

在此处输入图片说明

在此处输入图片说明

如何避免这种情况?

似乎,托管在同一台专用服务器上的 neigbour VPS 会定期启动高 CPU 负载任务。也许是系统备份或相同的任务。据我所知,内存是有保证的,但不是 CPU。

我也有另一个来自该主机的 VPS,看起来还可以(它也有相同的峰值,但要少得多)

专用服务器对这个项目来说太贵了。

这是主机独立的情况,改变提供是个坏主意

HBr*_*ijn 5

通常,您一分钱一分货,相对便宜的托管服务提供商只能通过多次过度使用 CPU 来以具有竞争力的价格提供他们的服务,即在具有 48 核和 128 GB 内存的服务器上,然后他们可以尝试托管 100+ 1 核/1GB 内存的 VPS 实例。只要大多数 VPS 大部分处于空闲状态,当太多的 VPS 正在运行开始崩溃的 CPU 密集型负载时,它就可以很好地工作。

Linux内核实际上有一个专门的计数器显示,如果正在发生以及如何频繁,“CPU偷时间”计数器,显示%sttop。您可能应该开始从您的 VPS 监控它。

CPU 窃取时间是一种非自愿的等待,您的 VPS 正在尝试运行某些东西,但管理程序不会将请求的 CPU 周期分配给您的 VPS,而是分配给也竞争 CPU 时间的相邻 VPS 之一。

您可以采取的措施是:

  • 花更多的钱去一个不会过度使用的提供商那里,它会为您提供有保证的资源。
  • 当您检测到高窃取时间时,请终止您的 VPS,并且当您重新启动/重新部署时,它很可能会在另一台负载较小的服务器上再次启动。