Konfigurace MySQL parametru innodb buffer pool size

Z Wiki PCiNET 08 spol. s r.o.
Verze z 9. 3. 2023, 15:20, kterou vytvořil Admin (diskuse | příspěvky) (založena nová stránka s textem „Hodnota innodb_buffer_pool_size je hodnota, která nám určuje velikost vyrovnávací paměti pro databázový server. Měla by být vypočítávána z velikosti RAM v serveru a její příliš nízká hodnota má za následek zpomalení aplikací, jelikož se data načítají z disku a ne z mezipaměti z RAM. V našem případě má server 16GB RAM a optimální hodnota by měla být cca 75% velikosti RAM, což nám dává nastavení innodb_buffer_…“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

Hodnota innodb_buffer_pool_size je hodnota, která nám určuje velikost vyrovnávací paměti pro databázový server. Měla by být vypočítávána z velikosti RAM v serveru a její příliš nízká hodnota má za následek zpomalení aplikací, jelikož se data načítají z disku a ne z mezipaměti z RAM.

V našem případě má server 16GB RAM a optimální hodnota by měla být cca 75% velikosti RAM, což nám dává nastavení innodb_buffer_pool_size=12GB.

Změnu lze provést dvěma způsoby.

Dočasná změna:

Lze parametr změnit po přihlášení do mysql databáze příkazem mysql -u root -p a zadáním hesla.

Po restartu mysql nebo systému se hodnota vrátí na původních 128MB.

mysql> SET GLOBAL innodb_buffer_pool_size=12288000000;

Trvalá změna:

Zápisem parametru do konfiguračního souboru /etc/my.cnf a to pod [mysqld], bez toho to nefunguje.

[mysqld]

innodb_buffer_pool_size = 12G

Po restartu mysql se změna projeví a hned je vidět, že je využito více RAM a systém neswapuje.