Włączanie i konfigurowanie pamięci podręcznej dysku maszyny wirtualnej platformy Azure przy użyciu witryny Azure Portal
Zobaczyliśmy ustawienia i właściwości, które można wybrać, aby przewidzieć wydajność dysku. Teraz przyjrzyjmy się sposobom ulepszania tego za pomocą buforowania.
Buforowanie dysku
Pamięć podręczna to wyspecjalizowany składnik, który przechowuje dane, zwykle w pamięci, dzięki czemu można uzyskać do niego dostęp szybciej. Dane w pamięci podręcznej to często dane, które zostały wcześniej odczytane lub dane, które wynikały z wcześniejszego obliczenia. Celem jest uzyskiwanie szybszego dostępu do danych niż w przypadku pobierania ich z dysku.
Buforowanie używa wyspecjalizowanego (a czasami kosztownego) magazynu tymczasowego, który ma szybszą wydajność odczytu i zapisu niż magazyn trwały. Ponieważ magazyn pamięci podręcznej jest często ograniczony, należy podejmować decyzje co do tego, jakie operacje danych korzystają najbardziej z buforowania. Ale nawet wtedy, gdy pamięć podręczna może być szeroko dostępna, np. na platformie Azure, nadal warto znać wzorce obciążeń dla każdego dysku, zanim podejmie się decyzję o rodzaju buforowania do użycia.
Buforowanie odczytu stara się przyspieszyć pobieranie danych. Zamiast odczytu z magazynu trwałego, dane są odczytywane z szybszej pamięci podręcznej. Odczyty danych trafiają do pamięci podręcznej w następujących warunkach:
- Dane były wcześniej odczytywane i istnieją w pamięci podręcznej.
- Pamięć podręczna jest dostatecznie duża, aby przechować wszystkie dane.
Należy pamiętać, że buforowanie odczytu pomaga, gdy istnieje pewna przewidywalność kolejki odczytu, na przykład zestaw odczytów sekwencyjnych. W przypadku losowych operacji we/wy, w których dane, do których uzyskujesz dostęp, 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. Gdy aplikacja używa pamięci podręcznej zapisu, może rozważyć zapisanie danych. W rzeczywistości dane są umieszczane w kolejce w pamięci podręcznej w oczekiwaniu na zapis 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, np. program SQL Server, obsługują zapisywanie danych buforowanych do trwałego magazynu samodzielnie.
Buforowanie dysku na platformie Azure
Istnieją dwa rodzaje buforowania dysku, które dotyczą magazynu dyskowego:
- Buforowanie magazynu na platformie Azure
- Buforowanie dysku maszyny wirtualnej na platformie Azure
Buforowanie magazynu na platformie Azure zapewnia usługi pamięci podręcznej dla usług Azure Blob Storage, Azure Files oraz innej zawartości na platformie Azure. Konfiguracja tego typu pamięci podręcznej wykracza poza zakres niniejszego modułu.
Buforowanie dysku maszyny wirtualnej na platformie Azure jest związane z optymalizacją dostępu do odczytu i zapisu do plików na wirtualnych dyskach twardych (VHD) dołączonych do maszyn wirtualnych platformy Azure. W tym module skoncentrujemy się na buforowaniu dysku.
Buforowanie dysków nie jest obsługiwane w przypadku dysków w warstwie Ultra lub SSD w warstwie Premium w wersji 2, jednak korzystają one już z mniejszego opóźnienia, co niektóre z tych samych podstawowych problemów co buforowanie dysków.
Rodzaje dysków maszyny wirtualnej na platformie Azure
Istnieją trzy typy dysków używanych w maszynach wirtualnych platformy Azure:
Dysk systemu operacyjnego: kiedy tworzysz maszynę wirtualną platformy Azure, platforma Azure automatycznie dołącza wirtualny dysk twardy na system operacyjny.
Dysk tymczasowy: kiedy tworzysz maszynę wirtualną platformy Azure, platforma Azure również automatycznie dodaje dysk tymczasowy. Ten dysk jest używany do obsługi danych, takich jak pliki stronicowania i wymiany. Dane na tym dysku mogą zostać utracone podczas konserwacji lub ponownego wdrożenia maszyny wirtualnej. Nie należy używać go do przechowywania danych trwałych, np. plików bazy danych lub dzienników transakcji.
Dyski danych: dysk danych to wirtualny dysk twardy dołączony do maszyny wirtualnej do przechowywania danych aplikacji lub innych danych, które należy zachować.
Dyski systemu operacyjnego oraz dyski danych korzystając z buforowania dysków maszyn wirtualnych platformy Azure. Rozmiar pamięci podręcznej dysku maszyny wirtualnej zależy od rozmiaru wystąpienia maszyny wirtualnej oraz od liczby dysków zainstalowanych na maszynie wirtualnej. Buforowanie można włączyć tylko dla maksymalnie 4 dysków o rozmiarze TiB.
Opcje pamięci podręcznej dla maszyn wirtualnych platformy Azure
Istnieją trzy typowe opcje związane z buforowaniem dysków maszyn wirtualnych:
- Odczyt/zapis: pamięć podręczna zapisu zwrotnego. Tej opcji należy używać tylko wtedy, gdy aplikacja odpowiednio obsługuje zapisywanie danych buforowanych na dyskach trwałych w razie potrzeby.
- Tylko do odczytu: operacje odczytu są wykonywane z pamięci podręcznej.
- Brak: brak pamięci podręcznej. Wybierz tę opcję dla dysków tylko do zapisu oraz z dużymi obciążeniami związanymi z zapisywaniem. Pliki dziennika będą dobrym wyborem, ponieważ obsługują one duże operacje zapisu danych.
Nie każda opcja buforowania jest dostępna dla wszystkich typów dysków. W poniższej tabeli przedstawiono opcje buforowania dla każdego typu dysku:
Tylko odczyt | Odczyt/zapis | Brak | |
---|---|---|---|
Dysk systemu operacyjnego | tak | tak (ustawienie domyślne) | tak |
Dysk danych | tak (ustawienie domyślne) | tak | tak |
Dysk tymczasowy | nie | nie | nie |
Uwaga
Nie można zmienić opcji buforowania dysku dla maszyn wirtualnych serii L i B.
Zagadnienia dotyczące wydajności buforowania dysków maszyn wirtualnych platformy Azure
W jaki sposób ustawienia pamięci podręcznej wpływają na wydajność obciążeń uruchamianych na maszynach wirtualnych platformy Azure?
Dysk systemu operacyjnego
Domyślnym zachowaniem dysku systemu operacyjnego maszyny wirtualnej jest użycie pamięci podręcznej w trybie odczytu/zapisu. Dlatego jeśli masz aplikacje, które przechowują pliki danych na dysku systemu operacyjnego i wykonują wiele losowych operacji odczytu/zapisu w plikach danych. Rozważ przeniesienie tych plików na dysk danych z wyłączoną buforowaniem. Dlaczego? Cóż, jeśli kolejka odczytu nie zawiera odczytów sekwencyjnych, buforowanie jest niewielkie lub nie przynosi korzyści. Obciążenie związane z utrzymywaniem pamięci podręcznej tak, jakby dane były sekwencyjne, mogą zmniejszyć wydajność dysku.
Dyski danych
W przypadku aplikacji zależnych od wydajności należy używać dysków danych, a nie dysku systemu operacyjnego. Użycie oddzielnych dysków umożliwia skonfigurowanie odpowiednich ustawień pamięci podręcznej dla każdego z nich.
Na przykład w przypadku maszyn wirtualnych platformy Azure z uruchomionym programem SQL Server włączenie buforowania Tylko odczyt na dyskach danych (w przypadku danych zwykłych i TempDB) może spowodować znaczną poprawę wydajności. Pliki dziennika, z drugiej strony, są dobrymi kandydatami dla dysków danych bez buforowania.
Ostrzeżenie
Zmiana ustawień pamięci podręcznej dysku platformy Azure powoduje odłączenie i ponowne dołączenie dysku docelowego. Jeśli jest to dysk systemu operacyjnego, maszyna wirtualna zostanie ponownie uruchomiona. Zatrzymaj wszystkie aplikacje/usługi, na które może mieć wpływ to zakłócenie, przed zmianą ustawień pamięci podręcznej dysku.
Ustawienia pamięci podręcznej dysku maszyny wirtualnej można skonfigurować przy użyciu dowolnego z poniższych narzędzi:
- Azure Portal
- Interfejs wiersza polecenia platformy Azure
- Azure PowerShell
- Szablony usługi Resource Manager
Konfigurowanie buforowania przy użyciu witryny Azure Portal
Podczas aprowizacji nowej maszyny wirtualnej przy użyciu witryny Azure Portal nie można zmienić domyślnej konfiguracji buforowania w przypadku dysku systemu operacyjnego na opcję inną niż Odczyt/zapis, dopóki nie zostanie wdrożona maszyna wirtualna.
W przypadku dodawania dysku danych do istniejącej maszyny wirtualnej możesz skonfigurować opcję pamięci podręcznej przed wdrożeniem dysku do maszyny wirtualnej.
Następnie utwórzmy maszynę wirtualną i zmienimy ustawienia pamięci podręcznej przy użyciu witryny Azure Portal.