Checking throughput with async MySQL replication
Replication throughput is the measure of just how fast the slaves can apply replication (at least by my definition). In MySQL async replication this is important to know because the single-threaded apply nature of async replication can be a write performance bottleneck. In a production system, we can tell how fast the slave is currently running (applying writes), and we might have historical data to check for the most throughput ever seen, but that doesn’t give us a solid way of determining where we stand right NOW().
An old consulting trick to answer this question is to simply stop replicating on your slave for a minute, (usually just the SQL_THREAD), restart it and watch how long it takes to catch up. We can also watch the slave thread apply rate during this interval to get a sense of just how many writes per second we can do and compare that with the normal rate …[Read more]