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 22423×
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
serveruPř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 tabulekTento 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
|
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|