Zrobiłem kilka prostych testów wydajności i wydaje się, że czytanie z mojego RAID1 jest wolniejsze niż pisanie:
root@dss0:~# for i in 1 2 3; do dd if=/dev/zero of=/dev/sda bs=1048576 count=131072; done
137438953472 bytes (137 GB) copied, 192.349 s, 715 MB/s
137438953472 bytes (137 GB) copied, 192.851 s, 713 MB/s
137438953472 bytes (137 GB) copied, 193.026 s, 712 MB/s
root@dss0:~# for i in 1 2 3; do dd if=/dev/sda of=/dev/null bs=1048576 count=131072; done
137438953472 bytes (137 GB) copied, 257.201 s, 534 MB/s
137438953472 bytes (137 GB) copied, 255.522 s, 538 MB/s
137438953472 bytes (137 GB) copied, 259.945 s, 529 MB/s
Rozumiem, że dd nie jest narzędziem do testowania wydajności, ale ten wynik jest nadal niespodzianką.
System został zbudowany przez dostawcę i ma płytę główną Supermicro z 16 GB pamięci RAM. Kontroler RAID to MegaRAID 9271-8i z 1 GB pamięci podręcznej. Na płycie montażowej SAS-933EL1 znajduje się 8 dysków SAS o pojemności 2 TB. Nie jestem pewien co do okablowania, jedno złącze kontrolera idzie do płyty montażowej SAS, drugie do dwóch dysków SATA, na których jest zainstalowany system operacyjny.
RAID1 został skonfigurowany za pomocą tego polecenia:
root@dss0:~# /opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r1 [8:0,8:1,8:2,8:3,8:4,8:5,8:6,8:7] WB NORA Direct -a0
Adapter 0: Created VD 0
Adapter 0: Configured the Adapter!!
Exit Code: 0x00
root@dss0:~# /opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 7.275 TB
Sector Size : 512
Is VD emulated : No
Mirror Data : 7.275 TB
State : Optimal
Strip Size : 256 KB
Number Of Drives : 8
Span Depth : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
PI type: No PI
Is VD Cached: No
Exit Code: 0x00
Spodziewałbym się, że dostęp do odczytu jest co najmniej tak szybki jak dostęp do zapisu, a może nawet szybszy. Szybkość zapisu 715 MB / s wydaje się być bliska granicy 6 GBit pojedynczego złącza SAS / SATA. Czy to może problem z konfiguracją lub okablowaniem płyty montażowej SAS? Czy można zapytać o konfigurację płyty montażowej SAS za pomocą polecenia MegaRAID? Proszę doradź.
Aktualizacja
Jak zauważają poige i Peter, wolniejsza niż oczekiwano wydajność odczytu jest prawdopodobnie spowodowana buforowaniem podsystemu we / wy Linux.
Gdy używam flagi bezpośredniej w poleceniu dd, otrzymuję
root@dss0:~# dd if=/dev/sda of=/dev/null bs=1048576 count=131072 iflag=direct
137438953472 bytes (137 GB) copied, 199.862 s, 688 MB/s
co jest znacznie lepsze, ale wciąż o 10% wolniejsze niż prędkość zapisu. Użycie oflag = direct nie wpłynęło na szybkość zapisu.