为 PROD 选择正确的 Mysql 服务器

为 PROD 选择正确的 Mysql 服务器

关于为生产服务器选择 mysql 服务器。我有一台 64 位服务器 Centos5,为此我可以选择社区服务器 -> “MySQL Server 5.5.23 Linux AMD64 Binary”,它是根据 GNU 通用公共许可证 v2.0 获得 GA 认证的。

另外,我能否澄清一下,mysql-server 是否需要 libaio.so 包,作为对任何 Linux 版本上的 mysql 5.5 版本的依赖?

因此,为了帮助拥有大量 OLTP 应用程序的业务,我可以将 mysql 服务器标准化,以便在更安全的稳定版本“MySQL Server 5.1.63 Linux AMD64 Binary”上为社区服务器提供二进制分发,而无需 libaio 或“MySQL Server 5.5.23 Linux AMD64 Binary”带有 libaio?

我的方法正确吗?如果我错了,请纠正我。谢谢!


谢谢大家,我上周升级到了 5.5.25。但最初应用程序启动时,它会从大约 150 个并发线程中的几个选择中重建索引和大量更新,以进行更新。因此服务器负载高达 65%(平均负载)。并且从未减少。它在 innodb_flush_log_at_trx_commit | 2 | 中。但读取和写入仍然太高...服务器正在考虑提供 vmstat 结果,并且服务器中的资源处理速度非常慢。但从 DB 的角度来看,应用程序团队没有任何问题,他们的工作像往常一样顺利。但我感到了压力。如果任何参数都保持不变,那么 24 小时后它会慢慢下降到平均负载的 0.2%。现在一切都很好。但我担心 mysql 中的一个概念,不确定有多少人注意到了它。http://bugs.mysql.com/bug.php?id=65837。我已上报,但结果变成了 FR。他们说这是功能请求,但在我看来,他们认为这是“忘记请求”。看看并发表你的评论。再次感谢!!

答案1

关于性能-根据您的特定要求进行基准测试。这完全取决于您的工作量和数据集。

关于分布-你可能需要检查:

  • 您的发行版提供了什么[以尽量减少兼容性、升级和安全补丁方面的问题] - 我倾向于这样做,除非我需要前沿功能或额外的性能百分比。
  • Oracle 提供的二进制版本
  • 例如第三方构建Percona 服务器

答案2

RHEL-original 5.0 肯定不需要:

5.5 - 也许(作为一个包),但根据这份报告 - 5.5 应该可以工作,但不需要它: http://bugs.mysql.com/bug.php?id=60544

[root@srv ~]# rpm -q --requires mysql|grep -i aio
[root@srv ~]# rpm -q --requires mysql-server|grep -i aio
[root@srv ~]# rpm -q --requires mysql-libs|grep -i aio
[root@srv ~]# rpm -qa |grep aio
[root@srv ~]# rpm -q mysql-server
mysql-server-5.0.95-1.el5_7.1
[root@srv ~]# ldd /usr/libexec/mysqld|grep -i aio

您的方法 - 您正在考虑共享库和打包,异步 io,这绝对是正确的。

问题是你会信任 GA 提供的二进制文件还是 Centos/RHEL 二进制文件?我使用 Fedora SRPMS 编译的二进制包。在共享托管环境和企业使用中,5-6 年来从未遇到过任何问题。

谢谢你的提示-很有趣。

答案3

不要忘记测试佩科纳构建,它们有大量的增强和错误修复,其中大多数(但不是全部)也在官方 5.5 版本中。

我认为专注于 5.1 不会给你带来太多好处,5.5 已经是 GA 很长一段时间了,你最终将不得不在合并后再次升级。

相关内容