Serverauslastung durch MySQL

MySQL, PostgreSQL, SQLite
sam.schwedler
Posts: 9
Joined: 2004-12-01 12:43

Serverauslastung durch MySQL

Post by sam.schwedler » 2006-09-07 14:40

Hallo,

ich habe auf meinem Server ca. 100 Kunden, fast alle mit Datenbanken und Shops.
Nun habe ich das Problem, dass mein Server durch MySQL Abfragen ständig voll ausgelastet ist.

Ein Auszug von top:

1216 mysql 15 0 73664 8452 1448 S 63.5 3.4 3940:01 mysqld
9817 wwwrun 17 0 79164 12m 2832 D 2.7 5.3 0:00.63 httpd2-prefork
9781 wwwrun 15 0 79976 15m 2848 S 1.7 6.4 0:00.63 httpd2-prefork
...

Sobald MySQL längere Zeit voll ausgelastet ist, werden die Apache(httpd2-prefork) Prozesse ständig mehr, bis der freie RAM auf 3MB zurückgeht.
Dann kann keine Seite mehr aufgerufen werden.

Wie kann ich herausfinden, an welchem Script/Abfrage sich MySQL die Zähne ausbeißt?

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Serverauslastung durch MySQL

Post by flo » 2006-09-07 14:49

Fahr zunächst die Apache-Prozesse so runter, daß die Kiste hinterherkommt, das gibt Dir Zeit, den/die Fehler zu suchen.

1) Schalte Dein Sloq-Query-Log ein und überwacht das
2) Prüfe die Einstellungen zu Caches im MySQL
3) willst Du pconnects oder nicht - prüfen ...
4) Alle Stickies mal kurz durchsehen, speziell die von isotopp und Joe User

Dazu wäre noch nützlich:
- Speicherwerte
- welche Maschine
- wieviele Prozesse sind jeweils aktiv
- was sagt der status/extended-status?

flo.