Logování pomalých MySQL procesů

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Logování pomalých MySQL procesů
« kdy: 25. 02. 2011, 20:56:18 »
Ahoj,

rád bych zjistil které MYSQL procesy na serveru zabírají nejvíce času. Dozvěděl jsem se že abych mohl toto logovat, dám do /etc/my.cnf tuto linku:

log-slow-queries=/var/log/mysqlslowqueries.log

a pod to dám ještě:

long_query_time=15

tím zajistím že se mi zalogují všechny Mysql požadavky které trvají 15+sekund.

Je to tak správně? (zatím se mi nic nezalogovalo) Jak zajistit aby ten soubor nepřerostl, je tam nějaký limit?

děkuji
« Poslední změna: 27. 02. 2011, 20:39:41 od Petr Krčmář »
Linux nováček - CeskeForum.com


Nassir

Re: Logování pomalých MYSQL procesů
« Odpověď #1 kdy: 25. 02. 2011, 22:01:31 »
<start_useless_trolling>RTFM</end>

Ak si to skusobne prestavis na jednu sekundu a nie 15, tak sa ti nieco zaloguje. To je hadam nad slnko jasnejsie. Netusim, co mas za stranku, ale ak ti uzivatel musi cakat vyse 15 sekund na ziskanie dat a az potom ti to zacne byt podozrive, tak sformatuj server a vrat ho do zberu zeleza. Cokolvek nad sekundu je zle, a nad 5 sekund by som siel skreckom dosypat zradlo, lebo uz nevladzu tocit ventilatormi.

Co sa velkosti tyka, tak mozes ako supak rucne kontrolovat velkost z casu na cas, alebo pouzit software zvany logrotate, v ktorom si mozes nastavovat orotovanie logov, udrziavanie niekolkych starych, archivovanie a zipovanie do ulozneho adresara a automaticke restartovanie sluzby po prekroceni limitov. Limity su cas (kazdy den orotuj), velkost (po prekroceni 100MB logov ich rotuj), pocet (ak mam viac logov v adresari ako 10) a urcite sa najde nieco dalsie - RTFM.

A v navode sa tiez pise, ze je vhodne si ten subor vyrobit a nastavit mu prava na zapis pre mysql proces. Obcas nebezi ako root, ale do /var/log by nikto "obycajny" nemal mat pravo zapisovat...

Have fun

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Re: Logování pomalých MYSQL procesů
« Odpověď #2 kdy: 25. 02. 2011, 22:47:25 »
No používam Wordpressy, u několika je celkem gigantická databáze. Za 50 minut běhu mysql je tam 35 Slow_queries.

A vypisuju červené hodnoty (z phpmyadmina)

Innodb_buffer_pool_reads   1 327    Počet logických čtení, které nemohly být uspokojeny z bufferu, ale bylo nutné přečíst stránku ze souboru.
Handler_read_rnd   4 160 k   Počet požadavků na přečtení konkrétního řádku tabulky. Vysoká hodnota znamená, že provádíte mnoho dotazů, které vyžadují řazení výsledků. Pravděpodobně používáte mnoho dotazů, které vyžadují prohlížení celé tabulky nebo používáte spojení tabulek, která nevyužívají indexů.
Handler_read_rnd_next   212 M   Počet požadavků na přečtení dalšího řádku ze souboru. Tato hodnota je vysoká pokud dotazy procházejí celé tabulky, pravděpodobně tedy nemají vhodné indexy.
Qcache_lowmem_prunes   1 982 k   Počet dotazů odstraněných z vyrovnávací paměti dotazů aby uvolnily místo pro nové. Tato hodnota může pomoci v nastavení velikosti vyrovnávací paměti. Vyrovnávací paměť používá strategii LRU (nejdéle nepoužité) pro vyřazování dotazů z vyrovnávací paměti.
Created_tmp_disk_tables   1 767 k   Počet dočasných tabulek vytvořených serverem na disku při provádění dotazů. Pokud je tato hodnota velká, můžete zvětšit parametr tmp_table_size a MySQL bude používat větší dočasné tabulky v paměti.
Select_full_join   110    Počet spojení, které nevyužívaly indexy. Pokud tato hodnota není 0, měli byste zkontrolovat indexy tabulek.
Sort_merge_passes   13    Počet průchodů slučování, které musel provést řadicí algoritmus. Při příliš vysoké hodnotě zvažte zvýšení sort_buffer_size.
Opened_tables   2 321    Celkem otevřených tabulek. Pokud je tato hodnota příliš vysoká, pravděpodobně máte malou vyrovnávací paměť pro tabulky.
Table_locks_waited   3 925    Počet čekání na získání zámku tabulky. Pokud je tato hodnota vysoká a máte problémy s výkonem, měli byste optimalizovat dotazy a případně rozdělit tabulky nebo použít replikaci.

Ten wordpress je veřejný adresář anglických článků do které mohou lidé přispívat, někdo tam dělá asi automatizovanou úlohu s články takže mám Locked queries jako

http://i55.tinypic.com/30dede1.png
Linux nováček - CeskeForum.com