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 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
dnes 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 0
dnes 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

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

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 0
včera 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
včera 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

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

Byla vydána verze 2.11.0 QEMU (Wikipedie). Přispělo 165 vývojářů. Provedeno bylo více než 2 000 commitů. Přehled úprav a nových vlastností v seznamu změn.

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

Canonical oznámil dostupnost kryptografických balíčků s certifikací FIPS 140-2 úrovně 1 pro Ubuntu 16.04 LTS pro předplatitele podpory Ubuntu Advantage Advanced. Certifikace FIPS (Federal Information Processing Standards) jsou vyžadovány (nejenom) vládními institucemi USA.

Ladislav Hagara | Komentářů: 2
včera 16:11 | Zajímavý software

Společnost Avast uvolnila zdrojové kódy svého dekompilátoru RetDec (Retargetable Decompiler) založeného na LLVM. Vyzkoušet lze RetDec jako webovou službu nebo plugin pro interaktivní disassembler IDA. Zdrojové kódy RetDec jsou k dispozici na GitHubu pod open source licencí MIT.

Ladislav Hagara | Komentářů: 3
13.12. 11:00 | Zajímavý software
Na Good Old Games je v rámci aktuálních zimních slev zdarma k dispozici remasterovaná verze klasické point&click adventury Grim Fandango, a to bez DRM a pro mainstreamové OS včetně GNU/Linuxu. Akce trvá do 14. prosince, 15:00 SEČ.
Fluttershy, yay! | Komentářů: 6
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 989 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    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: 479×
    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.