Keď pracujete na zvyšovaní rýchlosti vašich webových stránok, veľmi dôležitým dielom je zabezpečenie toho, aby ste získali každú poslednú kvapku výkonu zo svojho databázového servera. Nanešťastie, pre väčšinu z nás, ktorí zvyčajne nie sú administrátori databáz, to môže byť ťažké riešenie.
Existuje množstvo skriptov na ladenie výkonnosti, ktoré analyzujú vaše nastavenia servera a aktuálny stav a poskytujú vám informácie o odporúčaných zmenách, ktoré by ste mali urobiť. Nemali by ste sa nevyhnutne riadiť všetkými návrhmi, ale stojí za to sa na to pozrieť.
Skript, ktorý používam, vám dáva odporúčania pre nasledujúce:
- Denník pomalého vyhľadávania
-
Maximálne pripojenia
- Worker Threads
-
Kľúčový buffer
- Dátová vyrovnávacia pamäť
-
Triediť vyrovnávaciu pamäť
- spojí
-
Temp tabuľky
- Tabuľka (Otvorená a definícia) Cache
-
Zamknutie tabuľky
- Skenovanie tabuľky (read_buffer)
- Stav Innodb
Po stiahnutí skriptu musíte vykonať spustiteľný súbor s nasledujúcim príkazom:
chmod u+x tuning-primer.sh
Ak spustíte tento skript ako bežný používateľ, zobrazí sa výzva na zadanie hesla. Preto musíte zabezpečiť zodpovedajúci prístup. Ak ho spustíte ako root, vyzdvihne heslo pre MySQL z Plesk, ak máte nainštalovaný.
Vypustil som veľa výstupu, ktorý mal oveľa viac odporúčaní, ale bol príliš dlhý, aby sa zmestil na stránku.
./tuning-primer.sh
- MYSQL PERFORMANCE TUNING PRIMER - – By: Matthew Montgomery –
MySQL Version 4.1.20 i686
Uptime = 5 days 10 hrs 46 min 5 sec Avg. qps = 4 Total Questions = 2020809 Threads Connected = 1
Server has been running for over 48hrs. It should be safe to follow these recommendations
---– snipped ----–
QUERY CACHE Query cache is enabled Current query_cache_size = 8 M Current query_cache_used = 7 M Current query_cach_limit = 1 M Current Query cache fill ratio = 89.38 % However, 254246 queries have been removed from the query cache due to lack of memory Perhaps you should raise query_cache_size MySQL won’t cache query results that are larger than query_cache_limit in size
---– snipped ----–
Zdá sa, že potrebujem zvýšiť svoju vyrovnávaciu pamäť dopytov … Nastavil som ju iba na 8 MB, ale čistenie cache je príliš často.
---– snipped ----–
TEMP TABLES Current max_heap_table_size = 16 M Current tmp_table_size = 32 M Of 35170 temp tables, 74% were created on disk Effective in-memory tmp_table_size is limited to max_heap_table_size. Perhaps you should increase your tmp_table_size and/or max_heap_table_size to reduce the number of disk-based temporary tables Note! BLOB and TEXT columns are not allow in memory tables. If you are using these columns raising these values might not impact your ratio of on disk temp tables.
---– snipped ----–
Tento typ informácií je neoceniteľný, keď sa snažíte vyladiť výkonnosť svojich webových stránok.
Stiahnite si MySQL Performance Tuning Primer Script