Optimális beállítás mysql, akkor tudásbázis

Standard paraméterek kiszámítása a MySQL adatbázist a mikroszkopikus alatt dolgozó kis terhelés szerény hardver.

Mysql eljárás optimális konfiguráció két részből áll - a kezdeti beállítás és olyan paraméterek beállítását működés közben. Beállítási paraméterek működése sok tekintetben függ a sajátosságait a rendszer és annak ellenőrzése. Fogjuk megérteni a paramétereket és irányelvek telepítése az értéküket.

Beállítások meg kell tenni a my.cnf.

innodb_buffer_pool_size

Ha csak InnoDB táblák, ennek értéke a lehető legnagyobb a rendszer. InnoDB cache puffere mind adatokat és indexeket. Ezért ez a kulcs értékét kell telepíteni 70% ... 80% -a rendelkezésre álló memóriát.

# Ezzel a szerver 32GB RAM

innodb_log_file_size

Ez a beállítás befolyásolja az írási sebességet. Ez határozza meg a méret a log műveletek (tehát a művelet első a naplóba, majd alkalmazni az adatok a lemezen). Minél nagyobb a naplóban, annál gyorsabban fog működni bejegyzések (mivel azok jobban illeszkedik a log file). Fájlok mindig két, és azonos méretű. Az érték a paraméter határozza meg a fájl méretét:

# Így a két fájl naplózza mérete 2x512M = 1G

innodb_log_buffer_size

# Az alapértelmezett értékek 1M legyen elég a legtöbb esetben

innodb_file_per_table

Ha engedélyezi ezt a beállítást, InnoDB elmenti az adatokat az összes asztal külön fájlokban (az alapértelmezett helyett fájl). A növekedés nem a teljesítmény, de van számos előnye van:

  • Ha töröl egy asztal, a lemez fog megjelenni. Alapértelmezésben a megosztott adatok fájl csak bővíteni, de nem csökken.
  • Kompressziós táblázatos formában kell kapcsolnia ezt az opciót.

# A 5.6 verzióját ez az opció alapértelmezés szerint engedélyezve

innodb_flush_method

Ez a paraméter határozza meg a reset logika a lemezre. A modern rendszerek RAID és hát Uzes, akkor választhat O_DSYNC és O_DIRECT:

# Legyen tisztában a kötelező használatának redundáns elemeket (például, makettek)

innodb_flush_log_at_trx_commit

A beállítás módosítása növelheti az áthaladó adatokat rekordok a százszor a bázis. Ez határozza meg, hogy a MySQL fogják állítani minden tranzakciót a lemezre (a log file).

Ott kell, hogy vezérelje ezt a logikát:

  • innodb_flush_log_at_trx_commit = 1 az esetekre, amikor az adatok integritását - az első számú prioritás.
  • innodb_flush_log_at_trx_commit = 2 azokra az esetekre, amikor egy kis adatvesztés nem kritikus (például akkor két példányban, és visszaállítani egy kis veszteség). Ebben az esetben a tranzakció bocsátott a napló lemezre csak egyszer másodpercenként.

Állítsa be az értéket a saját belátása szerint, de a legtöbb esetben meg fogja közelíteni a második lehetőséget:

# Jelentős gyorsulás a bejegyzés az adatbázisban, de ehhez szükséges egy adatmentési mechanizmusok

query_cache_size

A paraméter értéke határozza meg, hogy mennyi memóriát kell használni a lekérdezés cache. A legtöbb helyes megközelítés - nem hivatkozhat ez a mechanizmus. A gyakorlatban ez nagyon hatékonyan működik. Így az összes lekérdezés cache egy adott tábla visszaáll, amikor az asztalra kerül bevezetésre legalább egy változás. Ez ahhoz vezethet, hogy az a tény, hogy a felvétel a caching még lassítják az adatbázisban:

# Arra viszont ügyeljünk, hogy használja az indexek, hogy biztosítsák a nagy sebességű lekérdezések

max_connections

Ne változtassa meg a paraméter értékét az elején. Azonban, ha kap «Túl sok kapcsolat» hiba. ezt a lehetőséget érdemes felvetni. Ez határozza meg a maximális egyidejű kapcsolatok száma az adatbázisba:

Kapcsolódó cikkek