托管高性能游戏服务器可能是一种微妙的平衡行为。游戏服务器有望通过互联网为远程玩家提供高质量、低延迟的游戏体验。那么,如何正确托管游戏服务器呢?
游戏服务器与专用服务器
首先,让我们快速了解一下游戏服务器和专用服务器之间的区别。您可能听说过人们讨论他们的游戏服务器的硬件规格 - 但是,当谈到用于游戏的游戏服务器 CPU 或服务器 RAM 时,他们实际上是在谈论用于运行游戏的专用服务器的内部组件。
与流行的看法相反,游戏服务器实际上是安装在专用服务器上的软件层。更具体地说,它是一个运行多人游戏服务器端的应用程序实例。专用服务器描述物理硬件。这是通常位于托管数据中心的裸机,可以安装虚拟机或软件。
所以:
- 游戏服务器 = 软件
- 专用服务器 = 硬件
了解这一根本区别将帮助您更好地选择最适合您的游戏服务器托管选项。有没有注意到某些游戏是特定于平台的?它们只能在特定的控制台或操作系统上播放?(这是一些铁杆游戏玩家可能会 非常兴奋的话题 。)嗯,针对特定平台优化的在线游戏服务器也是如此 - 它确保它们快速高效。
然而,大多数游戏服务器都存在一个根本问题——它们的核心代码架构是围绕一个单一的、超快的 CPU 核心来完成所有工作的。作为“单线程”应用程序,它们需要非常高频率的服务器处理器才能在不影响性能的情况下正常运行游戏。为了理解为什么这是一个如此大的问题,我们将探讨 CPU 设计如何超越游戏服务器架构以及它为何如此重要。
游戏服务器 CPU – 简史
多年来,服务器性能通过简单地提高 CPU 的频率或“时钟速度”来提高。通过提高 CPU 时钟速度,芯片制造商能够显着提高性能,从最早的计算机中的赫兹 (Hz) 到我们现在期望的千兆赫 (Ghz) 标准。
但随着生产数量的扩大,对速度的需求超过了制造商制造更快服务器 CPU 的能力。他们还面临着热量和能源使用方面的严重问题——超高速处理器消耗大量电力,并且需要极端的冷却解决方案来维持服务器的稳定性。简单地提高 CPU 时钟速度不再是可行的选择。
解决方案是增加每个 CPU 内的内核数量,允许同时进行更多计算。通过添加更多内核,CPU 时钟速度在服务器性能方面变得不那么重要了。然而,这些多核 CPU 仅在应用程序已针对“多线程”操作进行了适当的重新架构时才能有效工作。许多业务应用程序已重新编码以支持多线程 - 但大多数游戏服务器没有。这使得为游戏选择最佳服务器 CPU 变得更加困难。
最好的游戏服务器 CPU 是什么?
由于许多原因(例如电源要求、服务器冷却规定、硬件成本),现在托管在数据中心的大多数服务器都使用多核 CPU,例如 Intel Xeon 可扩展处理器系列,其时钟速度相对较低,通常为 2.1Ghz 至 2.8Ghz . 这些系统通常用于虚拟化基础设施,允许运营商汇集 CPU、RAM 和网络连接以提高性能。
显然,这不适合单线程、耗电的游戏,这些游戏往往需要运行在 3.5Ghz 或更高频率的游戏服务器 CPU。为了帮助解决这个问题,英特尔开发了 Xeon E 系列高性能处理器。这些英特尔至强服务器 CPU 能够在 8 个内核上提供高达 5.1Ghz 的突发速度——使其成为最佳的游戏服务器 CPU 阵容之一。
如何从我的游戏服务器中获得最大价值?
“但如果游戏服务器是为单线程操作而设计的,那我不是要为另外七个永远不会使用的 CPU 内核付费吗?”好消息是,不,你不是。带有 Intel Xeon E 系列 CPU 的单个裸机机器能够运行游戏服务器的多个实例。理论上,您可以在同一台专用服务器上运行无限数量的游戏服务器,以确保您无需为未使用的资源付费。
这当然取决于应用程序效率、游戏要求的服务器 RAM、虚拟机和物理机的存储和网络配置。您还需要考虑您希望同时服务的玩家数量以及游戏使用的地图或世界的大小。
一家好的游戏服务器托管公司会允许游戏工作室在开发阶段测试硬件,以优化硬件资源的使用。这可确保工作室从其托管游戏服务器投资中获得最大回报 - 并且他们的玩家也拥有最佳体验。(您可以在此处与我们的团队讨论开发阶段的硬件测试 。)
用于游戏的服务器 RAM 有什么特别之处?
在选择游戏服务器时,CPU 往往是最高优先级。但是,用于游戏的服务器 RAM 也很重要——专用机器是否有足够的内存来充分运行应用程序?
CPU 和 RAM 往往具有直接相关性——托管游戏服务器通常保持 CPU 内核数量与分配给每个内核的 RAM 之间的比率。租用配备高功率 Intel Xeon E 系列 CPU 的裸机服务器时,您可能希望同时运行更多游戏服务器实例,在此过程中需要更多 RAM。
这意味着,如果您将 CPU 的功能加倍,您可能也需要将服务器 RAM 加倍来进行游戏。但正如我们所说,唯一确定的方法是测试配置以确保您的投资获得最佳性能。如果您正在权衡您的游戏服务器托管选项、研究最适合游戏的服务器 CPU,或者想为您自己的游戏服务器应用程序安排测试