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: