Da ich zufälligerweise gerade für die Uni einen HDD vs. SSD Vergleich machen musste und zu interessanten Ergebnissen gekommen bin, poste ich die hier auch mal. Das ganze ist jetzt nicht wirklich ein professionelles Review, sondern eher ein Kurz-Test.
Testsystem 1 (SSD)Windows Server 2008 R2 Host System mit Hyper-V (RTM Version)
Ubuntu 9.10 Gast System auf dem die Aufgabe durchgeführt wurde
Notebook: Samsung Aura R560
Intel Penryn P8400 Dual Core @2.4 GHz (1 virtuelle CPU für Ubuntu)
4 GB DDR3 Arbeitsspeicher, 1066 MHz (1024 MB für Ubuntu)
Kingston SSD Now V-Series 128 GB Festplatte (
http://geizhals.at/eu/a437100.html)
CrystalMark (v2.2) -- 40 von 119 nutzbaren GB frei
CrystalMark (v2.2) -- Sequentiell – 106.7 MB lesen / 58.8 MB schreiben
CrystalMark (v2.2) -- 512K – 98.0 MB lesen / 48.7 MB schreiben
CrystalMark (v2.2) -- 4K – 11.5 MB lesen / 1.8 MB schreiben
Testsystem 2 (HDD)Windows Server 2008 R2 Host System mit Hyper-V (RTM Version)
Ubuntu 9.10 Gast System auf dem die Aufgabe durchgeführt wurde
Workstation: Custom
Intel Core i7-920 Quad Core @2.67 GHz (1 virtuelle CPU für Ubuntu)
12 GB DDR3 Arbeitsspeicher, 1333 MHz (1024 MB für Ubuntu)
Western Digital VelociRaptor 150 GB Festplatte (
http://geizhals.at/eu/a353927.html)
CrystalMark (v2.2) -- 60 von 139 nutzbaren GB frei
CrystalMark (v2.2) -- Sequentiell – 91.0 MB lesen / 96.7 MB schreiben
CrystalMark (v2.2) -- 512K – 46.5 MB lesen / 70.0 MB schreiben
CrystalMark (v2.2) -- 4K – 0.7 MB lesen / 2.2 MB schreiben
TestMir ist klar, dass die Systeme durch CPU und Ram unterschiedliche Performance bieten. Da ein Datenbank Benchmark durchgeführt wurde der aber nicht annähernd volle CPU Last verursacht kommen die hier gemessen Ergebnissunterschiede im Wesentlichen durch die Performance der Festplatte zustande.
Getestet wurde wie oben beschrieben mit Ubuntu 9.10 unter Hyper-V mit 1 Core und 1 GB Ram virtualisiert. Der Datenbank Benchmark den ich genutzt habe ist TPC-H mit einer Standard-Installation (aus den Quellen kompiliert und make install, keine Binaries) von PostgreSQL 8.4.1 und MySQL 5.1.40.
1. Was in dem Test gemacht wurde, ist das erstellen von ca. 6 Millionen Datensätzen die mittels COPY (PostgreSQL) bzw. LOAD DATA (MySQL) in eine Datenbank mit passendem Schema ohne Indexe importiert wurden.
2. Anschließend wurde ein Primary Key Index für die Tabelle die die importierten Daten enthält erstellt.
3. Danach wurden nochmal ca. 6 Millionen Datensätze importiert.
Gemessen wurde beim Test die Gesamtdauer in Sekunden, die Schreib- und Leserate während der Durchführung und das Verhältnis von Schreib- zu Leserate. Letzteres ist hier wohl am interessantesten, da man feststellen wird, dass sich HDD und SDD im Rahmen von Messungenauigkeiten exakt gleich Verhalten. Abgesehen davon, dass eine VelociRaptor einfach schneller als eine Kingston V-Series ist (es gibt einige wesentlich schnellere SSDs, was man bei der VelociRaptor und SATA HDDs nicht unbedingt behaupten kann), kann man also aus diesem Test keinen Performance Vorteil einer der beiden Technologien im Datenbankbereich ablesen.
Falls von euch jemand eine Intel SSD oder Corsair SSD hat, würde mich ein Vergleichstest wirklich brennend interessieren :-) TPC-H runterladen und kompilieren, PostgreSQL runterladen mit ./configure ohne Optionen konfigurieren und make, make install installieren. Danach ein Import Set von ca. 6 Millionen Datensätzen erzeugen (./dbgen -v -T L -s 1) und importieren, dann Primary Key Index anlegen, dann Update Set erzeugen (./dbgen -v -U 1 -s 1000) und importieren.
Sicher interessant zu untersuchen wäre, ob sich durch verwenden von NTFS oder ext2 etwas ändert (im Test wurde ext4 genutzt).Ergebnisse PostgreSQL Ergebnisse MySQL