Autor Subiect: Ora fatală  (Citit de 1594 ori)

design-web.ro

  • Vizitator
Ora fatală
« : Martie 03, 2010, 10:46:33 pm »
Bună seara!

Mă confrunt cu o situaţie nu puţin bizară în fiecare dimineaţă.
Între orele 9.15-9.45 load-ul creşte îngrozitor şi de cele mai multe ori toate site-urile care folosesc mysql vor fi nefuncţionale (Internal Server Error).

Am verificat tot ce era cu putinţă (top, monitor, procese, etc.) dar nu îmi arată nimic că ar fi o posibilă cauză. În acelaşi timp am încercat să închid posibilii consumatori care în timpul zilei ar folosi mai multe resurse decât celelalte site-uri, dar fără de folos.

Mi-ar plăcea dacă cineva a mai păţit ceva de genul să îmi spună sau dacă nu, măcar vreo idee de la cineva.

Mulţumesc,

Mihai

Tomoiaga

  • Webmaster
  • ****
  • Mesaje postate: 921
  • Karma: +18/-9
    • Vezi Profilul
    • http://elvsoft.com
Răspuns: Ora fatală
« Răspuns #1 : Martie 04, 2010, 12:13:41 am »
este I/O (%wa in top parca) ?

gabriel samfira

  • Oaspete
  • **
  • Mesaje postate: 18
  • Karma: +1/-0
    • Vezi Profilul
Răspuns: Ora fatală
« Răspuns #2 : Martie 04, 2010, 10:57:34 am »
Da, asa este, %wa reprezinta cat timp asteapta procesorul pentru finalizarea operatiilor de Input/Output.

O aplicatie folositoare este iostat. Afiseaza activitatea discurilor. Daca suspectezi un proces ca fiind sursa problemei de I/O, poti folosi urmatoarea comanda:

ionice -c3 -p<PID> (fara <> bineinteles).

Sunt 3 clase in care poti baga un proces:

1 - real time
2 - best-effort
3 - idle

As recomanda de asemenea sa verifici si /var/log/slow_queries (sau fisierul in care stochezi interogarile lente). Daca nu ai un fisier de genul, baga in /etc/my.cnf urmatoarea linie:

log_slow_queries = /var/log/slow_queries.log

dupa care dai:

touch /var/log/slow_queries.log && chmod 660 /var/log/slow_queries.log && chown root:mysql /var/log/slow_queries.log

si repornesti serverul MySQL.

Bafta!

Bruzli

  • Webmaster
  • ****
  • Mesaje postate: 518
  • Karma: +1/-0
    • Vezi Profilul
    • http://www.solutiiweb.ro
Răspuns: Ora fatală
« Răspuns #3 : Martie 04, 2010, 11:02:51 am »
daca esti pe vps, in functie de solutia de virtualizare, e posibil sa fie serverul principal cauza

design-web.ro

  • Vizitator
Răspuns: Ora fatală
« Răspuns #4 : Martie 04, 2010, 11:40:01 am »
Într-adevăr nu exista un slow_queries.log, mulţumesc de sfat. Acum aştept să văd mâine ce se întâmplă şi dacă se raportează ceva în el.

În iostat apare idle 94%, restul sunt mici, sigur, nu e acum ora la care se întâmplă problemele.

Mulţumesc şi revin cu informaţii.

Tomoiaga

  • Webmaster
  • ****
  • Mesaje postate: 921
  • Karma: +18/-9
    • Vezi Profilul
    • http://elvsoft.com
Răspuns: Ora fatală
« Răspuns #5 : Martie 04, 2010, 11:57:13 am »
zi-mi daca ai %wa mare in top si ruleaza si un iostat sa vezi cate scrieri si citiri ai cu disk-ul in medie.

design-web.ro

  • Vizitator
Răspuns: Ora fatală
« Răspuns #6 : Martie 04, 2010, 12:01:59 pm »
Cpu(s):  0.2%us,  1.1%sy,  3.2%ni, 95.1%id,  0.4%wa,  0.0%hi,  0.0%si,  0.0%st

În interval de 15 secunde, a fost max 4%, dar pentru o secundă.

Ia iostat:

Linux 2.6.18-028stab064.7-ent  03/04/2010

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.30    1.06    1.25    1.25    0.00   94.14

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

Tomoiaga

  • Webmaster
  • ****
  • Mesaje postate: 921
  • Karma: +18/-9
    • Vezi Profilul
    • http://elvsoft.com
Răspuns: Ora fatală
« Răspuns #7 : Martie 04, 2010, 12:08:05 pm »
nu acum, cand merge greu

MxHost

  • Membru
  • ***
  • Mesaje postate: 392
  • Karma: +2/-1
    • Vezi Profilul
    • http://www.mxhost.ro
Răspuns: Ora fatală
« Răspuns #8 : Martie 05, 2010, 01:24:36 am »
Mai poti verifica logurile de la cron jobs sa vezi ce ruleaza in acel interval.

design-web.ro

  • Vizitator
Răspuns: Ora fatală
« Răspuns #9 : Martie 05, 2010, 09:23:36 am »
În general, deşi la load deja mare faţă de obicei (4, pe când toată ziua e în jur de 1, în general sub):

top - 09:12:54 up 9 days, 13:04,  2 users,  load average: 4.00, 2.57, 1.49
Tasks:  91 total,   1 running,  87 sleeping,   0 stopped,   3 zombie
Cpu(s):  0.6%us,  1.6%sy,  2.0%ni, 94.8%id,  1.1%wa,  0.0%hi,  0.0%si,  0.0%st

dar am observat %wa şi 60 urcând pentru 1 max 2 secunde

exemple pe care le-am şi copiat:

top - 09:14:16 up 9 days, 13:06,  2 users,  load average: 2.96, 2.63, 1.60
Tasks:  99 total,   1 running,  95 sleeping,   0 stopped,   3 zombie
Cpu(s):  0.8%us,  4.1%sy, 11.3%ni, 72.5%id, 11.3%wa,  0.0%hi,  0.0%si,  0.0%st

top - 09:16:24 up 9 days, 13:08,  2 users,  load average: 2.51, 2.57, 1.71
Tasks: 113 total,   1 running, 111 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.1%us,  0.7%sy,  0.3%ni, 75.3%id, 23.5%wa,  0.0%hi,  0.0%si,  0.0%st

top - 09:16:42 up 9 days, 13:08,  2 users,  load average: 2.99, 2.67, 1.75
Tasks: 118 total,   1 running, 116 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.2%us,  1.4%sy,  1.5%ni, 68.9%id, 28.0%wa,  0.0%hi,  0.0%si,  0.0%st

top - 09:17:01 up 9 days, 13:08,  2 users,  load average: 3.45, 2.79, 1.81
Tasks: 125 total,   1 running, 123 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.3%us,  0.5%sy,  0.0%ni, 58.4%id, 40.7%wa,  0.0%hi,  0.0%si,  0.0%st

top - 09:17:31 up 9 days, 13:09,  2 users,  load average: 3.41, 2.85, 1.86
Tasks: 102 total,   1 running, 100 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.2%us,  1.5%sy,  2.9%ni, 43.6%id, 51.8%wa,  0.0%hi,  0.0%si,  0.0%st

și chiar la un load mai mare (5.3) este și %wa 0

top - 09:18:33 up 9 days, 13:10,  2 users,  load average: 5.23, 3.48, 2.14
Tasks: 123 total,   1 running, 120 sleeping,   0 stopped,   2 zombie
Cpu(s):  0.3%us,  1.6%sy,  3.0%ni, 94.8%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st

Iostat în schimb a fost tot timpul constant... nimic modificat:

Linux 2.6.18-028stab064.7-ent     03/05/2010

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.12    1.26    1.24    1.21    0.00   94.17

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

design-web.ro

  • Vizitator
Răspuns: Ora fatală
« Răspuns #10 : Martie 05, 2010, 09:08:24 pm »
Am uitat să menţionez, dar slow_queries.log este gol.

luci

  • Oaspete
  • **
  • Mesaje postate: 13
  • Karma: +0/-0
    • Vezi Profilul
Răspuns: Ora fatală
« Răspuns #11 : Martie 06, 2010, 12:56:25 pm »
nu ai mentionat cate nuclee de procesor ai ca sa intelegem daca acel load e mare sau nu.
spui ca te-ai uitat cu top si arata load mare dar nu ai descoperit procesul care papa cpu ?

paull

  • Vizitator
Răspuns: Ora fatală
« Răspuns #12 : Martie 06, 2010, 03:07:41 pm »
 - scheduled backup?
 - scheduled task ?
 - external mySQL connections?
 - misconfigured kernel?
 - hidden processes?
 - ..
 - ..
 - 1000 more reasons  ;D
  
  %wa = Timpul de asteptare la CPU pentru finalizarea I/O

  top, htop, mytop, etc etc

  "Am verificat tot ce era cu putinţă (top, monitor, procese, etc.) dar nu îmi arată nimic că ar fi o posibilă cauză. În acelaşi timp am încercat să închid posibilii consumatori care în timpul zilei ar folosi mai multe resurse decât celelalte site-uri, dar fără de folos."

  - verifica si partea hardware.

   mySQL:
   query-cache-type = 1
   query-cache-size = 8M

  - HTTP Error 500 Internal server error
    Verifica logurile apache.
 


« Ultima Modificare: Martie 06, 2010, 03:15:01 pm de paull »

scept1c

  • Vizitator
Răspuns: Ora fatală
« Răspuns #13 : Martie 10, 2010, 12:38:07 pm »
mi se pare ca poti avea niste hidden processes