我有 2 台服务器,使用更快的 Web 服务器(IIS)还是数据库服务器(MySQL)?

我有 2 台服务器,使用更快的 Web 服务器(IIS)还是数据库服务器(MySQL)?

我目前有 2 台 1U 机架服务器,一台运行 IIS,另一台运行 MySQL。我正在更换数据库服务器,因为硬件太旧了。不过,我购买的新服务器也比我的 Web 服务器快,所以我正在尝试决定哪台服务器应该承担每个角色。

我当前的 Web 服务器是 Dell R200,配有 Intel XEON X3220 和 4GB 内存。我新买的服务器是 Dell Poweredge 1950,配有双 Intel XEON X5460 和 16GB 内存。

我还购买了英特尔 SSD,用于成为专用数据库服务器的服务器。两台服务器目前都有 10k SAS 驱动器。

X3220 CPU Passmark 得分为 3,000,X5460 CPU Passmark 得分为 10,000

在我看来,PHP 比 MySQL 占用更多的 CPU。我在 IIS 上托管了 30 多个网站,所有网站都使用 PHP,还有一些在 Drupal 上运行。这似乎是一个简单的选择,但将所有内容从一台服务器转移到另一台服务器需要大量工作。也许我的想法不正确,MySQL 确实可以从更快的 CPU 中受益。

答案1

答案很大程度上取决于您如何使用服务器。您应该花时间弄清楚是什么限制了每台服务器的性能。您可以使用类似以下方法跟踪统计数据新遗物或者穆宁或 monitor.us(作为新用户用完了链接)并找出哪些是 CPU 密集型的,哪些是内存密集型的,哪些是 IO 密集型的。

根据我的经验,您的 Web 服务器将受 CPU 限制,而您的数据库服务器将受磁盘 IO 和内存限制,因此这有点难以抉择,因为新服务器在这两个方面都更好。话虽如此,升级内存通常比升级处理器更容易,因此我会在 DB 服务器上安装更多内存,并将 Web 服务器放在新服务器上。

答案2

如果两台服务器都是 Windows(即使是运行 MySQL 的服务器),你可以轻松地监控瓶颈所在性能监视器。您将需要测量 %CPU 时间、页面数/秒(这是交换的度量,因此也是内存压力的度量)和平均磁盘队列长度(这是未完成磁盘 IO 的度量)。

我猜你会发现两者都不受 CPU 限制,并且数据库服务器将具有更高的磁盘队列长度和页面/秒。这意味着向数据库服务器添加更多 RAM 或更快的磁盘将为您带来更好的体验。

请仔细查看在您的统计数据中,并使用一小段时间进行采样(例如 10 秒)。记录到文件/数据库,而不仅仅是 GUI 显示,并在 Excel 中处理数据。长期计数器样本是平均值,因此即使 60 秒也可能隐藏非常糟糕的用户体验。还要注意,添加更多 RAM 通常会减少磁盘队列长度,因为更多的读取可能来自 RAM 缓存而不是磁盘。

相关内容