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 16:33 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal dne 3. 9. 2025 VAROVÁNÍ před hrozbou v oblasti kybernetické bezpečnosti spočívající v předávání systémových a uživatelských dat do Čínské lidové republiky a ve vzdálené správě technických aktiv vykonávané z území Čínské lidové republiky. Varováním se musí zabývat povinné osoby podle zákona o kybernetické bezpečnosti.

    Ladislav Hagara | Komentářů: 7
    dnes 11:55 | IT novinky

    Americká internetová společnost Google nemusí prodat svůj prohlížeč Chrome ani operační systém Android. Rozhodl o tom soud ve Washingtonu, který tak zamítl požadavek amerického ministerstva spravedlnosti. Soud ale firmě nařídil sdílet data s jinými podniky v zájmu posílení konkurence v oblasti internetového vyhledávání. Zároveň Googlu zakázal uzavírat dohody s výrobci mobilních a dalších zařízení, které by znemožňovaly

    … více »
    Ladislav Hagara | Komentářů: 3
    dnes 11:33 | Humor

    Prvního září ozbrojení policisté zatkli na na londýnském letišti Heathrow scénáristu a režiséra Grahama Linehana, známého především komediálními seriály Ajťáci, Otec Ted nebo Black Books. Během výslechu měl 57letý Graham nebezpečně zvýšený krevní tlak až na samou hranici mrtvice a proto byl z policejní stanice převezen do nemocnice. Důvodem zatčení bylo údajné podněcování násilí v jeho 'vtipných' příspěvcích na sociální síti

    … více »
    Gréta | Komentářů: 43
    dnes 10:22 | Pozvánky

    Studentská dílna Macgyver zve na další Virtuální Bastlírnu - pravidelné online setkání všech, kdo mají blízko k bastlení, elektronice, IT, vědě a technice. Letní prázdniny jsou za námi a je čas probrat novinky, které se přes srpen nahromadily. Tentokrát jich je více než 50! Těšit se můžete mimo jiné na:

    Hardware – Bus Pirate na ESP32, reverse engineering Raspberry Pi, pseudo-ZX-80 na RISC-V, PicoCalc, organizéry na nářadí z pěny nebo … více »
    bkralik | Komentářů: 0
    dnes 03:11 | Nová verze

    Google Chrome 140 byl prohlášen za stabilní. Nejnovější stabilní verze 140.0.7339.80 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 6 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    LeoCAD (Wikipedie) je svobodná multiplatformní aplikace umožňující také na Linuxu vytvářet virtuální 3D modely z kostek lega. Vydána byla verze 25.09. Zdrojové kódy a AppImage jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 1
    včera 21:00 | IT novinky

    RubyMine, tj. IDE pro Ruby a Rails od společnosti JetBrains, je nově zdarma pro nekomerční použití.

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

    Český LibreOffice tým vydává překlad příručky LibreOffice Calc 25.2. Calc je tabulkový procesor kancelářského balíku LibreOffice. Příručka je ke stažení na stránce dokumentace.

    ZCR | Komentářů: 2
    včera 01:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.4 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 0
    1.9. 23:44 | Nová verze

    Zakladatel ChimeraOS představil další linuxovou distribuci zaměřenou na hráče počítačových her. Kazeta je linuxová distribuce inspirována herními konzolemi z 90. let. Pro hraní hry je potřeba vložit paměťové médium s danou hrou. Doporučeny jsou SD karty.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (2%)
     (3%)
     (4%)
     (2%)
    Celkem 132 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    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: 638×
    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.