Przeprowadzamy testy wydajności na dwóch nowych maszynach wirtualnych Standard DS13 (8 rdzeni, 56 GB) (obie wykorzystujące najnowszy / domyślny obraz systemu Windows 2012 R2) wspieranych przez usługę Premium Storage i osiągnęliśmy poziom 1 w testowaniu wydajności lokalnego dysku SSD.
Rozumiemy, że 25% lokalnego dysku SSD 400 GB dla tych maszyn wirtualnych jest udostępniane jako pamięć tymczasowa, a pozostałe 75% jest wykorzystywane do buforowania pamięci premium: http://azure.microsoft.com/blog/2014/12/11/new- maszyny wirtualne premium-storage-backed /
W przypadku pozostałych 25% spodziewamy się, że wydajność będzie zgodna z tymi wytycznymi: http://www.brentozar.com/archive/2014/09/azure-really-60-faster/ http://azure.microsoft.com/blog / 2014/10/06 / d-series-wydajność-oczekiwania /
... ale Crystal Disk Mark pokazuje, jak się czołga :
Sequential Read : 4.097 MB/s
Sequential Write : 4.096 MB/s
Random Read 512KB : 4.112 MB/s
Random Write 512KB : 4.112 MB/s
Random Read 4KB (QD=1) : 2.057 MB/s [ 502.3 IOPS]
Random Write 4KB (QD=1) : 2.057 MB/s [ 502.2 IOPS]
Random Read 4KB (QD=32) : 2.048 MB/s [ 500.0 IOPS]
Random Write 4KB (QD=32) : 2.047 MB/s [ 499.7 IOPS]
Test : 50 MB [D: 7.2% (8.1/112.0 GB)] (x5)
Date : 2015/02/14 15:35:41
OS : Windows Server 2012 R2 Datacenter (Full installation) [6.3 Build 9600] (x64)
Wydajność dysku systemu operacyjnego jest lepsza, ale nie jest to 150 MB / s, którego można oczekiwać od dysku P20 (zakładając, że to jest miejsce na domyślny dysk systemu operacyjnego o pojemności 127 GB).
Przy nadziei:
http://azure.microsoft.com/en-us/documentation/articles/storage-premium-storage-preview-portal/
Widzenie:
Sequential Read : 66.031 MB/s
Sequential Write : 63.034 MB/s
Random Read 512KB : 65.861 MB/s
Random Write 512KB : 63.580 MB/s
Random Read 4KB (QD=1) : 2.097 MB/s [ 511.9 IOPS]
Random Write 4KB (QD=1) : 2.047 MB/s [ 499.7 IOPS]
Random Read 4KB (QD=32) : 2.086 MB/s [ 509.3 IOPS]
Random Write 4KB (QD=32) : 2.078 MB/s [ 507.4 IOPS]
Test : 50 MB [C: 12.9% (16.4/127.0 GB)] (x5)
Date : 2015/02/14 15:46:35
OS : Windows Server 2012 R2 Datacenter (Full installation) [6.3 Build 9600] (x64)
A wydajność dysku P30 (z pamięcią podręczną ReadOnly ) nie jest znacznie lepsza:
Sequential Read : 204.567 MB/s
Sequential Write : 39.677 MB/s
Random Read 512KB : 204.549 MB/s
Random Write 512KB : 34.865 MB/s
Random Read 4KB (QD=1) : 20.951 MB/s [ 5114.9 IOPS]
Random Write 4KB (QD=1) : 1.666 MB/s [ 406.7 IOPS]
Random Read 4KB (QD=32) : 20.893 MB/s [ 5100.9 IOPS]
Random Write 4KB (QD=32) : 20.944 MB/s [ 5113.4 IOPS]
Test : 50 MB [E: 0.0% (0.2/1023.0 GB)] (x5)
Date : 2015/02/14 15:22:59
OS : Windows Server 2012 R2 Datacenter (Full installation) [6.3 Build 9600] (x64)
W porównaniu do naszego obecnego CloudDrive z buforowaniem hosta wdrożonym na D13 (zauważ wydajność losowych odczytów 4KB):
Sequential Read : 136.711 MB/s
Sequential Write : 10.210 MB/s
Random Read 512KB : 190.744 MB/s
Random Write 512KB : 9.063 MB/s
Random Read 4KB (QD=1) : 10.813 MB/s [ 2639.8 IOPS]
Random Write 4KB (QD=1) : 0.508 MB/s [ 107.5 IOPS]
Random Read 4KB (QD=32) : 106.533 MB/s [ 26009.1 IOPS]
Random Write 4KB (QD=32) : 9.363 MB/s [ 2286.0 IOPS]
Test : 50 MB [F: 4.1% (24.9/600.0 GB)] (x5)
Date : 2015/02/14 20:25:01
OS : Windows Server 2012 Datacenter (Full installation) [6.2 Build 9200] (x64)
I to właśnie raportuje SQLIO dla lokalnego dysku SSD:
C:\Program Files (x86)\SQLIO>sqlio -dD
sqlio v1.5.SG
1 thread reading for 30 secs from file D:testfile.dat
using 2KB IOs over 128KB stripes with 64 IOs per run
size of file D:testfile.dat needs to be: 8388608 bytes
current file size: 0 bytes
need to expand by: 8388608 bytes
expanding D:testfile.dat ... done.
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec: 499.38
MBs/sec: 0.97
A dla P30:
C:\Program Files (x86)\SQLIO>sqlio -dE
sqlio v1.5.SG
1 thread reading for 30 secs from file E:testfile.dat
using 2KB IOs over 128KB stripes with 64 IOs per run
size of file E:testfile.dat needs to be: 8388608 bytes
current file size: 0 bytes
need to expand by: 8388608 bytes
expanding E:testfile.dat ... done.
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec: 5103.03
MBs/sec: 9.96
5000 IOPS reklamowanych dla P30 utrzymuje się, ale co z przepustowością 200 MB / s na dysk?
UWAGA: Próby utworzenia dysku danych P30 z polityką pamięci podręcznej ReadWrite prowadzą do:
Update-AzureVm: BadRequest: Ustawienie pamięci podręcznej dysku ReadWrite nie jest obsługiwane dla DataVirtualHardDisk.
Wszelkie wskazówki będą mile widziane:
- Dlaczego lokalna pamięć SSD jest dławiona przy 500 IOPS i przepustowości 1-4 MB / s?
- Jak osiągamy 200 MB / s przy zapisach, jak widzimy przy odczytach na P30, jaki test należy przeprowadzić?
- MS: czy możesz opublikować testy I / O, które możemy uruchomić, aby sprawdzić maksymalne limity?
Odpowiedzi:
Aby odpowiedzieć na twoje pytania:
David Berg - Zespół ds. Wydajności Microsoft Azure
źródło
Magazyn premium obsługuje tylko pamięć podręczną odczytu, a nie odczytuje / zapisuje jak standardowe dyski
źródło
Twoja przepustowość w testach SQLIO jest ograniczona, ponieważ używasz domyślnego rozmiaru bloku We / Wy 2 KB. Weź IOPS na dysk P30, który aktualnie otrzymujesz, i pomnóż przez rozmiar bloku, a otrzymasz 5103 IOPS * 2 KB = 10206 KB / s lub 9,97 MB / s, co jest raportowaną przepustowością w twoich testach. Zwiększ rozmiar bloku w poleceniu SQLIO (patrz http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/ ), a będziesz w stanie znaleźć limit przepustowości. Wielkość bloku we / wy 64 KB powinna dać 5103 IOPS * 64 KB = 326592 KB / s lub 318,94 MB / s i przetestować reklamowany limit Microsoft.
Nie testowałem lokalnego dysku SSD na maszynach wirtualnych z serii D, ale nie mam jeszcze dostępu do pamięci premium, więc w tym przypadku nie pomogłoby. Domyślam się tylko, że gdy używasz magazynu premium na komputerze, który wykorzystuje 75% pojemności lokalnego dysku SSD, może również ograniczać dostęp do lokalnego dysku SSD, aby zagwarantować wydajność pamięci premium.
źródło