Is your MySQL buffer pool warm? Make it sweat!

Artikeln, del 1 av 2, beskriver en lösning för att hålla MySQL:s buffertpool "varm" på en standby-server för att förhindra prestandaförsämring vid failover. Traditionella "varma" standby-servrar är ofta otillräckliga vid hög trafik eftersom deras buffertpooler saknar nyligen åtkomna sidor, vilket leder till låga cache-träffar och I/O-flaskhalsar. Lösningen, utvecklad med Groupon och Percona, involverar att logga alla frågor med long_query_time=0 och strömma dessa loggar via MySQL_slowlogd till standby-servern. På standby-servern används Percona-playback (version 0.6+) för att spela upp frågorna, med nyckelfunktioner som –query-log-stdin, innodb_fake_changes (kräver Percona Server) och en trådpool för att effektivt värma cachen. Benchmarking visar att denna metod framgångsrikt värmer upp buffertpoolen, vilket resulterar i en minskning av I/O-användningen med två storleksordningar vid failover.