题 MySQL数据库服务器有更多RAM或更多内核?


这是一个场景,我非常喜欢你的专家建议:

我目前有大约2GB的数据库,可能是一年内的两倍。我想要为我要订购的专用数据库服务器提供最佳服务器性能,这将用作运行WordPress,论坛和mediawiki的相当繁重的流量站点的后端。大多数数据库流量应该是只读的。

所以问题是,我真的需要超过4GB的RAM吗?我应该选择8核还是4核?一个比另一个更重要吗?

[编辑]作为一个后续,最终得到一个8 GB服务器与8 GB RAM的好交易,所以去了。很高兴知道我会有很大的成长空间。


5
2018-01-09 07:29




不要忘记,您需要64位操作系统和应用程序二进制文件才能充分利用4GB RAM。 - petertonoli
当然,在我触摸的每台机器上,我到处使用64位。 - The How-To Geek


答案:


有趣的问题。请先尝试定义当前应用程序的瓶颈。从你的描述和一些实际知识,我猜你有四个可能的瓶颈:

  • NIC
  • 内存
  • 高清吞吐量
  • cpu(速度)
  • cpu(核心)

现在ram不会是一个问题,因为,因为你的db只有2G,你不仅可以缓冲所有键和indizes,而且实际上ram中的整个db有2G,如果你相应地调整了大小(MyISAM-)key_buffer和/或innodb_buffer_pool_cache !你甚至可以使用ram <dbsize,因为通常不会同时使用db的所有部分(ymmv)。

当然ram也用于内存表,排序和排序以及一些连接操作,因此您应该查看数据库执行的查询的复杂性,以及它是否返回非常大的结果集。我不知道,但我相信wordpress和mediawiki都没有真正复杂的操作。所以只需要适量的内存。

高清是任何大型数据库的常见瓶颈,但是无论如何都可以将你的高速缓存放在RAM中,你说你主要是读取操作,所以我会说:对于普通的大型数据库,经验法则是:高清吞吐量是一个主要的瓶颈,所以:1。购买高清,2。不一定买最快的,但购买其中许多。在你的情况下,我会说:无论如何它都被缓存了。

至于核心: MySQL确实可以利用许多核心,但它主要需要它们用于复杂的计算,程序程序以及排序和合并操作。 Siple查询,例如“从表中选择*”,甚至从表中选择*,其中......“不会从更多核心中受益。许多连接将获得微小的好处。我的猜测是你应该选择更快的处理器而不是许多核心。

我相信你应该检查nic作为主要瓶颈,并考虑第二个(第三个,第四个......),取决于主接口上的流量。

所以,总结一下,我会花钱(按顺序): - 不止一个尼克(如果这确实是一个瓶颈) - 快速处理器 - 2 - 4核心 - 2-4G内存,可选择插入8G以后(比核心便宜,无论如何) - 最好的可用磁盘子系统(你现在不需要太多,但它会帮助你稍后扩展)

干杯,尼克。


6
2018-01-09 08:18



请记住,购买的磁盘越多,每个磁盘需要应用的备份和恢复策略就越多。 - icelava


正如nikb所说,理解你的应用是很重要的,但代替了解这一点,我建议遵循以下经验法则。

除非通常只读取或写入数据库的一部分,否则任何数量的额外内核都不会与内存中所有数据库和辅助数据(索引等)的性能优势相匹配。如果你有额外的核心将是有用的 地段 并发客户遇到你或你做了很多后台工作,如报告或索引。

如果我是你,我会选择一款相当新的基于英特尔55xx系列的双插槽服务器,只买一个带有3 x 4GB DDR内存模块的4核超线程处理器(不要让别人卖给你2/4 / 8等,55xx使用3,6,9等等)。这样,您不仅可以非常快速,轻松地在未来添加第二个相同的处理器,但由于这些芯片与即将推出的8核芯片兼容,您可以随时更换最初获得的芯片。

希望这个对你有帮助。


6
2018-01-09 09:11



知道这一点很有用,没有意识到55xx使用了3组的RAM。 - The How-To Geek
是的,三通道,愚蠢的快:) - Chopper3
是的超级快但绝对必须设置为三倍(或双插槽6倍)。并且使用更少的DIMM(3x2GB而不是6x1GB,3x4GB而不是6x2GB或12x1GB)优先构建它。较低的DIMM计数支持更快的DIMM速度,差异可高达30%。配置非常严重的Xeon 55xx RAM(例如4GB,4x1GB DIMM仅使用2个通道以800Mhz运行)与良好设置(3GB,3x1GB DIMM以1333Mhz运行)之间的区别非常严重 - 理论最大带宽从~12GB /秒至~30GB /秒。 - Helvick


Nikb的建议很合理。另外一个考虑因素:

应用程序/应用程序architexture访问实例可以使用多少RAM(或CPU内核或磁盘系统)?

我看到一种情况,即使CPU使用率低于25%且RAM使用率低,四核服务器上具有14GB RAM的应用程序运行速度非常慢。原来,应用程序引擎只能访问1.5GB的RAM。即使机器受到轻微影响,应用程序实例也会被最大化。


0
2018-01-10 10:21