我发现我的 VPS 上的 imagemagick/convert 应用程序由于我的盒子上的高负载而导致问题。现在,我将优先级为 10 的 renice 添加到所有这些转换过程中,以便每分钟进行节流。
但是,我不确定它是否真的减慢了进程并减轻了我的 CPU(只有 1 核)。
如何真正确保特定进程不会显着增加负载或攻击稳定系统?
我有超过 500MB 的可用 RAM,几乎没有任何交换在使用中,而且任何时候 iowait 都很低。所以我想,这真的是因为只有 1 个核心的 cpu。大多数情况下,这就足够了,无需等待。但在某些转换正在运行的情况下,它会失败。
重新处理进程不会降低您的平均负载——毕竟,较低优先级的进程仍在运行队列中。然而,无论如何,平均负载是衡量响应能力的一个糟糕指标。您应该监控服务的业务相关性能统计数据(例如,延迟是否重要?衡量那个。吞吐量重要吗?衡量那个)。将配置更改(例如降低转换作业的优先级)与业务级别指标相关联,应该告诉您更改是否产生了影响,如果产生了影响,影响有多大以及是否足够。