假设我有两台服务器,都具有相同的 RAID 10 SSD HDD、128GB Ram 等。我想知道该买哪台服务器。以下两种设置之间的价格差异很大,我不想为 MySQL 可能不会使用或技术上会降级的资源支付大约两倍的价格?
服务器 1:单处理器 Intel Xeon E3-1270 v3 @ 3.50GHz,单线程 PassMark 得分为 2212
对阵
服务器 2:四核 Intel Xeon E5-4650 @ 2.70GHz,单线程 PassMark 得分为 1483
现在 4650 是价格更昂贵的 CPU,因为它是四核处理器,八核,而 1270 是单核处理器。我的直觉告诉我服务器 2 的性能要强大得多,但从单线程性能来看,服务器 1 实际上要好得多。
这让我很疑惑,对于 MySQL 性能,我是否应该只关注单线程性能,即选择服务器 1 以获得双赢?还是我的看法错了?
编辑: 附加信息(服务器 1 和服务器 2 之间相同)
1)CentOS 7 64位
2)一个非常大的数据库
3)数据库几乎全部是 MyISAM
答案1
你问的这个问题很有指向性。为什么?
你没有误解这个问题。我希望有更多人问这样的问题。
不管你信不信,在极少数情况下,旧版本的 MySQL 可以胜过新版本的 MySQL。什么时候?在单线程环境中。
我几年前写过一篇文章,其中引用了 MySQL Performance Blog
Jun 19, 2011
:如何正确执行 MySQL 烘焙?Apr 12, 2012
:CPU 性能与数据库服务器相关吗?
Percona 按照您的说法进行了全面比较,所有条件都相同。这适用于硬件和 my.cnf 配置。
带有 InnoDB 插件的 MySQL 4.1 和 MySQL 5.1(MySQL 5.1.38 引入了 InnoDB 插件(参见MySQL 5.1 文档The InnoDB Storage Engine
标题为Additional Resources
)) 似乎比“其他条件相同”的较新版本的 MySQL 速度更快。
当谈到“所有条件都相同”并寻求最佳性能时,您真正剩下的就是扩展硬件(添加更多 CPU、添加 RAM、获得更好的磁盘等)。使用旧版本的 MySQL 可能会有所帮助,但您只能听天由命,因为旧版本的 MySQL 仍然存在错误。
此时无需进行任何更改,只需使用服务器 1。
如果您决定使用更多 CPU,那么请升级 MySQL。必须正确调整 MySQL 对 InnoDB 的使用。