|
|||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
bootable [55]
commercial [7] no-commercial [42] unclassified [20] [7]
Software (10844)
|
MySQL (66) - Ještě k ladění serveruLadění serveru MySQL na výkon je dost odborné téma. Dnes se podíváme alespoň na principy.
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 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:
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írouZnamená 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.
Related article
MySQL (1) - pestrý svět databází MySQL (2) - Instalujeme databázi MySQL MYSQL (3) Instalujeme MySQL podruhé MySQL (4) - něco terminologie MySQL (5) - tajuplné SQL MySQL (6) - Ukládáme řetězce MySQL (7) - hrátky s čísly MySQL (8) - Ukládání datumů MySQL (9) - Další datové typy MySQL (10) - tvorba databáze. Základy DDL MySQL (11) - vytváříme tabulky MySQL (12) - tipy k tvorbě tabulek MySQL (13) - Vkládáme data MySQL (14) - Upravujeme data MySQL (15) - Odstraňujeme data MySQL (16) - Tipy a triky k manipulaci s daty MySQL (17) - vybíráme data MySQL (18) - Filtrujeme data MySQL (19) - Řadíme data MySQL (20) - spojení více tabulek MySQL (21) - klauzule JOIN MySQL (22) - tipy a triky ke spojování tabulek MySQL (23) - relace 1:N a N:N MySQL (24) - Seskupujeme záznamy MySQL (25) - hrátky se seskupenými záznamy MySQL (26) - Poddotazy MySQL (27) - Složitější dotazy MySQL (28) - Dotazy pro pokročilé MySQL (29) - Vracení nejvyšších záznamů MySQL (30) - průběžné součty MySQL (31) - Indexy MySQL (32) - ještě k indexům MySQL (33) - Příkaz UNION MySQL (34) - větvení kódu a pivotní tabulky MySQL (35) - vestavěné funkce MySQL (36) - Regulární výrazy MySQL (37) - použití fulltextového vyhledávání MySQL (38) - Fulltext a praxe MySQL (39) - typy tabulek v MySQL MySQL (40) - další typy tabulek MySQL (41) - Transakce MySQL (42) - ještě k transakcím MySQL (43) - Uložené procedury MySQL (44) - parametry uložených procedur MySQL (45) - větvení kódu uložených procedur MySQL (46) - Triggery MySQL (47) - Triggery a praxe MySQL (48) - UDF MySQL (49) - pohledy MySQL (50) - Pohledy podruhé MySQL (51) - Metadata MySQL (52) - A co zálohování? MySQL (53) - SELECT INTO OUTFILE MySQL (54) - zálohování MySQL z webu MySQL (55) - zálohování MySQL z pohledu správce MySQL (56) - Obnova zálohovaných dat MySQL (57) - Ach, ta čeština MySQL (58) - čeština v praxi MySQL (59) - české řazení MySQL (60) - řádkový klient MySQL (61) - Oprávnění MySQL (62) - Oprávnění podruhé MySQL (63) - jemné nastavení práv MySQL (64) - nad dotazy čtenářů MySQL (65) - Ladíme server MySQL - (67) MySQL (68) - Závěr MySQL (69) - Prepared Statements Previous Show category (serial) Next
|
Szukanie oprogramowania
|
|||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |