[mysql] debian stable + mysql, random (?) 'vastlopers'

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Dutchy_
  • Registratie: December 2004
  • Laatst online: 30-09 09:10
Hoi allen,

Ik krijg op een gemiddeld drukke webserver regelmatig te maken met mysql die blijft hangen. Hangen wil hier zeggen dat mysql 100% cpu blijft trekken.

Er staat niks in de error log. De slow query log noemt geen noemenswaardige queries, zeg maar maximaal 2 seconden.

Op dit punt zit ik vast. Wat kan ik er nog aan doen als de logs niks vermelden? mysql lijkt nog wel te werken verder, alleen heel traag omdat het de cpu vol trekt... De status pagina van phpmyadmin zegt (wat mij betreft) niks interessants, en ik heb in de config van mysql ook al van alles getweakt, zodat er zoveel mogelijk vanuit de cache gebeurt en dergelijke, alles netjes efficient.

Kan iemand mij helpen, hints in de goeie richting?

PS. ik gebruik hier phpmyadmin omdat dat makkelijker lezen is dan de kolommen van handmatig status queries uitvoeren.

Acties:
  • 0 Henk 'm!

  • JMW761
  • Registratie: Oktober 2001
  • Laatst online: 11:26
waarschijnlijk is er op dat moment een query bezig.

probeer eens in te loggen op de mysql command-line en dan meer informatie te verzamelen over de queries die dan lang open staan.

daarmee kun je dan verder; als je gewoon in kan loggen op phpmyadmin/mysql command line dan loopt je mysql niet vast/crahsed; maar dan heb je een process (en daarmee eigenlijk een query) die moeilijk doet.

op hoeveel seconden heb je je slow-log staan?

Acties:
  • 0 Henk 'm!

  • BarthezZ
  • Registratie: Juli 2004
  • Niet online

BarthezZ

anti voetbal en slechte djs!

Wat levert vanaf de mysql cli show full processlist op? Hij moet ergens mee bezig zijn...

Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 05-10 15:53

mace

Sapere Aude

Proberen uit te volgelen welke query het is en dan kan je met EXPLAIN de boel nagaan wat hij allemaal doet enz.

edit: en je kan langzame queries loggen door je mysql server op te starten met " --log-slow-queries = /var/log/mysql.slowqueries" (of waar je de log dan ook maar kwijt wilt).

[ Voor 44% gewijzigd door mace op 11-06-2010 13:40 ]


Acties:
  • 0 Henk 'm!

  • Dutchy_
  • Registratie: December 2004
  • Laatst online: 30-09 09:10
Excuus voor de late reactie, ik dacht dat ik emailreminders aan had gezet maar blijkbaar niet.

Slowlog staat aan en op 2 seconden, maar daar is dus niks in te zien. Maar inmiddels lijkt het er op dat het altijd eenzelfde query is die vast loopt, in de processlist staat naast een heleboel slapende connecties vaak 1 specifieke query (ik weet nog niet precies welke, omdat ik er niet altijd bij ben krijg ik copy/pastes of screenshots te zien).
en dan kan je met EXPLAIN de boel nagaan wat hij allemaal doet enz.
Die ken ik niet, ik zal het eens gaan googlen. Bedankt!

edit:typo

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Dutchy_ schreef op dinsdag 22 juni 2010 @ 17:00:
Excuus voor de laatste reactie, ik dacht dat ik emailreminders aan had gezet maar blijkbaar niet.
Die feature heeft GoT voor zover ik weet helaas niet ;)
Slowlog staat aan en op 2 seconden, maar daar is dus niks in te zien. Maar inmiddels lijkt het er op dat het altijd eenzelfde query is die vast loopt, in de processlist staat naast een heleboel slapende connecties vaak 1 specifieke query (ik weet nog niet precies welke, omdat ik er niet altijd bij ben krijg ik copy/pastes of screenshots te zien).
Zoals Barthezz zegt, gewoon met show processlist kijken welke queries draaien. Dat zou moeten helpen.

Blog [Stackoverflow] [LinkedIn]

Pagina: 1