我们正在维护安装在客户虚拟服务器上的系统的开发。此应用程序有时需要运行繁重的工作。但是它只被授予一个核心。
我认为有必要避免某个应用程序失控并导致所有其他应用程序停止运行。只要不让任何应用程序访问超过一半的处理器,就可以轻松避免这种情况。
似乎有些客户管理虚拟机的方式就像云提供商一样;尽可能少地为每个应用程序提供资源。这对云提供商来说很有意义,因为他们可以收取额外的升级费用,但在我看来,对于客户来说,这只会导致利用率不足。
是否有既定的核心管理良好实践?
答案1
是否有既定的核心管理良好实践?
您已经给出了答案:尽可能少地提供每个应用程序。
理想情况下,供应商系统要求文档会提供合理的大小建议(而不是像通常那样使用过多的 CPU 核心/内存/IOPS,以确保安全并始终防止潜在的性能问题)。我希望看到最低支持配置和大小表:
- 使用场景 A -> 硬件要求 B
- 使用场景 X -> 硬件要求 Y
答案2
当然,应用程序需要从多个核心中获益,然后才能为其提供多个帮助。有些是单线程的。
关于从旋转过程中恢复,典型的反驳是编写更好的软件,不这样做,并且操作系统仍然有足够的响应能力进行恢复。
为了在高利用率期间获得最佳响应时间,对延迟敏感的环境可能会决定不超额订购处理器核心。即使使用 12 或 18 个核心插槽,这也会增加成本。