对于数据库服务器来说,什么更重要?嗯?内存速度?核心?

Ech*_*ica 11 mysql hardware database

我将把我的数据库服务器移到更好的新硬件上。目前的数据库服务器除了运行 Centos 4 之外没有任何问题。目前的硬件是 2 四核 xeon 5335,RAID 10 中的 4 15K RPM 和 4GB(是的,它真的只有 4GB)内存。

我预算中的硬件选择几乎没有价格差异,并且在 RAID 10 中将具有相同的 4 个 15K RPM 硬盘。它们是:

  • 2 个四核至强 5335 带 8GB 533/667
  • 2 六核至强 2620,16GB 1333
  • 4 双核 opteron 8212 带 8GB 667
  • 1 个八核至强 2650,8GB 1333
  • 1 个四核至强 3460,带 16GB 1333

不包括硬盘驱动器,数据库服务器的重要部件的顺序是什么?它是这样的:内存大小、内存速度、内核,然后是缓存大小?

Jos*_*osh 21

根据我的经验,您要查找的内容将按以下优先级顺序排列:

  1. 磁盘子系统速度。根据我的经验,RAID10 是最好的。SSD 的奖励积分。
  2. RAM 总量 RAM越多,您的服务器能够拥有的缓存就越多。
  3. 内存速度。较快的 RAM 显然比较慢的 RAM 好,但是 RAM 总是比磁盘快,因此较慢的 RAM 比较慢的 RAM 好。
  4. CPU内核数
  5. CPU速度

这显然取决于应用程序,但通常数据库服务器的工作是提供对数据的真正快速访问,因此 CPU 速度不如访问数据(磁盘和 RAM)的速度重要。但显然,如果您在查询中使用大量数学/计算,则需要更多 CPU 资源。

  • 根据数据库架构,我会说更多的内核总体上会比更高的 cpu 速度更好,因为更高的时钟频率!= 更短的管道,并且那里需要考虑的事情太多了,但是有了更多的内核,操作系统可以有更多的空间做副进程,引擎通常足够聪明,能够将自己分散到更多的核心上。 (2认同)
  • 由于特别提到了 MySQL,因此更快的处理器通常是比更多处理器更好的选择(假设您不只是谈论 1 或 2),因为单个查询的速度从根本上受到单个处理器速度的限制。由于内部互斥量和信号量争用,即使是最新的 MySQL 版本也不能像其他一些跨多个内核的 RDBMS 那样扩展。我运行了几个 24 核服务器,我会用我的左臂交换它们,以换取速度提高 1.5 倍的一半的内核。 (2认同)

Rol*_*DBA 7

谈到 MySQL,您还必须考虑数据的默认存储引擎。

如果仅使用 MyISAM 数据,则只需考虑以下几点

磁盘速度、内存速度、总内存、CPU

核心数是一个很大的非因素,因为 MyISAM(实际上是 mysqld)不使用多个核心。

如果仅使用 InnoDB 数据,那么现在您可以谈论核心。

MySQL 5.5 现在带有对 InnoDB 的多核支持。

只要您正确配置 InnoDB,所有 CPU 都会在 InnoDB 的所有柱面上启动。信不信由你,如果你不配置 InnoDB,在某些情况下,旧版本的 InnoDB 开箱即用比新版本更快。

版主须知

如果链接太多,请不要投反对票。提醒我,我可以从这些链接的摘录中进行解释。