我打算将我的数据库服务器移到更好的新硬件上。当前的数据库服务器除了运行 Centos 4 之外没有任何问题。当前的硬件是 2 个四核 xeon 5335、4 个 15K RPM(RAID 10)和 4GB(是的,实际上只有 4GB)内存。
我的预算内的硬件选择几乎没有价格差异,并且在 RAID 10 中具有相同的 4 个 15K RPM 硬盘。它们是:
- 2 个四核 Xeon 5335,配备 8GB 533/667
- 2 六核 Xeon 2620,配备 16GB 1333
- 4 个双核 Opteron 8212,配备 8GB 667
- 1 台八核 Xeon 2650,配备 8GB 1333
- 1 个四核 Xeon 3460,配备 16GB 1333
除硬盘外,数据库服务器的重要部件的顺序是什么?是这样的:内存大小、内存速度、核心数,然后是缓存大小吗?
答案1
根据我的经验,您要寻找的内容将按以下优先顺序排列:
- 磁盘子系统速度。就我的经验而言,RAID10 是最好的。SSD 可获得加分。
- RAM 总量RAM 越大,服务器能够拥有的缓存就越多。
- 内存速度。更快的 RAM 显然比较慢的 RAM 更好,但是 RAM 总是比磁盘快,因此更多较慢的 RAM 总比更少较快的 RAM 更好。
- CPU 核心数
- CPU 速度
这显然取决于应用程序,但是通常数据库服务器的工作是提供非常快访问数据,因此 CPU 速度不如访问数据(磁盘和 RAM)的速度重要。但显然,如果您在查询中使用大量数学/计算,则需要更多 CPU 资源。
答案2
当谈到 MySQL 时,您还必须考虑数据的默认存储引擎。
如果仅使用 MyISAM 数据,则只需考虑以下内容
磁盘速度、内存速度、总 RAM、CPU
核心数量不是一个重要的因素,因为 MyISAM(实际上是 mysqld)不使用多个核心。
如果仅使用 InnoDB 数据,那么现在您在讨论核心时就会有一些事情要讨论。
MySQL 5.5 现在支持 InnoDB 的多核。
- https://dba.stackexchange.com/a/2948/877
- https://dba.stackexchange.com/a/5670/877
- https://dba.stackexchange.com/a/5968/877
- https://dba.stackexchange.com/a/15185/877
只要您正确配置 InnoDB,所有 CPU 都会全力为 InnoDB 服务。信不信由你,如果您不配置 InnoDB,有些情况下旧版本的 InnoDB 开箱即用速度会比新版本更快。
- https://dba.stackexchange.com/a/3376/877
- https://dba.stackexchange.com/a/8385/877
- https://dba.stackexchange.com/a/16246/877
版主须知
如果链接太多,请不要投反对票。只要提醒我,我就可以从这些链接的摘录中改写。
答案3
从已经说过的所有内容以及我从数据库服务器看到的内容来看:“2 个十六核 xeon 2620,配备 16GB 1333”对我来说似乎是第一选择。
使用速度为 1333 MHz 的 RDIMM3 - 12 或 15 GB 可能比 16 GB 更快,因为您可以将 DIMM 的数量除以 3。
如果您的数据库写入量很大,也请寻找良好的磁盘 IO 性能。