Informacje o właściwościach wydajności dysku

Ukończone

Wydajność aplikacji często zależy od tego, jak szybko aplikacja może odczytywać i zapisywać dane. Aby zwiększyć wydajność aplikacji, musisz najpierw zrozumieć, jak jest mierzona wydajność. Następnie zapoznaj się z ustawieniami i opcjami, które mają na nią wpływ.

Charakterystykę wydajności dysku

Aby wybrać odpowiedni typ dysku, ważne jest, aby zrozumieć wskaźniki wydajności. Następujące wskaźniki wyrażają wydajność:

  • Liczba operacji we/wy na sekundę (operacje wejścia/wyjścia na sekundę): liczba żądań wysyłanych przez aplikację do dysków w ciągu jednej sekundy bezpośrednio wpływa na wydajność aplikacji. Niektóre aplikacje, takie jak witryny internetowe handlu detalicznego, wymagają dużej liczby operacji we/wy na sekundę, aby zarządzać wszystkimi małymi i losowymi żądaniami wejścia/wyjścia(we/wy), które muszą być szybko przetwarzane, aby zapewnić szybkie reagowanie na witrynę. Dyski o większej wydajności mają wyższe liczby operacji we/wy na sekundę.
  • Przepływność: przepływność to ilość danych wysyłanych przez aplikację do dysków w określonym interwale. Przepływność jest również nazywana szybkością transferu danych i jest mierzona w MB/s. Jeśli aplikacja wykonuje operacje we/wy przy użyciu dużych bloków danych, wymaga wysokiej przepływności. Dyski o większej wydajności mają wyższą przepływność.
  • Opóźnienie: opóźnienie wyraża czas potrzebny aplikacji na wysłanie żądania do dysku i odebranie odpowiedzi. Opóźnienie ogranicza efektywne operacje we/wy na sekundę. Jeśli na przykład dysk może obsłużyć 5000 operacji we/wy na sekundę, ale każda operacja zajmuje 10 ms do przetworzenia, aplikacja jest ograniczona do 100 operacji na sekundę z powodu czasu przetwarzania. Opóźnienie jest znacznie ulepszone w przypadku włączenia buforowania hostów ReadOnly.

Liczba operacji we/wy na sekundę a przepływność

Przepływność i liczba operacji we/wy na sekundę mają bezpośrednią relację. Zmiana jednego bezpośrednio wpływa na drugą. Aby uzyskać teoretyczny limit przepływności, możesz użyć następującej formuły: liczba operacji we/wy na sekundę × rozmiar we/wy = przepływność. Podczas planowania aplikacji należy wziąć pod uwagę obie te wartości.

W przypadku dysków w warstwie Ultra i dysków zarządzanych SSD w warstwie Premium w wersji 2 działa nieco inaczej, ponieważ można niezależnie dostosować rozmiar dysku, liczbę operacji we/wy na sekundę i przepływność. Korekty liczby operacji we/wy na sekundę lub przepływności dysków w warstwie Ultra i dysków zarządzanych SSD w warstwie Premium w wersji 2 można wykonać w czasie wykonywania bez odłączania dysku od maszyny wirtualnej.

Operacje we/wy na sekundę na dysku w warstwie Ultra

Dyski w warstwie Ultra obsługują limity liczby operacji we/wy na sekundę wynoszące 300 operacji we/wy na sekundę, maksymalnie 160 000 operacji we/wy na sekundę na dysk. Aby osiągnąć docelową operację we/wy na sekundę dla dysku, upewnij się, że wybrana liczba operacji we/wy na sekundę dysku jest mniejsza niż limit liczby operacji we/wy na sekundę maszyny wirtualnej.

Bieżący maksymalny limit liczby operacji we/wy na sekundę dla pojedynczej maszyny wirtualnej w ogólnie dostępnych rozmiarach wynosi 160 000. Dyski w warstwie Ultra z większą wyższą ilością operacji we/wy na sekundę mogą być używane jako dyski udostępnione do obsługi wielu maszyn wirtualnych.

Minimalna gwarantowana liczba operacji we/wy na sekundę na dysk wynosi 1 liczba operacji we/wy na sekundę, a ogólna liczba operacji we/wy na sekundę wynosi co najmniej 100 operacji we/wy na sekundę. Jeśli na przykład aprowizujesz dysk 4 GiB Ultra, minimalna liczba operacji we/wy na sekundę dla tego dysku wynosi 100, a nie cztery.

Przepływność dysku w warstwie Ultra

Limit przepływności pojedynczego dysku w warstwie Ultra wynosi 256-KiB/s dla każdej aprowizowanej liczby operacji we/wy na sekundę, maksymalnie 4000 MB/s na dysk (gdzie MB/s = 10^6 bajtów na sekundę). Minimalna gwarantowana przepływność na dysk wynosi 4KiB/s dla każdej aprowizowanej liczby operacji we/wy na sekundę z ogólnym punktem odniesienia co najmniej 1 MB/s.

Operacje we/wy na sekundę SSD w warstwie Premium w wersji 2

Wszystkie dyski SSD w warstwie Premium w wersji 2 mają podstawową liczbę operacji we/wy na sekundę 3000, która jest bezpłatna. Po 6 GiB maksymalna liczba operacji we/wy na sekundę na sekundę, która może wzrosnąć z szybkością 500 giB, do 80 000 operacji we/wy na sekundę. Dlatego dysk 8 GiB może mieć do 4000 operacji we/wy na sekundę, a 10 GiB może mieć do 5000 operacji we/wy na sekundę. Aby można było ustawić 80 000 operacji we/wy na sekundę na dysku, ten dysk musi mieć co najmniej 160 GiBs. Zwiększenie liczby operacji we/wy na sekundę powyżej 3000 zwiększa cenę dysku.

Przepływność dysków SSD w warstwie Premium w wersji 2

Wszystkie dyski SSD w warstwie Premium w wersji 2 mają podstawową przepływność wynoszącą 125 MB/s, która jest bezpłatna. Po 6 GiB maksymalna przepływność, którą można ustawić, zwiększa się o 0,25 MB/s na ustawioną liczbę operacji we/wy na sekundę. Jeśli dysk ma 3000 operacji we/wy na sekundę, maksymalna przepływność, którą można ustawić, wynosi 750 MB/s. Aby zwiększyć przepływność dla tego dysku powyżej 750 MB/s, należy zwiększyć liczbę operacji we/wy na sekundę. Jeśli na przykład liczba operacji we/wy na sekundę wzrosła do 4000, maksymalna przepływność, którą można ustawić, wynosi 1000. 1200 MB/s to maksymalna przepływność obsługiwana dla dysków, które mają co najmniej 5000 operacji we/wy na sekundę. Zwiększenie przepływności przekraczającej 125 MB/s zwiększa cenę dysku.

Ograniczanie operacji we/wy maszyny wirtualnej

Teraz, gdy wiesz, które dyski są dostępne na platformie Azure, musisz dopasować każdą maszynę wirtualną do odpowiedniego typu dysku. Maszyny wirtualne mają własne limity operacji we/wy na sekundę magazynu, które mogą mieć wpływ na ogólną wydajność aplikacji w połączeniu z operacjami we/wy na sekundę dysku.

Jeśli nie rozmiaru maszyny wirtualnej poprawnie dla wydajności magazynu wymagana jest aplikacja, sama maszyna wirtualna stanie się wąskim gardłem.

Załóżmy na przykład, że aplikacja wysyła żądanie wymagające 15 000 operacji we/wy na sekundę. Zainicjowano aprowizację maszyny wirtualnej Standard_D8s_v3 z jednym dyskiem systemu operacyjnego P30 i dwoma dyskami danych SSD w warstwie Premium z jednostkami SKU P40. Każdy dysk danych może obsłużyć 7500 operacji we/wy na sekundę i ostatecznie zaspokoić zapotrzebowanie aplikacji. Jednak sama maszyna wirtualna ma maksymalny limit 12 800 operacji we/wy na sekundę, czyli rzeczywistą liczbę operacji we/wy na sekundę pobieraną przez aplikację. Na poniższej ilustracji przedstawiono ten przykład.

Diagram przedstawiający ograniczenie danych wyjściowych wejściowych maszyny wirtualnej.

Scenariusz przedstawiony w poprzednim przykładzie jest nazywany ograniczeniem operacji we/wy maszyny wirtualnej. W tym scenariuszu aplikacja żąda przepływności i liczby operacji we/wy na sekundę, którymi dysk może zarządzać, ale maszyna wirtualna nie może spełnić tych wymagań.

Możesz zdiagnozować problemy z wydajnością spowodowane przez ograniczenie operacji we/wy maszyny wirtualnej przy użyciu następujących metryk:

  • Procent użycia operacji we/wy na sekundę w pamięci podręcznej maszyny wirtualnej
  • Procent użycia przepustowości pamięci podręcznej maszyny wirtualnej
  • Procent użycia nieużytowanej liczby operacji we/wy na sekundę maszyny wirtualnej
  • Procent użycia przepustowości nieużytowanej przez maszynę wirtualną

Ograniczenie operacji we/wy dysku

Możesz napotkać inne sytuacje, w których rozwiązanie magazynu nie spełnia wymagań aplikacji. Jednak wąskie gardło może być spowodowane wybraniem nieprawidłowej warstwy wydajności dysków.

Rozważmy ten sam przykład, w którym aplikacja wymaga 15 000 operacji we/wy na sekundę z maszyny wirtualnej, a następnie wybierz następującą konfigurację:

  • Standardowa D16s_v4 z 25 600 operacji we/wy na sekundę
  • Dysk systemu operacyjnego P20 z 2300 operacjami we/wy na sekundę
  • Dwa dyski danych P30, z których każda obsługuje 5000 operacji we/wy na sekundę

W tym scenariuszu zapotrzebowanie aplikacji jest podzielone na trzy różne żądania:

  • 2300 operacji we/wy na sekundę jest żądanych z dysku systemu operacyjnego
  • 5000 operacji we/wy na sekundę jest żądanych z każdego dysku danych

Łączna liczba operacji we/wy na sekundę zwracanych przez maszynę wirtualną do aplikacji wynosi 12 300 jako suma wszystkich operacji we/wy na sekundę dostarczonych przez system operacyjny i dyski danych.

Ten scenariusz jest znany jako ograniczenie operacji we/wy dysku, gdy sam dysk nie może spełnić wymagań aplikacji.

Diagram przedstawiający ograniczenie danych wyjściowych danych wejściowych dysku.

Aby zdiagnozować ograniczenie operacji we/wy dysku, użyj następujących metryk:

  • Procent użycia operacji we/wy na sekundę dysku danych
  • Procent użycia przepustowości dysku danych
  • Procent użycia operacji we/wy na sekundę dysku systemu operacyjnego
  • Procent użycia przepustowości dysku systemu operacyjnego

Buforowanie dysku

Pamięć podręczna to wyspecjalizowany składnik, który przechowuje dane, zwykle w pamięci, dzięki czemu aplikacja może szybciej uzyskiwać dostęp do danych. Dane w pamięci podręcznej często to dane, które były odczytywane wcześniej lub dane, które wynikały z poprzednich obliczeń. Celem jest szybsze uzyskiwanie przez aplikacje dostępu do danych z pamięci podręcznej niż z dysku. Buforowanie dysków nie jest dostępne na dyskach Ultra Disk i SSD w warstwie Premium w wersji 2.

Buforowanie używa wyspecjalizowanego, a czasami kosztownego magazynu tymczasowego, który ma szybszą wydajność odczytu i zapisu w porównaniu z magazynem trwałym. Ponieważ magazyn pamięci podręcznej jest często ograniczony, może być konieczne podjęcie decyzji, które operacje danych korzystają najbardziej z buforowania. Jednak nawet wtedy, gdy pamięć podręczna może być szeroko dostępna, na przykład na platformie Azure, nadal ważne jest, aby znać wzorce obciążeń każdego dysku przed podjęciem decyzji o typie buforowania do użycia.

Buforowanie odczytu stara się przyspieszyć pobieranie danych. Zamiast odczytywać dane z magazynu trwałego, aplikacja odczytuje dane z szybszej pamięci podręcznej.

Należy pamiętać, że buforowanie odczytów pomaga, gdy istnieje pewna przewidywalność odczytywanej kolejki, na przykład zestaw odczytów sekwencyjnych. W przypadku losowych operacji we/wy, w których uzyskujesz dostęp do danych, są rozproszone w magazynie, buforowanie jest niewielkie lub nie przynosi korzyści, a nawet może zmniejszyć wydajność dysku.

Buforowanie zapisu stara się przyspieszyć zapisywanie danych w magazynie trwałym. W przypadku korzystania z pamięci podręcznej zapisu aplikacja może rozważyć dane, które powinny zostać zapisane.

W rzeczywistości podczas korzystania z buforowania zapisu dane są kolejkowane w pamięci podręcznej, czekając na zapisanie na dysku. Można sobie wyobrazić, że ten mechanizm to potencjalny punkt awarii — jeśli na przykład system zostanie zamknięty, zanim dane buforowane zostaną zapisane. Niektóre systemy, takie jak SQL Server, zarządzają zadaniem zapisywania danych w pamięci podręcznej do magazynu trwałego dysku.

Buforowane i niebuforowane limity maszyn wirtualnych

Dowiedzieliśmy się, jak buforowanie może zwiększyć wydajność odczytu lub zapisywania danych na dysku. Teraz przyjrzyjmy się, jak buforowanie wpływa na wydajność maszyny wirtualnej.

Wydajność maszyny wirtualnej zależy od limitów liczby operacji we/wy na sekundę i przepływności nakładanych na podstawie rozmiaru maszyny wirtualnej. Wszystkie maszyny wirtualne w warstwie Premium mają różne limity dla liczby operacji we/wy na sekundę i przepływności w oparciu o konfiguracje buforowane i niebuforowane. Możesz zwiększyć wydajność maszyny wirtualnej, aby zaspokoić wyższe zapotrzebowanie na liczbę operacji we/wy na sekundę i przepływność, włączając buforowanie hosta maszyny wirtualnej.

W poniższej tabeli wymieniono przykłady ilustrujące różnicę w wydajności dla przepływności i przepustowości dysku w pamięci podręcznej i bez pamięci podręcznej.

Nazwa rozmiaru maszyny wirtualnej Maksymalna przepływność magazynu buforowanego i tymczasowego: liczba operacji we/wy na sekundę/MB/s (rozmiar pamięci podręcznej w giB) Maksymalna liczba operacji we/wy na sekundę/MB/s przepływności dysku bez buforowania
Standardowa_D2s_v3 4,000/32 (50) 3,200/48
Standardowa_D4s_v3 8,000/64 (100) 6,400/96
Standardowa_D8s_v3 16,000/128 (200) 12,800/192
Standard_D64s_v3 128,000/1,024 (1,600) 80,000/1,200

Buforowanie hostów może pomóc uniknąć scenariuszy wąskich gardeł maszyn wirtualnych.

We wcześniejszym przykładzie ograniczenia operacji we/wy maszyny wirtualnej aplikacja wymagała 15 000 operacji we/wy na sekundę. Oba dyski danych mogą obsłużyć to zapotrzebowanie, ale maszyna wirtualna Standard_D8s_v3 może oferować tylko 12 800 operacji we/wy na sekundę w stanie bez buforu.

Jeśli skonfigurujesz buforowanie hostów na maszynie wirtualnej Standard_D8s_v3, możesz uzyskać 16 000 buforowanych operacji we/wy na sekundę, co jest więcej niż wymagania aplikacji.