CyberTek - the future at the present!
Google

Optimalizálás MySQL

Írta: admin (június 19)

Nincs ideje, hogy beszéljünk arról, hogy hozzon létre táblákat optimalizált, hogy a jobb eredmények. Emlékszem, csak az, hogy a mezők indexelt javítására sok az átfutási idő. Vita helyett egy kis trükk, hogy jobb teljesítményű, hogy a MySQL telepítve van általában a legtöbb distro nélkül túl sok paramétereit hangolás. Az info utalja a Linux distro de könnyen alkalmazkodó más OS.

A konfigurációs fájl általában található az / etc / my.ini.

Eempio a my.ini:

[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
set-variable = key_buffer = 64M
set-variable = max_user_connections = 100
set-variable = query_cache_size = 64M
# Alapértelmezett használata régi jelszó formátumú összeegyeztethetőségüket mysql 3.x
# Clients (azok a mysqlclient10 kompatibilitási csomag).
old_passwords = 1

[mysql.server]
user = mysql
basedir = / var / lib

[mysqld_safe]
err-log = / var / log / mysqld.log
pid-file = / var / run / mysqld / mysqld.pid

buffers: a puffer a incremeto kap egy adatbázis sokkal gyorsabb. Aztán meg a puffereket alapuló memória áll rendelkezésre, figyelembe véve a fogyasztás történik az operációs rendszer és az egyéb alkalmazások és szolgáltatások használata. Ha lehet túl sok memóriát, míg nem egy olyan rendelkezést, futhat a teljesítmény a rendszert.

Wait_timeout: képviseli az időt, amely eltelik, mielőtt lezárják automatikusan csatlakozni a MySQL miatt inaktivitás. Alsó-szám, annál jobb teljesítményt. Ebben az esetben is meg kell játszani az ilyen kapcsolatok és az állítólagos ideje kalibrálásához a legjobb paramétert.

back_log: Controls hány egyidejű kapcsolatok is fenntartani, míg Mysql új szálat. Minél kisebb a szám, annál nagyobb a sebesség. Vigyázat, ez egyszerűen nem rontja a teljesítményt azáltal, ez a paraméter helyesen használja ezt csak akkor, ha feltétlenül szükséges.

Max_user_connections: Beállítja a maximális száma, a kapcsolatok hogy a felhasználó számára. Ez nagyon hasznos, ha ugyanazt a rendszert a MySQL szerver a több felhasználó egyszerre.

Delayed_queue_size: számú sorral együtt INSERT késik. Kevesebb lesz mentén, a gyorsabb Mysql.

Sort_buffer_size: A méret a puffer juttatott végrehajtására vonatkozó kikötéseket ORDER BY és GROUP BY. Ahhoz, hogy ez megkérdőjelezi a hatékonyabb legyen a paraméter értéke nagyobb, mint a 2M.

Table_cache: vezérli a számos nyitott táblázatok az összes szálat, növelve ez a változó fogja növelni az asztalok loaded egyidejűleg és kivitelezése Mysql lesz gyorsabb. A figyelmet arra, hogy ez a paraméter, az operációs rendszerek határig mutat fájlokat megnyitni egyszerre, ha túllépi ezt a határt akkor merül fel minden rendszer meghibásodhat.

Thread_cache_size: Beállítja a szálak, hogy a gyorsítótár. Ez a funkció teszi használatát threads nagyon gyors.

A SHOW STATUS parancs segít monitor valós időben azokat a változókat, amelyek több, mint mások, hogy segítsen megérteni, mi a legjelentősebb javulást tudunk tenni:

  • Handler_read_first: Azt jelzi, hogy hányszor volt az első rekord olvasni a táblát. Ha ez gyakran megtörténik, az azt jelenti, hogy a táblázat nem indexelt megfelelően.
  • Innodb_buffer_pool_wait_free: azt jelzi, hogy hányszor MySQL, hogy várjon a flushing oldalak a memória. Ha a visszatérési érték magas, akkor a puffer medence mérete nem volt megfelelően konfigurálva az összeget írási műveletek keresztülmentek a szerveren.
  • Key_reads: azt jelzi, hogy hányszor MySQL hozzáfér a fájlrendszer az adatbázis indexek. Ez lassítja a sebességét végrehajtó a lekérdezés, így ha ez az érték magas, akkor az azt jelenti, hogy a legfontosabb puffer túl kicsi, és növelni kell.
  • Max_used_connections: Azt jelzi a maximális számát, hogy a MySQL kapcsolatok is nyitott az elmúlt elindulni. Egyrészt ez egy igazi benchmark (ez segít eldönteni azt a maximális számát, a kapcsolatok, hogy a szerver támogatja), a másik pedig kényelmes forgalom elemző.
  • Open_tables: Azt jelzi, a jelenlegi számos táblázatot nyitva. Ezt az értéket ki kell elemezni, ötvözve a cache mérete az asztalra. Normális méretét table_cache kell megállapítani magasabb ez a változó. Ha az érték open_tables sokkal alacsonyabb, mint table_cache elkerülni teljesítmény problémák, ezért is csökkentheti a cache méretét. Ha az érték open_tables nagyon magas, és közeledik a cache méretét, majd emeli table_cache.
  • Select_full_join: A teljes csatlakozni a MySQL teljesített, hogy megfeleljen az ügyfelek igényeinek. A magas érték azt jelzi, hogy ahelyett, tagolás, MySQL volt kénytelen elvégezni a teljes csatlakozásra. Ez arra utal, hogy szükség van egy erős index ezeket a táblázatokat.
  • Slow_queries: azt jelzi, hány queries volt hosszabb, mint általában a tennivaló. A magas érték vezet bennünket, hogy elemezzük a Slow Query Log meg mi a lassú lekérdezések optimalizálása.
  • Threads_connected: Azt jelzi, az ügyfelek száma, amelyek kapcsolódnak a szerverhez egy ilyen pillanat.
  • Created_tmp_disk_tables: azt jelzi, hány ideiglenes tábla, amely azért jött létre a lemezen helyett memóriát. Tekintettel arra, hogy a hozzáférés a táblák egy lemez általában lassabb, mint a memória tartalmát a változó fordítottan arányos a sebesség, amellyel lekérdezések futnak a parancs IDEIGLENES CREATE TABLE.
  • Uptime: Megmutatja, hány másodperc van a szolgáltatással.
Megjelent: mysql, tippek

Hozzászólás

Powered by CyberTek - Távsegítség