Bug #61270 | parallel fysnc operations (transaction commits) do not scale on the slave | ||
---|---|---|---|
Submitted: | 23 May 2011 19:16 | Modified: | 16 Jan 2013 17:13 |
Reporter: | Mark Stier | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S5 (Performance) |
Version: | 5.5.12 | OS: | Any |
Assigned to: | Matthew Lord | CPU Architecture: | Any |
Tags: | performance, replication |
[23 May 2011 19:16]
Mark Stier
[11 Jan 2012 15:55]
Valeriy Kravchuk
I think ongoing work on "parallel slave" may help. See: http://forge.mysql.com/worklog/task.php?id=5569 http://forge.mysql.com/worklog/task.php?id=5754 and other related worklogs.
[11 Jan 2012 21:22]
Mark Stier
Sorry, cannot login to forge.mysql.com, so I give my 2 cents here: you are basically talking of "sharding" there. My guess is that it could be helpful where synchronuous (consistent) disk writes on the slave are switched off. However, in any paranoid setup with full sync enabled on the slave(s), sharding won't help that much. A much better solution would be (IMHO) to group transactions, thereby enlarging the average transaction and reducing the number of actual commits. Think of "transaction replication granularity".
[16 Jan 2013 17:13]
Matthew Lord
This issue has been resolved in MySQL 5.6, with the functionality changed to store all the replication related info in transactional InnoDB tables (crash safe slaves) rather than these separate non-transactional files. There are also many other relevant improvements, such as binlog group commit and multi-threaded execution on the slave. http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html#replication http://dev.mysql.com/doc/refman/5.6/en/slave-logs.html I will mark this as closed, fixed in MySQL 5.6. If you feel that there is any specific case not covered in the 5.6 implementation, then please let me know.
[16 Jan 2013 17:17]
Matthew Lord
For reference: http://mysqlmusings.blogspot.fr/2012/06/binary-log-group-commit-in-mysql-56.html
[16 Jan 2013 23:36]
Mike Starn
> Binary Log Group Commit - New in the 5.6 RC, replication *masters* now group writes to the Binlog on disk, rather than committing them one at a time, significantly improving performance on the *master side* of the topology. So, no, the performance difference between master and slave seems to have become even more excessive now.