MySQL veroorzaakt hoge load

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • wolly_a
  • Registratie: September 2002
  • Niet online
Een vreemde situatie die gisteren spontaan is ontstaan, maar die ik niet zo op kan lossen.

Sinds een hele tijd draai ik met volle tevredenheid een klein webservertje en gebruik daarvoor het pakket dat destijds nog ClarkConnect heette. Ik heb er nooit geen problemen mee gehad, maar gisteren klapte MySQL er spontaan uit, waardoor ik alleen maar mislukte queries kreeg. Een restart lostte toen eventjes het probleem op, maar na enkele minuten was de server alweer heel traag. Dit bleef zo aan de gang.

Door mijn beperkte Linuxkennis kan ik het probleem zo even niet oplossen. De volgende dingen heb ik gedaan om te kijken wat het probleem was. Via Top kwam ik er achter dat de load enorm hoog was en dat mysqld behoorlijk wat CPU trok. MySQL stoppen en weer starten lostte het probleem op... voor even.

Na wat zoeken kwam iemand met deze suggestie:
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
Dit leverde ook geen resultaat op.

Ik heb gisteren een hele rij tables opgeruimd, maar ook zonder resultaat.

Als ik met phpMyAdmin show processlist doe, dan zie ik wel een stuk of 20 items staan met het commando SLEEP en sommige met een tijd tot 20000. Ofwel... bijft er wat hangen op de een of andere manier?

Iemand een idee of een duwtje in de goede richting. Zoals gezegd is mijn Linuxkennis beperkt.

Wat kan het probleem zijn?

Acties:
  • 0 Henk 'm!

  • stereohead
  • Registratie: April 2006
  • Laatst online: 14:55
Die TIME value is het aantal seconden dat 'ie idle is. 20000 is gelijk aan ruim 5 uur. Dat is wel erg lang voor een connectie. Welke programma's maken allemaal gebruik van die MySQL server?

Deze thread zegt dat dat mogelijk komt doordat er 'persistente' connecties gemaakt worden. Probeer eens de opties die in die thread worden geopperd.

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 16:51

Kees

Serveradmin / BOFH / DoC
Sleep is normaliter geen enkel probleem, dat is niet iets wat een hoge load veroorzaakt. Het probleem is dat mysql blijkbaar iets aan het doen is, wat hij precies aan het doen is zou je eventueel in de log files kunnen vinden. Het is dus zaak ok als eerste in de error logs te duiken, mischien is hij wel grote tables aan het recoveren, een tweede optie is inderdaad de processlist te verversen, mischien draait er wel 1 zware query, ook zou je gewoon alles kunnen loggen, en zien of daar iets mis gaat.

Verder kun je mbv programma's als iostat e.d. kijken of hij mischien heel hard naar de disk aan het schrijven is. Je zal somehow moeten achterhalen wat mysql doet, en sleep connections doen niets, alhoewel het natuurlijk altijd handig is om die niet te hebben. Het zijn inderdaad waarschijnlijk persistent connecties.

Welke error krijg je trouwens op de 'eruit geklapte' database? connection timeouts? connection refused? max connections reached? etc.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • wolly_a
  • Registratie: September 2002
  • Niet online
Bedankt voor het reageren en potverdorie... ik ben erachter wat het probleem is.

Een heel oud scriptje, dat al jaren in de site zit die ik op die webserver host, schijnt in een loopje te gaan en daardoor de enorm hoge load te veroorzaken. Het scriptje eruit gedonderd, want eigenlijk is ie toch niet meer nodig en het werkt weer!!

Gelukkig!!