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

时间:2011-11-01 19:28:50

标签: mysql innodb percona

我在MySQL服务器中遇到过脏页刷新问题。由于服务器中缺少资源,这会占用大量CPU资源并导致我的网站崩溃。我在数据库中获得了1000万条记录,并将进一步增长。我的表在innodb中运行,从基于事务的站点开始,我需要innodb。将迁移到Percona服务器将删除我的脏页刷新问题。一般来说,迁移或坚持使用MySQL会更好吗?

一旦我搬到percona,如果我想恢复到Mysql,我可以将备份从percona恢复到mysql吗?

4 个答案:

答案 0 :(得分:30)

Percona Server对刷新有很多改进。但是在这么小的数据库上,可能会出现问题,例如缓冲池和日志文件大小是默认值而不是为生产工作负载配置。我同意你需要测量和理解问题的其他海报,然后再尝试一下它是否会解决问题。不过,我不同意迁移到Percona Server需要被视为风险和时间密集的举措。您可以简单地将/ usr / sbin / mysqld替换为从Percona Server的tarball中提取的那个,如果您不喜欢它,请将旧的二进制文件放回原处。 Percona Server只是MySQL,具有一些无中断的改进,你可以确信切换到/来自它只会工作。 (顺便说一下,我为Percona工作。)

答案 1 :(得分:5)

Percona Server确实比“vanilla”mysql提供了很多性能优势。它具有一些专门用于提高刷新性能的功能,尤其是在SSD服务器上。

如果Percona Server无法正常工作,您可以回滚到正常的mysql。有一些默认情况下未启用的“额外”功能会破坏向后兼容性。只是不要更改那些(在Percona Server文档中记录),你会没事的。

我的公司在高端SSD服务器上使用带有XtraDB的Percona Server 5.5,我们除了很棒的经验之外什么都没有。

答案 2 :(得分:0)

MariaDB或Percona Server也会出现脏页刷新问题。您必须了解为什么以及何时出现脏页刷新的峰值。 通常,InnoDB日志文件太小是一个问题。你有没有检查过这个。一个更高级的话题是MySQL的刷新率(默认情况下限制为200页/秒)。但为此你需要很好地测量你的系统......

答案 3 :(得分:0)

执行以下操作:

  1. 在非生产硬件上重现性能问题,但在实验室中重现生产级硬件
  2. 升级到Percona服务器,或执行其他更改,衡量性能,以确定是否修复了它。
  3. 假设您的结果良好,请在您的应用程序上执行大规模功能回归测试,以检查移动到Percona服务器是否没有引入回归。
  4. 对您的应用程序进行浸泡和压力测试 - 在具有生产规模数据(或更大)的非生产系统上。
  5. 测试回滚计划,以验证您是否可以成功返回MySQL
  6. 如果您对上述所有内容的结果非常满意,那么您可以计划将其发布到生产中。
  7. 但老实说,如果你不想做那些事情,可以考虑找另一种方法来解决它。也许有一种方法可以修复应用程序以存储更少的数据,更少地修改数据等等。

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

    1000万条记录绝对是 tiny ,即使是最小的服务器(比如16G ram)也应该能够将整个数据库保留在内存中。因此,除非您进行大量更新,否则

    你能找到风险较低的方法吗?