Portál AbcLinuxu, 8. května 2025 15:53

Dotaz: Jak se pres ssh dostat na server který sice žije ale je přetížený

27.6.2011 20:11 NextClick
Jak se pres ssh dostat na server který sice žije ale je přetížený
Přečteno: 1073×
Odpovědět | Admin
Ahoj,

mám docela problém. Občas mi na serveru mysql služba zahltí požadavky disk (optimalizoval jsem už vše kromě odložení index souborů na jiný disk a na výkonější pc zrovna nejsou prostředky) a já se pak nemůžu na dálku přihlásit přes ssh abych tu službu restartnul.

Moc vás prosím o tip na nějaké zvýšení priority pro ssh vzdálené přihlášení a nebo jestli někdo netuší jestli se dá mysql služba nějak hlídat a když je déle než 5 minut nedostupná, tak se restartne třeba i silou.

Děkuju za tipy. Server s IPMI konzolí snad někdy bude..ale ne hned. :(
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 27.6.2011 20:22 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mně napadá třeba cgroups.
Zdar Max
Měl jsem sen ... :(
28.6.2011 16:51 Ondar | skóre: 25 | blog: Linux_blog
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Jo, to je asi nejefektivnejsi reseni. U vseho ostatniho neni jiste, jestli to bude fachcit....
stativ avatar 28.6.2011 19:52 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Připojuji svůj hlas k použití skupin. Problém to sice nevyřeší, ale podle mého názoru je to dobrý nápad i pro případ, kdyby všechno fungovalo dobře. Zajistíš si tím i do budoucna, že se ti MySQL nerozleze natolik, aby se systém nedal vůbec používat.

V každém případě by to chtělo najít příčinu. Děje se před tím zahlcením něco zvláštního? Běží třeba nějaký skript?
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
27.6.2011 20:52 -
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Odpovědět | | Sbalit | Link | Blokovat | Admin
ahoj, nastav limity na mysql usera - hlavne iolimit. skus tiez dat sshd vyssiu prioritu napr renice -n -5 -u sshd alebo naopak mysql nizsiu. pokial to penazenka znesie, radsej prikup disky a hlavne ram
27.6.2011 20:54 -
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
renice -n -5 -u ssh samozrejme :D
27.6.2011 21:00 -
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
a co sa tyka monitoringu, mozes spravit kratky skript, ktory urobi jednoduchy select a zmerat jeho cas, pripadne cakat ci to v nejakom case stihne/nestihne a ten script pustat cron-om.
rADOn avatar 29.6.2011 12:39 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Podle toho co psal tazatel neni jeho problem vyhladoveni planovace ale io, takze nepotrebuje renice ale ionice.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
27.6.2011 22:20 NextClick
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Pamet u tehle masiny je na max (8GB) V beznem provozu mi zbyva rezerva 2GB RAM a na ni se mi moc sahat nechce. Nejaky dalsi rychly disk do toho koupit musim bez toho se nehnu. Hlavne pred tim nez zacnu prehazovat tabulky na jiny disk nesmim zapomenout vypnout selinux nebo z toho zesilim. :p

Mozna bych mohl sledovat narustani "log-slow-queries.log" a podle toho restartovat sql sluzbu.

Diky za ten tip na "renice" .. na rovinu priznavam, ze v tomto kovany nejsem. To nastaveni priority je trvale a nebo ho po kazdem restartu serveru musim udelat znovu?
Max avatar 27.6.2011 22:42 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Jen v rámci procesu, takže si to budeš asi muset hlídat (script + cron? nebo jen rc script?), teda pokud ssh nemá možnost nastavení priority v nějakém svém nastavení, což si teď nevybavuji.
Zdar Max
Měl jsem sen ... :(
28.6.2011 10:06 chytracek
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejprve odpoved na tve konkretni reseni: par radkovy bash scriptik s pouzitim cmd "mysqladmin ping" a v pripade ze neodpovida, tak nasilim zavrazdit proc "mysqld" ( pokud to bezi pres mysqld_safe, tak by si ho mel sam ihned nastartovat, pokud tedy nezavrazdis i ten mysqld_safe )

Nicmene sel bych hledat problem proc mysql server pretezuje IO subsystem. Muzes sem hodit my.cnf a status mysql damona (jde hlavne o cca posledni dve radky - uptime a posledni co zacina poctem threadu) ? Ten oddil kde mas mysql data mas doufam namountovany s 'noatime'.
28.6.2011 18:56 NextClick
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Ja vim, ze to je cele zpusobene vadne nakonfigurovanym mysqlkem. Jen uz netusim kde je zakopana bota:

Status:
Uptime: 24252  Threads: 21  Questions: 1454552  Slow queries: 734  Opens: 171  Flush tables: 1  Open tables: 115  Queries per second avg: 59.976

my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql

set-variable=long_query_time=5
log-slow-queries=/var/log/mysql/log-slow-queries.log

# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

key_buffer=864M
key_buffer_size=1328M
tmp_table_size=2256M
table_cache=1224
sort_buffer_size=32M
query_cache_size=32M
query_cache_limit=32M
query_cache_type=1
max_allowed_packet=32M 
max_connection=420
max_heap_table_size=64M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
thread_cache_size = 4

# Try number of CPU's*2 for thread_concurrency
#thread_concurrency = 4

set-variable  = default-character-set=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Ten konfigurak jsem splodil na zaklade nejake bechmark tooly co mi nektera nastaveni doporucila zmenit a na zaklade koukani po internetu ve smyslu: "mam tam tolik a tolik a jsem spokojeny"
29.6.2011 12:30 chytracek
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Nedovolim si tvrdit ze to cele je zpusobene vadnou konfiguraci, nicmene ledacos se tim da dohnat. Nahazim par postrehu a treba neco z toho ti pomuze.

Zacal bych nekde 'pod' mysqlkem - pokud mas o hodne vic selectu nez updatu/insertu, tak je vyhodnejsi pouzit deadline elevator, nez treba v RHELu defaultni cfq. Rozhodne primountovat mysql storage s 'noatime' flagem. Mrkni co pise iostat/iotop, jestli opravdu v kritickych chvilich se ceka na disk a jestli to je spis pri cteni nebo zapisu.

Jako hodne informativni nastroj pro tweakovani parametru se mi osvedcil napriklad tuning primer ( http://www.day32.com/MySQL/tuning-primer.sh ). 'Hodne informativni' zminuju z toho duvodu, ze prave mysql moc nejde nastavovat zpusobem 'mam tam tolik a tolik a jsem spokojeny' protoze opravdu dost zalezi na povaze sql dotazu a vubec designu databazi/tabulek (spravne indexy, mnoztsvi joinovanych tabulek, pouzivani views, atd.). Napriklad tmp_table_size mi prijde pomerne dost vysoky, ale k tomu mas opravdu nizky max_heap_table_size, takze ta tmp tabulka se ti stejne nevytvori v pameti ( mysql opravdu prihlizi k oboum hodnotam a vybere si tu nizsi ). Query_cache_size bych osobne taky nastavil krapet vyssi, ale to takhle tezko soudit, protoze bych potreboval jeste vypis aktualnich hodnot counteru, aby bylo videt vyuziti qry cache, popr. jeji fragmentaci. Ale vetsinu z toho by ti mel napovedet ten tuning primer.

Jen tak pro zajimavost. Kolik prumerne mas tabulek na databazi? Kolik je tam databazi? Kolik mas nejvetsich tabulek a jaka je v prumeru jejich velikost?
1.7.2011 00:15 NextClick
Rozbalit Rozbalit vše Re: Jak se pres ssh dostat na server který sice žije ale je přetížený
Diky moc za komentar a tipy. Urcite vyzkousim ten tuning primer a zkusim sem pak napsat jestli se podarilo neco postelovat.

Jinak databazi tam je cca 6 tabulek v nich je do 10. Velikost tabulek je vetsinou v radu do 10 MB vyjma dvou ktery jsou cca 1,5 a 3 GB velky. Ta 1,5 GB velka ma na sobe fulltextovy index a mam silne podezreni, ze to velke mnozstvi IO operaci zpusobuje obsluha prave toho fulltext indexu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.