MySQL optimalizálás – 4. rész

Ebben részben megnézzük, hogy tudjuk elvégezni a scriptek által javasolt beállításokat.

A beállításokat a MySQL szerver konfigurációs állományában tudjuk megtenni, ami a my.cnf névre hallgat. Ez Debian/Ubuntu operációs rendszeren az /etc/mysql könyvtár alatt található.

Nyissuk meg ezt az állományt:
nano /etc/mysql/my.cnf

Kezdjük a sort a lassú kérések naplózásának bekapcsolásával:
log_slow_queries        = /var/log/mysql/mysql-slow.log
long_query_time = 10
log-queries-not-using-indexes

Nézzük mit jelenteken a fenti sorok:
log_slow_queries: Ezzel kapcsoljuk be a naplózást, illetve megadjuk, hogy az hova történjen
long_query_time: Példánkban a 10 másodpercnél tovább futó sql lekérdezések számítsanak lassúnak
log_queries-not-using-indexes: Azokat a lekérdezéseket is naplózzuk, melyek nem használnak indexeket.

Bináris naplózás (Binary log):
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M

server-id: Adunk a gépünknek egy azonosított, ez replikációnál lehet fontos, ahol nem lehet két egyforma nevű gép
log_bin: bináris naplózás bekapcsolása és a napló megadása
expire_logs_days : Hány napig őrizze meg a naplót
max_binlog_size: Mekkora lehet a napló maximális mérete

Szálak gyorsító tára (Thread Cache):
thread_cache_size  = 8
thread_stack = 192K

thread_cache_size: Szál gyorsító tár mérete
thread_stack: Egy adott szálhoz tartozó memória mérete

Maximális kapcsolatok (Max Connections):
max_connections=100
wait_timeout=100

max_connections: Egyidejűleg ennyi kapcsolatod tud fogadni az sql szerver
wait_timeout: Ennyi idő után elbontja a kapcsolatot, és felszabadítja az erőforrásokat

Kulcs gyorsítótár (Key Buffer):
key_buffer_size=128M

key_buffer_size: A kulcs gyorsítótár méretét tudjuk megadni


Lekérdezés gyorsítótár (Query Cache):
query-cache-type  = 1
query_cache_size  = 256M
query_cache_min_res  = 1K
query_cache_limit = 24M

query-cache-type: A gyorsítótárazás bekapcsolása
query_cache_size: A gyorsítótár mérete
query_cache_min_res: A minimális foglalási egység, ha ennél kisebb a lekérdezés eredménye akkor is ekkora helyet fog lefoglalni neki a memóriában.
query_cache_limit: Az ennél nagyobb méretű eredményt adó lekérdezések nem lesznek gyorsító tárazva.

Join gyorsítótár (Join Buffer):
join_buffer_size = 2M

Joint tartalmazó lekérdezések gyorsítótár mérete, ezt ajánlott 2M vagy alatta tartani.

Megnyitott fájlok:
open_files_limit = 32768

Ennyi fájlt nyithat meg maximálisan a mysql szerver, fontos hogy nagyobb legyen a table_cache –nél. Viszont figyelni kell, hogy az operációs rendszer által megnyitható fájlok számánál viszont kevesebb.

Tábla gyorsítótár (Table Cache):
table_cache = 16384
table_definition_cache = 2048

table_cache: Tábla gyorsítótár mérete, ennyi tábla kerülhet a cache –be
table_definition_cache: Tábla definíció gyorsítótár mérete

Ideiglenes tába gyorsítótár (Temp Table):
tmp_table_size          = 256M

Az ideiglenes tábla gyorsítótár mérete.

Ezek lennének a főbb beállítások. A helyes beállításokat sok tesztelés után lehet elérni, de utána is folyamatosan ellenőrizni kell őket. Ha változik az adatbázis terhelés, új adatbázisok kerülnek be a rendszerbe, akkor szinte biztos, hogy hozzá kell majd nyúlnunk ezekhez a beállításokhoz.

Ezen alapokkal azért remélem könnyebb lesz megtalálni a megfelelő beállításokat, sok sikert kívánok hozzá !

Hozzászólás beküldése

| Download Free Ringtones for Verizon Online. | Thanks to Highest CD Rates, Ally Bank Rates and Binaural & Isochronic Beats