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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 0
včera 21:21 | Nová verze Ladislav Hagara | Komentářů: 0
včera 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

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

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 4
6.12. 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 27
6.12. 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 790 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 449×
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: 30 | 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.