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í
×
    včera 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Nová verze

    Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Nová verze

    Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

    Ladislav Hagara | Komentářů: 7
    30.4. 18:11 | Nová verze

    Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.

    Ladislav Hagara | Komentářů: 0
    30.4. 17:56 | Nová verze

    Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.

    Ladislav Hagara | Komentářů: 0
    30.4. 13:11 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 3
    30.4. 12:33 | Zajímavý software

    Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.

    Ladislav Hagara | Komentářů: 26
    29.4. 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 13
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (50%)
     (0%)
     (50%)
     (0%)
    Celkem 2 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: Problém - MySQL ve vysoké záteži

    10.5.2014 00:24 LuRy | skóre: 12
    Problém - MySQL ve vysoké záteži
    Přečteno: 746×

    Zdravím, řeším problém s MySQL (Percona) kdy ve vysoké zátěži se začnou kupit mysql procesy a nejčastěji se stavem Waiting for query cache lock, zkoušel jsem s tím experimentovat a snížit na 512MB ale problém přetrvává jak se navýší traffic jde to do kopru.
    Problém obvykle nastane kdy se na serveru objeví traffic 30 přístupů na web za vteřinu cca 1000-1500 za minutu. Do té doby je zpracování 8 sql dotazů obvykle do 10ms maximálně, poté se zvednou na 200-800 někdy i více což je už dost nepříjemné.
    Kdyz query cache vypnu zacne se neprijemne zvedat odezva na disky a dle atop lita "busy" chvilkama 70-99%.
    Efektivita zaple query cache dle udaju co udava mysql je 40-50%

    - Disky na 1. serveru jsou v konfiguraci 8x SAS 10k RPM v 10 RAIDu 4stripping+4mirror.
    - Koncept je 2 servery
    - 1. HAProxy (pro apache+fpm na jednom i druhem serveru, MySQL), MySQL, nginx pro staticky obsah, redis-server
    - 2. apache+fpm, mysql vzdalene na haproxy ktera preda pozadavek mysql serveru (pripraveno pro load balancing pokud bude 3ti server, spojeni pres haproxy nebo naprimo na tcp nema vliv na tento problem), server temer nesaha na disk, data pres nfs4, cache aplikace resena pomoci shm uloziste a redis-server v pameti bez aof

    Výše zmíněný problém doprovází zvýšený počet spojení ve stavu TIME_WAIT okolo 50tis celkove, přes 20tis pouze 3306 port

    System debian 7.5, Kernel 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3 x86_64
    Mysqlmonlite vypis - https://static.chatujme.cz/mysqlmon1.txt
    sysctl vypis - https://static.chatujme.cz/sysctl.txt (sysctl.conf + komplet sysctl -a vypis nize)

    MySQL server jsem v noci upgradoval na 5.6 a query cache snížil na 512MB ale problém přetrvává dále (mysqlmonlite je ze včerejška ještě pro 5.5 s 2GB query cache.

    Předem díky za každou nápomocnou radu, mám pocit,že jsem něco nastavil špatně protože před 14 dny to bylo v pohodě a návštěvnost se nějak výrazně nenavýšila

    LuRy

    Odpovědi

    10.5.2014 15:02 Matlák
    Rozbalit Rozbalit vše Re: Problém - MySQL ve vysoké záteži
    1] možná by bylo vhodné dotaz zařadit spíše do databázové poradny? Tam se asi spíš dočkáš odpovědi.

    2] Velikost query_cache není jediná věc. Důležitý je i počet queries. Já třeba na mašině s 128G RAM používám nastavení 256M+50k a prakticky se se stavem "Waiting for query cache lock" nesetkávám.

    3] Je dost důležité, o jaké dotazy jde. Pokud úplné odstavení query_cache vede k zatížení disků, asi by stálo za to zkontrolovat které dotazy to způsobují. Pak je možné u nich query_cache povolit místně (viz mysql_query_cache_type=2, select sql_cache) a nebo náležitě upravit ten PHP script co data čte aby si je laskavě zacachoval u sebe...
    10.5.2014 22:06 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Problém - MySQL ve vysoké záteži
    No dobře tak asi změna. Ted je mysql server spící včetně disku (qcache vypnuta) a nakupují se spojení stejným způsobem akorat ne uz se stavem waiting for query cache lock ale ve stavu sleep ale to je vcelku normalni. dle meho je pricina toto (server 2.)

    netstat -tapn|grep TIME_WAIT|wc -l 54610

    netstat -tapn|grep ":3306" |grep TIME_WAIT|wc -l 11119

    netstat -tapn|grep ":6379" |grep TIME_WAIT|wc -l 34011

    Ted momentalne haproxy frontuje 400 pozadavku na web server kterej ma limit 200 a uz to je v tomhle stavu par minut obvykly. Takze to nakonec vypada na redis ze si po sobe neuklizi nebo ho neco nadmerne vytezuje .. nicmene krom apllikace samotny ho nic nevyuziva mimo navic jede jeste momentalne po lokalu (1. web server i redis je off) info tvrdi 130-150 klientu coz je neobvykly.

    Problem nejspis bude nekde jinde nez v mysql.. mysql zere disk pouze pri nabehu co jsem vypozoroval nez si nataha data do pameti pak uz je to v klidu. Nez jsem dopsal tuhle zpravu zkusil jsem vymenit redis pro session za memcached po socketu tak uvidim jsem s tim uz bezradnej docela nevim vubec ceho se chytnout protoze se nejak neda ani podle ceho chyntout .. Tyhle problemy to dela ve chvilich kdy na to navstevnost ani nevypada nebo to dela pri mensi navstevnosti v prubehu dne nez byla pri minulem totoznem problemu

    cat /etc/sysctl.conf
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_window_scaling = 1
    net.core.rmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096        16384   16777216
    
    net.core.somaxconn = 65535
    net.ipv4.conf.all.send_redirects = 1
    net.ipv4.ip_nonlocal_bind = 1
    net.ipv4.tcp_abort_on_overflow = 0
    net.ipv4.tcp_fin_timeout = 20
    net.ipv4.tcp_keepalive_time = 300
    net.ipv4.tcp_max_orphans = 262144
    net.ipv4.tcp_max_syn_backlog = 65536
    net.ipv4.tcp_max_tw_buckets = 262144
    net.ipv4.tcp_mem = 200000    280000    300000
    net.ipv4.tcp_reordering = 3
    #
    #net.ipv4.tcp_rmem = 4096    87380    4120928
    net.ipv4.tcp_synack_retries = 3
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_syn_retries = 5
    net.ipv4.tcp_timestamps = 0
    #net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_tw_reuse = 1
    #
    #net.ipv4.tcp_wmem = 4096    16384    4120928
    
    net.ipv4.netfilter.ip_conntrack_max = 10485760
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 20
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 10
    net.netfilter.nf_conntrack_max = 10485760
    net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 30
    net.netfilter.nf_conntrack_tcp_timeout_time_wait = 15
    net.ipv4.ip_local_port_range=1025 65000
    #kernel.shmall = 2097152
    #kernel.shmmax = 2147483648
    #kernel.shmmni = 4096
    #kernel.sem = 250 32000 100 128
    fs.file-max = 209708
    net.core.netdev_max_backlog=4096
    #net.core.wmem_max = 229376
    net.ipv4.tcp_slow_start_after_idle = 0
    #net.netfilter.nf_conntrack_count = 131072
    #net.
    
    
    
    10.5.2014 22:28 LuRy | skóre: 12
    Rozbalit Rozbalit vše Re: Problém - MySQL ve vysoké záteži
    Moje hypoteza je takova ze phpko pri zpracovani skriptu se na necem zasekne (nejspis na zamcich u redisu) a pak se odsekne a mysqlce naserviruje napriklad 50-100 spojeni najednou proto se zvedali tak ty casy a query cache se invalidovala vicekrat nez by bylo zdravo ale ted je to vlastne podruznej problem uz .. Zatim jsem vymenil pro php sessions redis za memcache tak uvidim.. jediny co me trapi je to ze kdyz resetnu memcache tak vse zahodi a memcachedb je dle myho nazoru sebevrazda o nekolik kradu pomalejsi. Uvidim nejspis v prubehu zitrka kdy byva obvykle spicka k veceru

    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.