Erläuterung:
Wir haben einen Server:
- Modell: HP ProLiant DL160 G6
- 4 x 240 GB SSD (RAID-10)
- 72 GB DDR3-RAM
- 2 x L5639
- HP P410 RAID-Controller (256 MB, V6.40, Rom-Version: 8.40.41.00)
SSD-Laufwerke sind 4 brandneue 2,5 "Intel 530 mit 540 MB / s Lesegeschwindigkeit und 490 MB / s Schreibgeschwindigkeit
- CentOS 6
- Dateisysteme sind ext4
Dies ist jedoch das Testergebnis für die Lesegeschwindigkeit bei Raid 10:
hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 824 MB in 3.00 seconds = 274.50 MB/sec
[root@localhost ~]# hdparm -t /dev/mapper/vg_localhost-lv_root
/dev/mapper/vg_localhost-lv_root:
Timing buffered disk reads: 800 MB in 3.01 seconds = 266.19 MB/sec
und dies ist für die Schreibgeschwindigkeit:
dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 4.91077 s, 109 MB/s
Wir hatten auf eine Lesegeschwindigkeit von 1 GB mit RAID 10 gehofft, aber 270 MB sind nicht einmal die Geschwindigkeit einer einzelnen Festplatte!
Fragen:
- Warum ist es so langsam?
- Liegt es am RAID-Controller?
Update 1 - Gleiche Lese- / Schreibgeschwindigkeit:
Nachdem ich einige Einstellungen wie in den Antworten erwähnt geändert habe, habe ich das folgende Ergebnis:
(Weiß jemand, warum es 4 GB statt 400 MB als Lesegeschwindigkeit anzeigt?!)
BEARBEITEN: Es sieht so aus, als ob der Befehl falsch war und wir hätten -s144g für diese RAM-Menge verwenden sollen. Deshalb werden 4 GB angezeigt (wie in den Kommentaren von ewwhite vorgeschlagen).
[root@192 ~]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
Iozone: Performance Test of File I/O
Version $Revision: 3.408 $
Compiled for 64 bit mode.
Build: linux
Record Size 1024 KB
File size set to 58720256 KB
Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
Output is in Kbytes/sec
Each process writes a 58720256 Kbyte file in 1024 Kbyte records
Children see throughput for 1 initial writers = 135331.80 KB/sec
Children see throughput for 1 rewriters = 124085.66 KB/sec
Children see throughput for 1 readers = 4732046.50 KB/sec
Children see throughput for 1 re-readers = 4741508.00 KB/sec
Children see throughput for 1 random readers = 4590884.50 KB/sec
Children see throughput for 1 random writers = 124082.41 KB/sec
aber der alte hdparm -t /dev/sda
Befehl zeigt immer noch:
Timing gepufferte Festplattenlesevorgänge: 810 MB in 3,00 Sekunden = 269,85 MB / s
Update 2 (Tuned-Utils-Paket) - Die Lesegeschwindigkeit beträgt jetzt 600 MB / s:
Schließlich einige Hoffnung, wir hatten den Cache vom RAID-Controller deaktiviert und einige andere Dinge früher ohne Glück getan, aber da wir den Server neu geladen und das Betriebssystem erneut installiert haben, haben wir vergessen, "Tuned-Utils" zu installieren, wie in der Antwort von ewwhite vorgeschlagen (Danke ewwhite für dieses tolle Paket, das du vorgeschlagen hast)
Nach der Installation tuned-utils
und Auswahl des enterprise-storage
Profils beträgt die Lesegeschwindigkeit jetzt ~ 600 MB / s +, aber die Schreibgeschwindigkeit ist immer noch sehr langsam (~ 160 MB) (:
Hier ist das Ergebnis für den iozone -t1 -i0 -i1 -i2 -r1m -s144g
Befehl:
Children see throughput for 1 initial writers = 165331.80 KB/sec
Children see throughput for 1 rewriters = 115734.91 KB/sec
Children see throughput for 1 readers = 719323.81 KB/sec
Children see throughput for 1 re-readers = 732008.56 KB/sec
Children see throughput for 1 random readers = 549284.69 KB/sec
Children see throughput for 1 random writers = 116389.76 KB/sec
Auch mit hdparm -t /dev/sda
Befehl haben wir:
Timing gepufferte Festplattenlesevorgänge: 1802 MB in 3,00 Sekunden = 600,37 MB / s
Irgendwelche Vorschläge für die sehr langsame Schreibgeschwindigkeit?
Update 3 - Einige Informationen in Kommentaren angefordert:
Die Schreibgeschwindigkeit ist immer noch sehr niedrig (~ 150 MB / s, was nicht einmal 1/3 einer einzelnen Festplatte entspricht).
Ausgabe für df -h
und fdisk -l
:
[root@192 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 441G 3.2G 415G 1% /
tmpfs 36G 0 36G 0% /dev/shm
[root@192 ~]# fdisk -l
Disk /dev/sda: 480.0 GB, 480047620096 bytes
255 heads, 63 sectors/track, 58362 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00040c3c
Device Boot Start End Blocks Id System
/dev/sda1 * 1 58363 468795392 83 Linux
iozone -t1 -i0 -i1 -i2 -r1m -s144g
. :(