我应该从MySQL迁移到Percona服务器吗?

23

我在MySQL服务器上遇到了脏页刷新问题。这占用了大量的CPU资源,由于服务器剩余资源不足,导致我的网站变得不可用。我数据库中有1000万条记录,并且它将进一步增长。我的表正在运行innodb,并且由于它是基于事务的站点,所以我需要它。迁移到Percona服务器是否会消除我的脏页刷新问题?一般来说,是迁移好还是坚持使用MySQL更好?

一旦我转移到percona,如果我想恢复到Mysql,我能否从percona恢复备份到mysql?

4个回答

30

Percona Server 有许多改进的刷新功能。但在这么小的数据库中,很可能出现问题,比如缓冲池和日志文件大小未配置为生产工作负载而是维持默认值。我同意其他发帖者的看法,在尝试解决问题之前,您需要测量并了解问题。然而,我不认为将迁移到 Percona Server 视为风险大和耗时的操作。您只需用 Percona Server 的 tarball 中提取的替换 /usr/sbin/mysqld,并且如果您不喜欢它,可以将旧的二进制文件放回去。Percona Server 只是 MySQL 带有一些非破坏性的改进,您可以放心地在其之间切换。(顺便说一下,我是 Percona 的员工。)


谢谢Baron。FYI,我也在与Percona销售部门联系以获取支持包。 - devuser29
谢谢Baron。你的回答也帮了我很多。但是我在想,从MySql转移到MariaDB是否是正确的选择呢? - Pulkit Pithva

5
Percona Server相对于“普通”MySQL来说,提供了许多性能优势。它具有一些专门设计的功能,可以增加刷新性能,特别是在SSD服务器上。如果Percona Server不适合您,您可以回滚到正常的MySQL。有一些“额外”的功能没有默认启用,这些功能会破坏向后兼容性。只要不更改那些(在Percona Server文档中记录),您就会没问题。我的公司正在使用在高端SSD服务器上使用Percona Server 5.5和XtraDB,并且我们一直以来都非常满意。

我们正在使用SAS硬盘。那会有很大影响吗? - devuser29

0

脏页刷新也会在MariaDB或Percona Server中发生。您必须了解为什么以及何时会出现脏页刷新的峰值。 通常,InnoDB日志文件大小过小是问题所在。您已经检查过了吗?更高级的话题是MySQL的刷新速率(默认情况下限制为每秒200页)。但是,为此您需要非常好地测量您的系统...


Innodb日志没有受到限制。我该如何增加刷新速率? - devuser29

0

请按照以下步骤操作:

  1. 在您的实验室中,使用非生产硬件但是生产级别的硬件重现性能问题。
  2. 升级到Percona服务器或进行其他更改,并测量性能以确定是否解决了问题。
  3. 假设您的结果良好,请对应用程序进行大规模功能回归测试,以检查是否引入了Percona服务器的回归。
  4. 在非生产系统上使用生产大小的数据(或更大)对应用程序进行浸泡和压力测试。
  5. 测试回滚计划,以验证您实际上可以成功返回MySQL。
  6. 如果您对以上所有结果完全满意,则可以计划发布到生产环境。

但是,如果您不想执行这些操作,请考虑找到另一种解决方法。也许您可以通过减少存储的数据、较少修改数据等方式来修复应用程序。

也许您可以添加更强大的硬件?

1000万条记录绝对是微不足道的,即使是最小的服务器(比如16G内存)也应该能够将整个数据库保存在内存中。因此,除非您正在进行大量更新,否则您不能找到一种风险更小的方法吗?


是的,我正在尝试采用较少风险的方式。但同时,我已经要求我的团队尝试使用Percona,同时我也在努力解决这个问题。这个服务器真的很棒。我们刚刚为未来的负载做好了准备,配备了双六核和48GB内存以及SAS RAID 10。 - devuser29

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接