Zatímco primárně pomáhám svému klientovi s laděním výkonu SQL Serveru prostřednictvím Comprehensive Database Performance Health Check , byly chvíle, kdy jsem svým klientům pomohl s výkonem MySQL, když znám řešení. Pojďme probrat Slow Query a innodb_buffer_pool_size.
Během nedávné konzultační zakázky měl klient dotaz spuštěný velmi rychle v SQL Server, ale velmi pomalý v MySQL. Výkon hardwaru byl velmi stejný pro obě instalace. Chtěli, abych jim pomohl pochopit, proč dotaz MySQL běží tak pomalu, zatímco druhý běží velmi rychle.
Provedli jsme poměrně dost testů a změnili spoustu konfiguračních parametrů. Moc se nám však nedařilo. Po chvíli jsme se podívali na konfigurační soubor MySQL. Konfigurační soubor MySQL naleznete zde v Linuxu:/etc/mysql/my.conf
V tomto souboru jsme našli hodnotu innodb_buffer_pool_size a byla nastavena na velmi pomalou hodnotu. Změnili jsme hodnotu této proměnné na vyšší hodnotu (z MB na GB) a okamžitě jsme mohli vidět zlepšení výkonu dotazu. Bylo to tak jednoduché řešení problému, že jsme všichni strávili spoustu času jeho řešením.
Hodnotu proměnné můžete také zjistit spuštěním následujícího skriptu:
show variables like 'inno%'
Nezapomeňte po změně hodnoty konfiguračního souboru restartovat služby MySQL, jinak to nebude mít žádný účinek.
Pokud se vám tento blog líbil, nezapomeňte se přihlásit k odběru mého kanálu YouTube – SQL za šedesát sekund .