最近,我們在使用mysql從庫時發(fā)現(xiàn)了一個問題,即從庫的執(zhí)行效率相比主庫要慢很多。
我們首先進行了一些基本的排查,比如檢查硬件配置等,但都沒有發(fā)現(xiàn)明顯的問題。
接著,我們考慮到了從庫本身的配置和使用情況。
show slave status\G;
首先,我們使用了上述命令查看從庫的狀態(tài),發(fā)現(xiàn)Slave_IO_Running和Slave_SQL_Running均為Yes,證明從庫與主庫的連接正常,并且從庫成功接收到了主庫的更新。
show global variables like '%innodb%';
我們又使用了這個命令查看InnoDB的相關(guān)配置,發(fā)現(xiàn)從庫和主庫的配置幾乎相同。但是,我們發(fā)現(xiàn)從庫的InnoDB Buffer Pool Size比主庫小了很多。因此,我們把從庫的這個值調(diào)整到和主庫一樣。
set global innodb_buffer_pool_size=xxx;
結(jié)果,我們發(fā)現(xiàn)從庫的執(zhí)行效率明顯地提升了很多。
總結(jié)來說,mysql從庫的執(zhí)行效率慢可能是由于緩存配置過小等原因,我們需要認真地檢查和配置從庫,才能使它能夠更好地服務于我們的應用。
上一篇mobi vue 文檔