![我有 2 台服务器,使用更快的 Web 服务器(IIS)还是数据库服务器(MySQL)?](https://linux22.com/image/587561/%E6%88%91%E6%9C%89%202%20%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%9B%B4%E5%BF%AB%E7%9A%84%20Web%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%88IIS%EF%BC%89%E8%BF%98%E6%98%AF%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%88MySQL%EF%BC%89%EF%BC%9F.png)
我目前有 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
答案2
如果两台服务器都是 Windows(即使是运行 MySQL 的服务器),你可以轻松地监控瓶颈所在性能监视器。您将需要测量 %CPU 时间、页面数/秒(这是交换的度量,因此也是内存压力的度量)和平均磁盘队列长度(这是未完成磁盘 IO 的度量)。
我猜你会发现两者都不受 CPU 限制,并且数据库服务器将具有更高的磁盘队列长度和页面/秒。这意味着向数据库服务器添加更多 RAM 或更快的磁盘将为您带来更好的体验。
请仔细查看峰在您的统计数据中,并使用一小段时间进行采样(例如 10 秒)。记录到文件/数据库,而不仅仅是 GUI 显示,并在 Excel 中处理数据。长期计数器样本是平均值,因此即使 60 秒也可能隐藏非常糟糕的用户体验。还要注意,添加更多 RAM 通常会减少磁盘队列长度,因为更多的读取可能来自 RAM 缓存而不是磁盘。