LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> MySQL (66) - Ještě k ladění serveru

Ladění serveru MySQL na výkon je dost odborné téma. Dnes se podíváme alespoň na principy.

14.4.2006 06:00 | Petr Zajíc | Články autora | přečteno 18939×

Dnes budeme pokračovat v tématu "vylaďování" MySQL serveru tím, že si ukážeme, jak zjistit informace o běžícím serveru. Rovněž se podíváme na to, jak se dá výkon ovlivnit pomocí několika důležitých parametrů.

Zjišťování informací o běžícím serveru

Připomeňme, že v minulém díle jsme díky příkazu show variables mohli zjišťovat (a díky set měnit) hodnoty konfiguračních voleb. Jenomže to není při správě serveru vždy to, co potřebujeme. Často nás totiž ani tak nezajímá, jak je na serveru co nastaveno, jako spíše to, jak se s tím v praxi chudák server vůbec popere. Přidejme potřebu chtít zjistit něco víc o serveru jako takovém - a máme tady příkaz show status. Jeho nejjednodušší forma je - jak už asi tušíte - prostě ho bez skrupulí napsat.

show status;

Není na tom nic složitého; složité je nějak se ve výpisu vyznat. Proměnné jsou většinou pojmenovány intuitivně, někdy je však třeba zapátrat trochu v dokumentaci. Abyste si udělali představu, jak takový výpis vypadá, přikládám zkrácenou verzi z jednoho serveru, na který mám přístup (není to linuxsoft):

Aborted_clients 172
Aborted_connects 61
Bytes_received 1136057937
Bytes_sent 1271897989
Connections 327488
Created_tmp_disk_tables 374068
Created_tmp_tables 805247
Created_tmp_files 7
Delayed_insert_threads 0
Delayed_writes 0
Delayed_errors 0
Flush_commands 1
Key_blocks_used 15586
Key_read_requests 274667326
Key_reads 6716363
Key_write_requests 1648257
Key_writes 162455
Max_used_connections 48
Open_tables 64
Open_files 125
Open_streams 0
Opened_tables 756017
Select_full_join 73686
Select_full_range_join 1418
Select_range 64910
Select_range_check 5349
Select_scan 2096101
Slow_queries 49
Sort_range 210464
Sort_rows 25126074
Sort_scan 1704483
Table_locks_immediate 9911663
Table_locks_waited 4851
Threads_cached 0
Threads_created 327487
Threads_connected 4
Threads_running 2
Uptime 67925

Co podstatného se dá vyčíst z tohoto seznamu? Především (a to je jedna z prvních věcí, na kterou byste se měli podívat) server běží jen krátce, protože jeho uptime v sekundách je 67925, což je okolo 18 hodin. Takže pokud byste jej chtěli ladit na výkon, bylo by asi lepší ještě nějakou dobu počkat a posbírat reprezetativnější statistiky. Dále, jak můžete vidět, tak během 18 hodin proběhlo otevření 756017 tabulek, došlo k 327488 spojením a tak dále.

Optimalizace cache tabulek

Tento server (bohužel, neb se jedná o údaje z jakéhosi webhostingu, kde by tomu mohl někdo rozumět) má bídně nastavenu jednu ze základních výkonostních charakteristik, a tou je table_cache. Zjednodušeně řečeno tato proměnná udává, kolik tabulek může maximálně MySQL udržovat v mezipaměti. Cachování tabulek v mezipaměti je přitom mnohem výkonnější než nejich načítání z disku. Abych mohl rozhodnout, zda je cachováno málo nebo hodně tabulek, je třeba vědět Uptime (v příkladu asi 18 hodin), Open_tables (v příkladu 64) a potřebuji navíc znát hodnotu table_cache z nastavení (to jsme probírali v minulém díle):

show variables like 'table_cache';

(v mém případě ukazuje údaj 64 tabulek). A teď závěr: Protože je povoleno otevření maximálně 64 tabulek, 64 je jich otevřeno, ale celkem jich již bylo otevřeno 756 tisíc, je server poddimenzovaný a je možné, že s ním budou problémy. Obdobně by se daly porovnat další související údaje z konfigurace s údaji z provozu. Pokud Vás něco takového zajímá, mohu nasměrovat zejména na:

  • key_buffer_size, která optimalizuje čtení a zpracování indexů a souvisí s key_read_requests a key_reads
  • max_connections, která optimalizuje spojení a souvisí s max_used_connections

Tyto parametry jsou pro výkon serveru klíčové. Celá řada dalších nastavení dolaďuje spíše jemné výkonostní detaily.

Všeho s mírou

Znamená to, co jsem uvedl výše, že byste měli ukamenovat svého webhostera poté, co zjistíte, že server není optimálně nastaven? V žádném případě. Informace, které jsem ukázal je nutné brát v širším kontextu. Například pro zvýšení table_cache bude zcela jistě zapotřebí dostatek operační paměti, kterou ale server nemusí mít k dispozici. Zvýšení maximálního počtu spojení nemusí být nutné, protože správce databáze může mít k dispozici i starší statistiky (například ty, které získal před restartem serveru). Aktuální počet transakcí se může dost měnit a tak dále.

Údaje z článku budete tedy potřebovat spíše v případě, kdy nastavujete server jakožto správci - a pak jistě časem získáte cvik a cit pro vyváženost.

Verze pro tisk

pridej.cz

 

DISKUZE

nastavenie key buffer size 20.4.2006 21:39 oron
  L Re: nastavenie key buffer size 20.4.2006 23:42 Aleš Hakl




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

15.1.2018 0:51 /František Kučera

První letošní pražský sraz se koná již tento čtvrtek 18. ledna od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Vítáni jsou všichni příznivci svobodného softwaru a hardwaru, ESP32, DIY, CNC, SDR nebo dobrého piva. Prvních deset účastníků srazu obdrží samolepku There Is No Cloud… just other people's computers. od Free Software Foundation.


Přidat komentář

14.11.2017 16:56 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tradičně první čtvrtek před třetím pátkem v měsíci: 16. listopadu od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.11.2017 11:06 /Redakce Linuxsoft.cz
PR: 4. ročník odborné IT konference na téma Datová centra pro business proběhne již ve čtvrtek 23. listopadu 2017 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00. Konference o návrhu, budování, správě a efektivním využívání datových center nabídne odpovědi na aktuální a často řešené otázky, např Jaké jsou aktuální trendy v oblasti datových center a jak je využít pro vlastní prospěch? Jak zajistit pro firmu či jinou organizaci odpovídající služby datových center? Podle jakých kritérií vybrat dodavatele služeb? Jak volit součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně spravovat datové centrum? Jak eliminovat možná rizika? apod.
Přidat komentář

13.9.2017 8:00 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tentokrát netradičně v pondělí: 18. září od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

3.9.2017 20:45 /Redakce Linuxsoft.cz
PR: Dne 21. září 2017 proběhne v Praze konference "Mobilní řešení pro business". Hlavní tématy konference budou: nejnovější trendy v oblasti mobilních řešení pro firmy, efektivní využití mobilních zařízení, bezpečnostní rizika a řešení pro jejich omezení, správa mobilních zařízení ve firmách a další.
Přidat komentář

15.5.2017 23:50 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

16.1.2018 1:08 / Ivan Pittner
verejna ip od o2 ubuntu

15.1.2018 17:26 / Mira Harvalik
Re: Jak udělat HTML/Javascript swiping gallery do mobilu?

30.12.2017 20:16 / Michal Knoll
odmocnina

31.8.2017 12:11 / Jaromir Obr
Re: ukůládání dat ze souboru

30.7.2017 11:12 / Jaromir Obr
Národní znaky

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2018) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze