knowledge-database (beta)

Current group: kassel.linux

mySQL langsam

mySQL langsam  
Frederic Beister
 Re: mySQL langsam  
Torsten Schneider
 Re: mySQL langsam  
Frederic Beister
From:Frederic Beister
Subject:mySQL langsam
Date:Tue, 26 Oct 2004 21:46:10 +0200
Moinsen!

Ich hab hier ein kleines Problem bei dem Ihr mir eventuell helfen könntet.
Ich habe ein System mit RedHat Linux, Apache, PHP4, mySQL aufgesetzt.
(2GHz, 1GB RAM, 2HDDs im Software-RAID0) und eine Kommunikationsplattform
für ein Firmen-LAN programmiert (Nachrichten, Anwesenheitsliste etc.)
Wenns hoch kommt sind 40 Leute eingeloggt bei denen das (immer offene)
Nachrichtenzentrum alle 5 Minuten aktualisiert wird. Ausserdem klicken
die Leute natürlich auch in den anderen Funktionen rum und produzieren
Anfragen auf die Datenbank (Hauptsächlich SELECTs, nur wenige INSERTs).

Seit einiger Zeit ist der Seitenaufbau z.B. im Nachrichtenzentrum
unerträglich
langsam geworden und ich bin mit meinem Latein am Ende. Ich habe folgendes
probiert:

- Indexes schlauer setzen
- An mySQL-Variablen "rumdoktern"
- Tabellen regelmässig durch Script aufräumen lassen

Doch hatte leider keinen Erfolg. Wenn ich schätzen sollte, wieviele Anfragen
die
Datenbank so bewältigen muss:

40 Leute, 1 SELECT pro 5 Minuten, pro gefundenem Datensatz nochmal 1 SELECT
auf eine
Andere Tabelle um zu überprüfen ob die Nachricht von diesem User gelöscht
wurde. Bei
angenommenen 20 Nachrichten pro Person sind das 40*20*2=1600 SELECTs pro 5
Minuten,
also 5 Anfragen/Sekunde (und das nur für das Nachrichtenzentrum). Ich dachte
eigentlich,
mySQL wäre so skalierbar, dass es auch diesem "Ansturm" trotzen kann. Aber
vielleicht
muss dann doch eine kommerzielle Datenbank her.

Für Tipps wäre ich seeehr dankbar!

Gruß
Frederic
From:Torsten Schneider
Subject:Re: mySQL langsam
Date:Tue, 26 Oct 2004 20:03:35 +0000 (UTC)
Frederic Beister wrote:

>40 Leute, 1 SELECT pro 5 Minuten, pro gefundenem Datensatz nochmal 1 SELECT
>auf eine
>Andere Tabelle um zu überprüfen ob die Nachricht von diesem User gelöscht
>wurde. Bei
>angenommenen 20 Nachrichten pro Person sind das 40*20*2=1600 SELECTs pro 5
>Minuten,
>also 5 Anfragen/Sekunde (und das nur für das Nachrichtenzentrum). Ich dachte
>eigentlich,
>mySQL wäre so skalierbar, dass es auch diesem "Ansturm" trotzen kann. Aber
>vielleicht
>muss dann doch eine kommerzielle Datenbank her.

Hast du mal zu Spitzenlastzeiten probiert, von der Shell aus Queries
abzusetzen?

Die Anzahld er Queries ist eher winzig, außer, diese sind sehr
ungeschickt erstellt.

Was sagt denn top in diesem Falle?


Grüße, Torsten
From:Frederic Beister
Subject:Re: mySQL langsam
Date:Mon, 1 Nov 2004 10:32:15 +0100
"Torsten Schneider" schrieb:
> Hast du mal zu Spitzenlastzeiten probiert, von der Shell aus Queries
> abzusetzen?

Ja. Allein das einloggen dauerte 20 Sekunden :)

> Was sagt denn top in diesem Falle?

Der mysqld brauchte teilweise 95% CPU und darunter liefen noch ca. 10
httpd-Childprozesse.
Das Problem hat ich mittlerweile aufgeklärt ...
.... was auch nur eine Tabelle ohne Indizes bewirken kann ... jetzt habe ich
teilweise unter Volllast
eine CPU-Idle von 99,5 - 100%

Danke auch allen!

Gruß
Frederic
   

Copyright © 2006 knowledge-database   -   All rights reserved