Thread MySQL Performance (16 answers)
Opened by bloonix at 2006-05-15 15:38

bloonix
 2006-05-15 15:38
#34385 #34385
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hallo Leute,

ich spiele gerade mit einer MySQL-Datenbank herum und weiß nicht so
recht, wo die Leistungsgrenzen bei MySQL liegen. Ich möchte das gerne
an einer Beispieltabelle aufzeigen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE ProcStats (
 Hostname  VARCHAR(255)  NOT NULL,
 Date      DATE          NOT NULL,
 Time      TIME          NOT NULL,
 User      FLOAT         NOT NULL,
 Nice      FLOAT         NOT NULL,
 System    FLOAT         NOT NULL,
 Idle      FLOAT         NOT NULL,
 IOWait    FLOAT         NOT NULL,
 Total     FLOAT         NOT NULL,
 New       FLOAT         NOT NULL
);


In diese Tabelle sollen Statistiken verschiedener Hosts geschrieben werden
und genau da liegt mein Problem. Jetzt habe ich beispielsweise 30 Hosts,
die ihre Auslastung alle 15 Sekunden in diese Tabelle schreiben.
Die Tabelle wächst also in Zeilen pro

Tag   =   172.800
Woche = 1.209.600
Monat = 5.184.000


Anders sieht es schon aus, wenn zum Beispiel ein ISP 5000 Server hat.

Tag   =   1.200.000
Woche =  28.800.000
Monat = 864.000.000


Und das ist noch nicht alles, denn 5000 Server ist noch relativ wenig.
Hinzu kommt, dass der Schreibinterval geringer aber auch höher sein
kann. Für meine Planung möchte ich gerne von diesen Zahlen ausgehen.

Wie baue ich nun am besten die Tabellenstruktur? In meinem alten Schema
hatte ich alles ohne Datenbank realisiert und für jeden Tag eine neue
Datei erstellt, das würde ich aber hier für zu aufwendig halten. Wäre eine
Tabelle für jeden Server besser, also ProcStats_Servername oder
doch lieber ProcStats_Servername_Datum um die Anzahl Zeilen
pro Tabelle zu verringern? Oder soll ich es genau so belassen, wie es im
Moment ist? Ich möchte an dieser Stelle noch einwerfen, dass ich andere
Tabellen habe, wo für jedes Netzwerkdevice eine Zeile geschrieben wird.

Für Hilfe wäre ich super dankbar.

Greez,
opi\n\n

<!--EDIT|opi|1147693503-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.

View full thread MySQL Performance