abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 13:11 | Zajímavý článek

Soudní dvůr Evropské unie rozhodl (tisková zpráva) ve věci C-527/15: Prodej multimediálního přehrávače, který umožňuje zdarma a jednoduše shlédnout na televizní obrazovce filmy protiprávně zpřístupněné na internetu, může představovat porušení autorského práva.

Ladislav Hagara | Komentářů: 11
včera 13:33 | Pozvánky

Byly stanoveny termíny konferencí LinuxDays 2017 a OpenAlt 2017. Letošní LinuxDays proběhne o víkendu 7. a 8. října v Praze v Dejvicích v prostorách FIT ČVUT. Letošní OpenAlt proběhne o víkendu 4. a 5. listopadu na FIT VUT v Brně.

Ladislav Hagara | Komentářů: 0
včera 11:11 | Komunita

Jiří Eischmann z desktopového týmu Red Hatu se v příspěvku Linuxový desktop: Co vám chybí na svém blogu ptá, co uživatele na Fedora Workstation a na linuxovém desktopu obecně trápí a co by desktopový tým mohl zlepšit. Pokud máte nějaké podněty, napište mu je do komentářů.

Ladislav Hagara | Komentářů: 69
včera 03:33 | Nová verze

Byla vydána nová verze 0.25.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Z novinek lze zmínit například podporu DVB-T2. Další části mpv byly přelicencovány z GPLv2 nebo novější na LGPLv2.1 nebo novější (#2033).

Ladislav Hagara | Komentářů: 0
včera 02:22 | Zajímavý projekt

Na Bundle Stars byla spuštěna akce Dollar Forever Bundle. Za 1 dolar lze získat 24 počítačových her bežících na platformě Steam také v Linuxu.

Ladislav Hagara | Komentářů: 2
24.4. 23:44 | Zajímavý software

Lychee je jedním z open source softwarů pro tvorbu webových fotoalb. Vyžadováno je PHP 5.5 nebo novější a MySQL. Ukázka na stránkách projektu. Zdrojové kódy jsou k dispozici na GitHubu pod open source licencí MIT [reddit].

Ladislav Hagara | Komentářů: 6
24.4. 22:22 | Zajímavý software

Společnosti Haivision a Wowza společně oznámily vznik SRT Alliance a otevření protokolu pro streamování videa SRT. Podrobnosti v FAQ. Zdrojové kódy SRT jsou k dispozici na GitHubu pod open source licencí LGPLv2.1.

Ladislav Hagara | Komentářů: 0
24.4. 12:33 | Humor

Byl vydán remake filmu Ghost in the Shell. Tentokrát v Bashi. Zhlédnout lze online na "ssh ghost@theshell.xyz" [Hacker News].

Ladislav Hagara | Komentářů: 16
23.4. 20:40 | Zajímavý článek

Lukáš Růžička v článku S Hydrogenem za lepší rytmus aneb bubeníkem snadno a rychle na MojeFedora.cz představuje automatického bubeníka s názvem Hydrogen (Wikipedie): Hydrogen je velmi vydařený program, který rozhodně nesmí chybět ve výbavě žádného linuxového muzikanta. Umožňuje nejen vytváření jednoduchých bicích doprovodů, ale také sofistikované programování bicích a perkusí, jehož výsledek se naprosto vyrovná drahým

… více »
Ladislav Hagara | Komentářů: 18
23.4. 13:55 | Zajímavý projekt

UPSat (Twitter) je první open source nanodružice (CubeSat). Jedná se o společný projekt nadace Libre Space Foundation a University of Patras. Repozitáře projektu jsou k dispozici na GitHubu. Pod Libre Space Foundation patří také projekt SatNOGS (zprávička), projekt globální sítě open source pozemních satelitních stanic, vítězný projekt soutěže The Hackaday Prize 2014. UPSat je součástí mise QB50 (Twitter). ID UPSatu je GR02. GPS přijímač na UPSatu je od české společnosti SkyFox Labs. Součástí mise QB50 je i česká nanodružice VZLUSAT-1 s ID CZ02.

Ladislav Hagara | Komentářů: 5
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (34%)
 (1%)
 (6%)
 (45%)
 (10%)
Celkem 308 hlasů
 Komentářů: 43, poslední dnes 02:36
    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: 464×
    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.