abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze

    Byla vydána nová verze 2.47.0 distribuovaného systému správy verzí Git. Přispělo 83 vývojářů, z toho 28 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.13.0. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Zajímavý článek Ladislav Hagara | Komentářů: 3
    včera 15:22 | Pozvánky

    Konference LinuxDays 2024 proběhne již tento víkend 12. a 13. října v Praze. Na programu je spousta zajímavých přednášek a workshopů, zástup zajímavých osobností a stánky řady projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, brmlab, OpenAlt a mnoho dalších. Vstup zdarma.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | IT novinky Ladislav Hagara | Komentářů: 0
    6.10. 18:55 | Nová verze

    OpenRazer byl vydán ve verzi 3.9.0. Jedná se o svobodný software, ovladač a démon, umožňující nastavovat klávesnice, notebooky, myši, podložky pod myš, keypady, sluchátka a další zařízení od společnosti Razer na GNU/Linuxu.

    Ladislav Hagara | Komentářů: 0
    6.10. 01:55 | Nová verze

    Byla vydána verze 3.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 33
    6.10. 00:33 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 1
    5.10. 15:33 | Nová verze

    Byla vydána nová verze 8.8 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled oprav, vylepšení a novinek v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 1
    Rozcestník

    Dotaz: Ako monitorovat mysql queries podla uzivatelov

    Tombik avatar 1.2.2012 15:53 Tombik | skóre: 12
    Ako monitorovat mysql queries podla uzivatelov
    Přečteno: 878×
    Zdravim, mam linuxovy mysql 5.5 server s viacerymi uzivatelmi. Niektori ho pouzivaju viac, niektori menej, potrebujem v pripade, ze mi ten server niekto zacne prilis pretazovat zistit kto to robi. Potrebujem teda nejaky monitorovaci nastroj. Naprogramoval by som si aj nieco vlastne, ale nedokazem prist na sposob ako odmerat to, ze nejaky konkretny uzivatel mi moj mysql server pretazuje najviac. Celkom uzitocne som nasiel toto:
    mysqladmin -h <host> --user=<user> --password=<pass> --verbose processlist
    Ti co to nepoznaju robi to nieco taketo:
    +---------+----------+------------+---------+------+--------------+-----------------------------------------------------------------------------------------------+
    | Id      | User     | db         | Command | Time | State        | Info                                                                                          |
    +---------+----------+------------+---------+------+--------------+-----------------------------------------------------------------------------------------------+
    | 3276700 | uzivat00 | uzivat00db | Query   | 0    | Sending data | SELECT nice_url FROM p_jobs WHERE nice_url='test-url' AND id<>12564                           |
    | 3276949 | uzivat01 | uzivat01db | Sleep   | 39   |              |                                                                                               |
    | 3277033 | uzivat01 | uzivat01db | Sleep   | 20   |              |                                                                                               |
    | 3277084 | uzivat05 | uzivat05db | Sleep   | 14   |              |                                                                                               |
    | 3277087 | uzivat01 | uzivat01db | Sleep   | 13   |              |                                                                                               |
    | 3277162 | uzivat01 | uzivat01db | Sleep   | 1    |              |                                                                                               |
    | 3277164 | uzivat04 | uzivat05db | Sleep   | 0    |              |                                                                                               |
    | 3277165 | root     |            | Query   | 0    |              | show full processlist                                                                         |
    +---------+----------+------------+---------+------+--------------+-----------------------------------------------------------------------------------------------+
    Rozmyslal som nad tym, ze by som mohol nejako skusit merat cas, ktory potrebuju jednotlive queries podla uzivatelov a ze by sa to nejako zratavalo. No neviem. Poznate nieco na to? Niekto aspon tusi ako nieco take merat? Za kazdu radu budem velmi vdacny.

    Řešení dotazu:


    Odpovědi

    1.2.2012 16:23 radeczek | skóre: 7
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Nestačilo by jen nastavit "slow_query_log"(nevím, jak je to přesně), což způsobí, že Mysql bude samo logovat dotazy, které jsou delší než zvolený čas. V logu je znění dotazu i user.
    Tombik avatar 1.2.2012 16:44 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Dobry den,

    dakujem za napad, ale toto mi bohuzial nestaci. Vacsina uzivatelov ma dobre optimalizovane queries nakolko pouzivaju rozne komercne CMS. Slow queries logujem, prakticky ziadne sa tam nevyskytuju. Navzdory tomu ten server zacina byt celkom slusne vytazeny a ja neviem kto mi to sposobuje :(
    1.2.2012 17:05 radeczek | skóre: 7
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Nějaké nástroje asi existují - stačí googlit, něco se najít dá. Zkoušet to nebudu. Přinejhorším by se dal napsat nějaký skriptík, který by každou sekundu pustil ten váš program a zapisoval by do tabulky a pak byste mohl zjistit, kdo, kolik a jaké query dělá. Nevýhodou je, že by to trošku zatěžovalo tu DB samotnou.

    Kdybyste narazil na něco solidního, tak se prosím pochlubte i tady. Možná se to šikne i mě. Dík.
    Tombik avatar 1.2.2012 18:58 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Praveze som googlil ale nic solidne som nenasiel. Samozrejme mam na mysli nieco free v idealnom pripade open source.

    To kolko a ake query robi nevypoveda nic o tom ako velmi to je pre moj server narocne spracovat. Query ako SELECT * FROM velka_tabulka; urcite vytazi server viacej ako query typu SELECT name from velka_tabulka WHERE id='20345';
    1.2.2012 17:24 David Karban | skóre: 12 | blog: DK
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Neměl by na mysql 5.5. už být slow log i s méně, než sekundovým rozlišením?

    Plus, percona-toolkit (na debianu) má i nástroje na odchytávání slow dotazů přímo ze sítě, například si tcpdumpem chytáte packety mysqlky a cpete to na analýzu pt-query-digest (tuším). To má pak rozlišení libovolné - klidně i na dotazy o setinách sekundy.

    Nepomohlo by to?
    Tombik avatar 1.2.2012 19:00 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Nechcel som byt prilis detailny ale tych serverov je vlastne viacej kde potrebujem ten monitoring spravit. Nie vsade je vsak MySQL 5.5 niekde su aj nizsie verzie. Vsade musi byt ten monitoring identicky.

    Na vsetkych serveroch je vsak Centos 6.2 (na dvoch je tusim este 5.6).

    Ten napad s tcpdumpom neznie zle. Skusim sa na to blizsie pozriet.

    Dakujem
    1.2.2012 20:45 David Karban | skóre: 12 | blog: DK
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Dokumentaci k tomu najdete zde: http://www.maatkit.org/doc/mk-query-digest.html, je tam i příklad jak pustit tcpdump. V percona-toolkit se to jmenuje pt-query-digest, ale funguje to stejně. Good luck :).
    Řešení 1× (Tombik (tazatel))
    Jakub Lucký avatar 2.2.2012 17:49 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    Tombik avatar 6.2.2012 09:32 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Tak toto vyzera uplne uzasne :) diky moc idem to hned vyskusat.
    8.2.2012 23:20 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Len upozornim, ze userstats pripocitava CPU time az po dokonceni SQL dotazu a nie priebezne. Ak ti tam teda niekto spusti nieco brutalne, monitoring na to pride az ked to bude hotove. Za prve to samozrejme znemoznuje okamzite reagovat na problem a za druhe to znemoznuje vykreslovat grafy zataze (proste v jednej sekunde to pripocita obrovsky CPU time, cim dostanes napr. 1000% vyuzitie CPU). Kvoli tomuto sme to prestali pouzivat.
    Tombik avatar 13.2.2012 09:36 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Dakujem za upozornenie. Testujem to a zatial ma to neocarilo. Pouzivate nieco ine miesto userstats?

    Dik
    13.2.2012 11:34 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Vyvijame nejake vlastne riesenia (konkretne rozdelovanie MySQL vlakien do kontrolnych skupin [cgroups] podla usera - patchnuty MySQL server) avsak v produkcnom prostredi to nemame nasadene z vykonnostnych dovodov, proste je to zatial pomale. Popritom nam bezi jeden daemon, ktory v pravidelnych kratkych intervaloch kontroluje beziace SQL dotazy a tie, ktore bezia viac ako 60 sekund, proste killuje. Ak chces zistit aktualnu zataz v MySQL, tak odporucam 'mytop'.
    Tombik avatar 14.2.2012 09:31 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Dakujem mytop som uz skusal (aj mtop) taktiez skusame aj vlastne riesenia no zatial je to nepostacujuce. Tiez mame demona ktory killuje slow queries pripadne zbytocne sleep connections.
    14.2.2012 14:13 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: Ako monitorovat mysql queries podla uzivatelov
    Na prevenciu proti 'sleep connections' odporucam nastavit 'wait_timeout' (my to mame na 120 sekund).

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.