We have two data centers, an XtraDB 5.1 server in each, with a master-master replication between them.
Load is spread dynamically, sending an increased load to the datacenter which displays the lowest latency in the fronting web application. Load is high, but plenty of hardware has been thrown at it and general performance is good.
One datacenter (lets call it DC1) receives the majority of the traffic – averaging about 20% more than the other (DC2) due to the dynamic load splitting.
However, I consistently observe a higher IO load on the DC2 server. This can be seen mirrored in the InnoDB_Buffer_Pool_Write_Requests – averaging about 20% higher than DC1. During absolute peak periods this is starting to cause issues as the pages aren’t flushed fast enough, get beyond their age limit, the aggressive flushing algorithm kicks in and write IO gets a bit out of control.
We have some options to speed up our IO (better fs configuration, some changed MySQL config, some application issues), which we are currently pursuing.
However I’d like to know if this is a normal pattern? Are somehow more buffer pool writes caused by replicated writes, rather than direct writes? Is this a symptom anyone has seen before, or has any ideas about?
Thanks in advance,
Edit: Should add that this is fully statement-based replication.