一般来说,您建议前端 Web 服务器和数据库服务器采用哪种类型的服务器配置?

一般来说,您建议前端 Web 服务器和数据库服务器采用哪种类型的服务器配置?

一般来说,在设置#1前端Web服务器(RoR的nginx / phusion)和#2数据库服务器(mysql)和#3缓存服务器(redis / memcached)时,您为每一个服务器推荐哪种类型的服务器?

我对以下因素感兴趣:

  1. 内存
  2. 硬盘
  3. CPU - 单核/双核/四核

这些将是专用服务器(裸机)或云(ec2),但我现在只是在寻找一般的准则。

答案1

这里没有足够的信息来以具体方式回答您的问题,因此我将提供一些可能有帮助的概括性信息:

对于数据库服务器,您需要一个磁盘大(且速度快)、内存密集的多核/多 CPU 怪兽——假设会有大量磁盘活动,您需要能够将数据库的大部分内容吸入内存以进行快速查询,并且会同时进行大量并行查询。
如何确定其大小取决于很多因素(数据集大小、同时连接数、查询的滥用程度)。典型的磁盘配置包括 RAID-1 配置中的非常快速的 SAS 或 SATA 驱动器(可能使用多个主轴来分离磁盘负载)。
Exception: If your DB will be lightly loaded (now and in the foreseeable future) you can skimp and get a dinky database server. Beware of false economy though: Under-specing your DB server may require an extended outage in the future to migrate to better hardware, so it's almost always better to over-build a bit.

对于 Web 服务器,您需要根据工作量按比例调整其大小。提供大量静态页面不会占用太多 CPU 能力或 RAM。执行大量复杂的 Ruby 工作(在 Web 服务器上处理数据集)可能需要更多资源。实际情况可能介于两者之间。Web
服务器唯一不变的是您需要“足够的磁盘来保存静态内容和任何临时/缓存内容”,而如今的超大磁盘通常很容易满足这一要求。
我的 Web 服务器在相对较小/较慢的 SATA 驱动器上使用 OS 级软件 RAID,通常配备 2-4 GB RAM 和单个双核或四核 CPU(无论我们的供应商目前在售什么),但我们的 Web 应用程序是轻量级的,不会冒这种配置负担过重的风险。

答案2

网络服务器:

  • 相应的 CPU。小型 6 核或多插槽 - 取决于您需要什么。小型磁盘 - 2 个快速磁盘或 ISCSI LUN,2 个分区:操作系统、日志、电子邮件假脱机 ;) 没有内容 - 我的 Web 服务器从中央 NAS 位置提取内容。

  • 数据库:Supermicro 机箱。它们在一台小型机架服务器中配备最多可容纳 72 个 (!) 磁盘的机架盒,外加一块不错的主板。放入一个好的 raid 控制器 (Adaptec)。放入 CPU 并准备放入 RAM。但最终,IOPS 将决定成败。磁盘:4 个磁盘作为 RAID 10 用于操作系统和 TempDB,另 2 个镜像,SSD 用于日志(日志写入延迟对于高写入速度至关重要)。其余用于根据需要的数据。根据需要,RAID 6 或 RAID 10 中的 8 到 16 个磁盘组。使用 Adapted 6xxx 控制器,几个作为读取缓存的 SSD 可能会派上用场。不过,这是相当高端的。

相关内容