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 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 1
    dnes 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

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

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 753 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: preťaženie systému, nočné scripty

    16.8.2015 14:30 dusan456 | skóre: 12 | Poprad
    preťaženie systému, nočné scripty
    Přečteno: 585×
    Příloha:
    Zdravím, poprosil by som poradiť s následujúcim problémom.

    Raz mesačne sťahujem z externého zdroja veľké množstvo dát a ukladám ich do mysql, myisam tabuliek pomocou perl a cli_php scriptov, tieto tabuky sa nepoužívajú na select, aktualizáciu prevádzam až po stiahnutí všetkých dát. Mám tam Linux version 2.6.32-5-amd64 (Debian 2.6.32-48squeeze6), a mysql 5.1.73-1, Apache/2.4.10 (Debian) na stroji beží aj web. Software Raid 1 HDDs. Po spustení scriptov cítiť trocha zaťaženie, ale web beží v norme.

    Teraz máme nový stroj Linux version 3.16.0-4-amd64, (gcc version 4.8.4 (Debian 4.8.4-1), #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04), mysql 5.5.44-0+deb8u1 a Apache/2.4.10 (Debian). Software Raid 1 HDDs. Po spustení spomínaných scriptov dôjde k silnému preťaženiu a web je skoro úplne nedostupný. Mám dojem, že sťahovanie je oveľa rýchlejšie, ale na úkor funkčnosti webu. Scripty som púšťal aj pomocou nice 19, ale evidentne to nepomáha.

    Neviete mi prosím poradiť, ako vyladiť server, aby počas sťahovania dát fungoval aj web? Toto sú parametre nového servra.

    Mám podozrenie, či to nemá spojitosť so SWAPom, ale neviem sa pohnúť ďalej.

    Tento dotaz som už zverejnil do databázovej poradni, ale keďže sa pravdepodobne jedná o celkové nastavenie systému, je vhodnejšie, aby bol tento dotaz v linuxovej poradni, za čo sa ospravedlňujem.

    Toto sú výpisy z nového servra, kde je problém:
    # cat /proc/sys/vm/overcommit_memory
    0
    
    # lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                8
    On-line CPU(s) list:   0-7
    Thread(s) per core:    2
    Core(s) per socket:    4
    Socket(s):             1
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 60
    Model name:            Intel(R) Xeon(R) CPU E3-1246 v3 @ 3.50GHz
    Stepping:              3
    CPU MHz:               3791.621
    CPU max MHz:           3900.0000
    CPU min MHz:           800.0000
    BogoMIPS:              7000.23
    Virtualization:        VT-x
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              256K
    L3 cache:              8192K
    NUMA node0 CPU(s):     0-7
    
    # apachectl -V
    Server version: Apache/2.4.10 (Debian)
    Server built:   Aug  1 2015 20:53:57
    Server's Module Magic Number: 20120211:37
    Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
    Compiled using: APR 1.5.1, APR-UTIL 1.5.4
    Architecture:   64-bit
    Server MPM:     prefork
      threaded:     no
        forked:     yes (variable process count)
    Server compiled with....
     -D APR_HAS_SENDFILE
     -D APR_HAS_MMAP
     -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
     -D APR_USE_SYSVSEM_SERIALIZE
     -D APR_USE_PTHREAD_SERIALIZE
     -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
     -D APR_HAS_OTHER_CHILD
     -D AP_HAVE_RELIABLE_PIPED_LOGS
     -D DYNAMIC_MODULE_LIMIT=256
     -D HTTPD_ROOT="/etc/apache2"
     -D SUEXEC_BIN="/usr/lib/apache2/suexec"
     -D DEFAULT_PIDLOG="/var/run/apache2.pid"
     -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
     -D DEFAULT_ERRORLOG="logs/error_log"
     -D AP_TYPES_CONFIG_FILE="mime.types"
     -D SERVER_CONFIG_FILE="apache2.conf"
    
    # cat /etc/mysql/my.cnf   | egrep -v "(^#.*|^$)"
    [client]
    port		= 3306
    socket		= /var/run/mysqld/mysqld.sock
    [mysqld_safe]
    socket		= /var/run/mysqld/mysqld.sock
    nice		= 0
    [mysqld]
    user		= mysql
    pid-file	= /var/run/mysqld/mysqld.pid
    socket		= /var/run/mysqld/mysqld.sock
    port		= 3306
    basedir		= /usr
    datadir		= /var/lib/mysql
    tmpdir		= /tmp
    lc-messages-dir	= /usr/share/mysql
    skip-external-locking
    bind-address		= 127.0.0.1
    key_buffer		= 16M
    max_allowed_packet	= 16M
    thread_stack		= 192K
    thread_cache_size       = 8
    myisam-recover         = BACKUP
    max_connections        = 250
    low_priority_updates	= 1
    query_cache_limit	= 1M
    query_cache_size        = 16M
    log_error = /var/log/mysql/error.log
    expire_logs_days	= 10
    max_binlog_size         = 100M
    [mysqldump]
    quick
    quote-names
    max_allowed_packet	= 16M
    [mysql]
    [isamchk]
    key_buffer		= 16M
    !includedir /etc/mysql/conf.d/
    
    # cat /etc/apache2/apache2.conf  | egrep -v "(^#.*|^$)"
    
    Mutex file:${APACHE_LOCK_DIR} default
    PidFile ${APACHE_PID_FILE}
    Timeout 45
    KeepAlive Off
    MaxKeepAliveRequests 100
    KeepAliveTimeout 5
    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}
    HostnameLookups Off
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    IncludeOptional mods-enabled/*.load
    IncludeOptional mods-enabled/*.conf
    Include ports.conf
    AccessFileName .htaccess
    <FilesMatch "^\.ht">
    	Require all denied
    </FilesMatch>
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %O" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent
    IncludeOptional conf-enabled/*.conf
    IncludeOptional sites-enabled/*.conf
    
    A toto sú výpisy zo starého, kde to funguje relatívne dobre:
    # cat /proc/sys/vm/overcommit_memory
    0
    
    #lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    CPU(s):                8
    Thread(s) per core:    2
    Core(s) per socket:    4
    CPU socket(s):         1
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 58
    Stepping:              9
    CPU MHz:               3399.943
    Virtualization:        VT-x
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              256K
    L3 cache:              8192K
    
    
    # apachectl -V
    Server version: Apache/2.2.16 (Debian)
    Server built:   Feb  1 2014 21:22:42
    Server's Module Magic Number: 20051115:24
    Server loaded:  APR 1.4.2, APR-Util 1.3.9
    Compiled using: APR 1.4.2, APR-Util 1.3.9
    Architecture:   64-bit
    Server MPM:     Prefork
      threaded:     no
        forked:     yes (variable process count)
    Server compiled with....
     -D APACHE_MPM_DIR="server/mpm/prefork"
     -D APR_HAS_SENDFILE
     -D APR_HAS_MMAP
     -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
     -D APR_USE_SYSVSEM_SERIALIZE
     -D APR_USE_PTHREAD_SERIALIZE
     -D APR_HAS_OTHER_CHILD
     -D AP_HAVE_RELIABLE_PIPED_LOGS
     -D DYNAMIC_MODULE_LIMIT=128
     -D HTTPD_ROOT="/etc/apache2"
     -D SUEXEC_BIN="/usr/lib/apache2/suexec"
     -D DEFAULT_PIDLOG="/var/run/apache2.pid"
     -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
     -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
     -D DEFAULT_ERRORLOG="logs/error_log"
     -D AP_TYPES_CONFIG_FILE="mime.types"
     -D SERVER_CONFIG_FILE="apache2.conf"
    
    # cat /etc/mysql/my.cnf   | egrep -v "(^#.*|^$)"
    [client]
    port		= 3306
    socket		= /var/run/mysqld/mysqld.sock
    [mysqld_safe]
    socket		= /var/run/mysqld/mysqld.sock
    nice		= 0
    [mysqld]
    user		= mysql
    pid-file	= /var/run/mysqld/mysqld.pid
    socket		= /var/run/mysqld/mysqld.sock
    port		= 3306
    basedir		= /usr
    datadir		= /var/lib/mysql
    tmpdir		= /tmp
    language	= /usr/share/mysql/english
    skip-external-locking
    bind-address		= 127.0.0.1
    key_buffer		= 16M
    max_allowed_packet	= 16M
    thread_stack		= 192K
    thread_cache_size       = 8
    myisam-recover         = BACKUP
    low_priority_updates	= 1
    query_cache_limit	= 1M
    query_cache_size        = 16M
    expire_logs_days	= 10
    max_binlog_size         = 100M
    [mysqldump]
    quick
    quote-names
    max_allowed_packet	= 16M
    [mysql]
    [isamchk]
    key_buffer		= 16M
    !includedir /etc/mysql/conf.d/
    # cat /etc/apache2/apache2.conf  | egrep -v "(^#.*|^$)"
    
    LockFile ${APACHE_LOCK_DIR}/accept.lock
    PidFile ${APACHE_PID_FILE}
    Timeout 45
    KeepAlive Off
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15
    <IfModule mpm_prefork_module>
        StartServers            2
        MinSpareServers         5
        MaxSpareServers        10
        MaxClients             30
        MaxRequestsPerChild  2000
    </IfModule>
    <IfModule mpm_worker_module>
        StartServers          2
        MinSpareThreads      25
        MaxSpareThreads      75 
        ThreadLimit          64
        ThreadsPerChild      25
        MaxClients          150
        MaxRequestsPerChild   2000
    </IfModule>
    <IfModule mpm_event_module>
        StartServers          2
        MaxClients          150
        MinSpareThreads      25
        MaxSpareThreads      75 
        ThreadLimit          64
        ThreadsPerChild      25
        MaxRequestsPerChild   0
    </IfModule>
    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}
    AccessFileName .htaccess
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy all
    </Files>
    DefaultType text/plain
    HostnameLookups Off
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    Include mods-enabled/*.load
    Include mods-enabled/*.conf
    Include httpd.conf
    Include ports.conf
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %O" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent
    Include conf.d/
    Include sites-enabled/
    

    Řešení dotazu:


    Odpovědi

    16.8.2015 17:22 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    Ešte by som chcel doplniť. Teraz som poslal na spomínaný server cca. 17GB do /home/ adresára. V atop hneň začal červeno svietiť sda a sdb disk až skoro 100% a čo som prekvapený, tak read bol vysoké číslo a write len veľmi nízke a to pritom sa dáta zapisovali. Pred operáciou bolo vyťaženie oboch diskov cca. 3%.

    Najväčšiu zaťaženosť diskov vykazoval mysqld.

    Pomohol až mysqlcheck -o --all-databases -u root --password=xxxxxxx

    V podstate, ak sa po nejakej operácii začne vyťaženosť diskov zvyšovať, musím po ukončení vždy previesť mysqlcheck, až tak sa pomali zníži na spomínané 3%.

    Nechápem, čo to môže byť, pravdepodobne to má súvis s mysql, ale ako to môže mať vplyv na mysql, ak sa dáta ukladajú do úplne iného adresára. Nechápem tomu :(
    16.8.2015 18:47 xof1s
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    Jaký je I/O scheduler na starém a jaký na novém debianu?
    cat /sys/block/sda/queue/scheduler
    16.8.2015 19:15 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    starý:
    # cat /sys/block/sda/queue/scheduler
    noop anticipatory deadline [cfq] 
    
    nový:
    # cat /sys/block/sda/queue/scheduler
    noop deadline [cfq] 
    Myslíte, že to bude ono? Vyzerá to nádejne :)
    16.8.2015 21:03 nobody
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    hranate zavorky znaci co je pouzivano, tedy na obouch mas aktivni totozne [cfg]
    16.8.2015 21:17 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    škoda, už som sa tešil, že sa pohnem ďalej :(
    16.8.2015 21:06 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    Tak teraz neviem, či u oboch je nastavené [cfq], alebo v novom chýba anticipatory.
    Řešení 1× (xof1s)
    17.8.2015 13:36 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    Super ďakujem, deadline pomohol!
    echo deadline > /sys/block/sda/queue/scheduler
    echo deadline > /sys/block/sdb/queue/scheduler
    
    Už to je omnoho lepšie, bude to potrebné ešte trocha doladiť, ale nedá sa to porovnať so stavom predtým. Síce nerozumiem, že na oboch bol cfg a pritom na starom to nebolo také katastrofálne, ale hlavne, že sa to poriešilo.
    16.8.2015 23:09 Mti. | skóre: 31 | blog: Mti
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    kolik naleze do swapu? Jestli prijde "odnekud" 17GB - nevyzere to "jen" ramku ostatnim programum?

    Mam to z jineho konca - script na zalohy virtualnich stroju - lvm snapshot virtualu, zabalit, odeslat na druhe pole, pripadne po siti pryc ... v tu ranu je zatizeni masiny "hrozne", protoze kopirovani par set GB spolehlive vylije cache a jeste naplni swap a spatne pak reaguje vsechno. Pomohlo mi omezit mnozstvi pameti pro zalohovaci scripty. Bo na co potrebuje zhnetek dd a pigz vyuzit vic jak giga ram, kdyz se na neho stejne nespecha... spis naopak. :-)

    takze ten "muj" script zacina necim takovym:
    renice +15 $$
    ionice -p $$ -c 3
    cgcreate -g memory:/cg_zalohy
    echo 1G > /sys/fs/cgroup/memory/cg_zalohy/memory.limit_in_bytes
    
    (renice a ionice resily problem jen ze zacatku, dokud nebylo virtualu vic...)

    cgroups se postaraji, aby si to proste vic vzit neumelo a fajn je, ze ani diskove cache... takze od te doby ty masiny uz do swapu nechodi, bo na "svoji" praci maji pameti dost.... Ve stejne skupine zustanou i procesy spustene z toho scriptu. Pokud ty data budes posilat do mysql, to si bude s ramkou zase hospodarit "samo".... pripadne mu taky muzes vytvorit jeho cgroup, ale s rozumem... pujde to na ukor vykonu, kdyz ho vezmes pod krkem prilis. :-D Navic jestli se s nim bavi zaroven web... problem to asi nevyresi.

    Cgroups toho umi mnohem vic, ale ... clovek je od prirody liny a mi uz ta ram vytrhla trn z paty, takze sem to dal nezkoumal. :-D (servery maji vetsinou 14.04Ub., doufam, ze ten debian ma podporu taky)
    Vidim harddisk mrzuty, jehoz hlava plotny se dotyka...
    17.8.2015 09:16 MP
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    S RAM by to nemelo mit nic spolecneho. Dulezite je to I/O - 100% disk znamena saturace disku a veskere operace se zpomali a dojde k pretizeni serveru. Doporucil bych kontrolu celeho diskoveho substystemu, jako SW, tak HW.
    Btw, hodte sem neco jako: "iostat -x 10". 
    Jakym zpusobem se tam sypalo tech 17GB, pri kterych doslo k narustu cteni vs zapis?
    
    17.8.2015 13:40 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: preťaženie systému, nočné scripty
    Teraz je výpis následovný, uvidím pri záťaži, ako to bude vyzerať.
    # iostat -x 10
    Linux 3.16.0-4-amd64  	08/17/2015 	_x86_64_	(8 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               3.61    0.00    0.51    2.00    0.00   93.88
    
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    sdb               0.03    28.89   17.21   25.11   280.48  1484.60    83.42     2.31   54.70   11.73   84.15   2.00   8.47
    sda               0.06    28.92   32.52   25.08   815.83  1484.60    79.87     2.58   44.75    7.44   93.12   2.06  11.85
    md1               0.00     0.00    0.00    0.00     0.01     0.00     7.20     0.00    0.00    0.00    0.00   0.00   0.00
    md0               0.00     0.00    0.00    0.00     0.01     0.00     8.00     0.00    0.00    0.00    0.00   0.00   0.00
    md2               0.00     0.00   49.81   53.41  1096.26  1484.30    50.00     0.00    0.00    0.00    0.00   0.00   0.00
    
    Ako som spomínal vyššie, nastavil som scheduler deadline.

    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.