PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CPU-Auslastung durch Datenbank-Abfragen



jemand07
04.09.07, 18:39
Hi,

Mir ist kürzlich aufgefallen, dass die CPU-Auslastung meines Servers bei Select-Abfragen auf die MySQL-Datenbank sehr schnell nach oben geht. Im Hinblick auf die Größe der Datenbank ist das nicht weiter verwunderlich, allerdings verwundert mich die Tatsache, dass exakt diese Datenbank (bzw. das Backup mit mysqldump) auf anderen Kisten wesentlich weniger Last verursacht.

Hier die Daten der Rechner inkl. Benchmarkergebnisse. Das Betriebssystem ist überall gleich, ebenso die Konfiguration der Datenbank und des Webservers.

1. virtuelle Maschine, Intel Xeon, 3 GHz und 2 GB RAM
Schlüssel Wert Zeit
Insert Time: 10000 8 s :-|
Update Time: 10000 10 s :-(
Select Time: 10000 10 s :-(
Delete Time: 1 1 s :-)
Multiplier: * 1

2. Server mit Pentium 4 ink. Hyperthreading, 2,8 GHz, 1 GB RAM
Schlüssel Wert Zeit
Insert Time: 10000 1 s :-)
Update Time: 10000 2 s :-)
Select Time: 10000 2 s :-)
Delete Time: 1 0 s :-)
Multiplier: * 1

3. virtuelle Maschine, CoreDuo mit 1,8 GHz (ohne SMP), 512 MB RAM
Schlüssel Wert Zeit
Insert Time: 10000 2 s :-)
Update Time: 10000 4 s :-|
Select Time: 10000 4 s :-)
Delete Time: 1 0 s :-)
Multiplier: * 1

Ist es tatsächlich möglich, dass der Pentium 4 und auch der CoreDuo die Abfragen schneller verarbeiten können als der 3 GHz Xeon? Kann mir das jemand rational erklären? :o

bla!zilla
04.09.07, 18:50
Bitte etwas mehr Details: Was für ein I/O System (Platten, RAID Level) liegen unter den einzelnen Datenbanken? Hast du die Indizies mal neu aufgebaut?

jemand07
04.09.07, 20:48
Bitte etwas mehr Details: Was für ein I/O System (Platten, RAID Level) liegen unter den einzelnen Datenbanken? Hast du die Indizies mal neu aufgebaut?

Was genau hinter dem virtuellen Server No.1 steht, weiss ich nicht. Ansonsten sind das ganz einfache Systeme mit nur einer Platte - also nix Raid.

Indizes hab ich mal neu aufgebaut, hat aber nicht geholfen - allerdings habe ich Zweifel, dass das auch wirklich eine Lösung sein könnte, denn im Prinzip läuft in allen Datenbanken der gleiche mysqldump.

bla!zilla
05.09.07, 06:21
Was für eine virtuelle Maschine ist das? Wieviele Resourcen wurden der VM bereitgestellt? Wie groß ist der MySQL Prozess, wieviele CPU Zeit konsumiert er. Wenn du die Query ausführst, welcher Wert steht bei top unter wa?

jemand07
05.09.07, 19:28
Also um ehrlich zu sein, sehe ich das Ziel der ganzen Detailangaben nicht... die Systeme sind identisch, keines verhält sich besonders auffällig und so sind auch die wa-Werte nicht auffällig hoch und natürlich verbrauchen die Prozesse auch entsprechend CPU-Zeit, wenn die Auslastung bei 100% ist. Der "böse" Server ist übrigens in einer VMWare-Umgebunng.

Es geht mir hier auch nicht darum, die Systeminstallation zu beurteilen, sondern einfach darum, ob es realistisch ist, dass ein virtueller Server mit dieser dahinterliegenden Leistungen im Vergleich zu den anderen Installationen ein so schlechtes Rennen macht?

marce
05.09.07, 19:59
Ja, es ist realistisch. Genau so realistisch ist es, dass er genau so schnell ist wie ein realer Server.

Und um das zu beurteilen - benötigt man halt unnötige Details. Manche von uns wissen schon, warum sie Infos wollen...

Aber wenn Du an einer fundierten Aussage kein Interesse hast - kein Problem...

bla!zilla
05.09.07, 22:42
Dem Posting von Marce ist nichts hinzuzufügen. Ich habe oft genug mit VMware zu tun um zu wissen, das es durchaus interessante Effekte geben kann.