Optymalizowanie wydajności i funkcjonalności
Po uwzględnieniu najlepszych rozwiązań dotyczących ustalania rozmiaru, sieci i zarządzania w planie wdrażania maszyn wirtualnych z systemem Linux platformy Azure należy wziąć pod uwagę wydajność i funkcjonalność. W tej lekcji wyjaśniono, jak zoptymalizować zasoby sieciowe i magazynowe na potrzeby wdrożeń maszyn wirtualnych z systemem Linux platformy Azure.
Optymalizowanie wydajności sieci
Aby zoptymalizować wydajność sieci dla maszyn wirtualnych z systemem Linux platformy Azure, można użyć optymalizacji sieci opartej na jądrze i zaimplementować przyspieszoną sieć, jeśli jest dostępna.
Optymalizacje sieci oparte na jądrach
Jądra systemu Linux wydane po wrześniu 2017 r. obejmują opcje optymalizacji sieci, które umożliwiają maszynom wirtualnym z systemem Linux platformy Azure uzyskanie wyższej przepływności sieci. Wydajność przepływności można uzyskać przy użyciu najnowszego jądra systemu Linux.
Nowe i istniejące maszyny wirtualne platformy Azure mogą również korzystać z instalowania najnowszych usług Linux Integration Services (LIS). Optymalizacja przepływności jest częścią lis począwszy od wersji 4.2, a kolejne wersje zawierają dalsze ulepszenia.
Przyspieszona sieć
Możesz zaimplementować przyspieszoną sieć, aby zminimalizować opóźnienia, zmaksymalizować przepływność i niższe wykorzystanie procesora CPU. Przyspieszona sieć używa funkcji wirtualizacji we/wy jednego głównego sprzętu hosta (SR-IOV) w celu zwiększenia wydajności sieci.
Bez przyspieszonej sieci cały ruch sieciowy do i z maszyny wirtualnej musi przechodzić przez hosta i przełącznik wirtualny. W przypadku przyspieszonej sieci ruch sieciowy, który dociera do interfejsu sieciowego maszyny wirtualnej bezpośrednio do maszyny wirtualnej, pomijając hosta.
Przyspieszona sieć ma zastosowanie tylko do maszyny wirtualnej, na których jest włączona. Aby uzyskać najlepsze wyniki, włącz tę funkcję na maszynach wirtualnych platformy Azure połączonych z tą samą siecią wirtualną. W przypadku komunikacji między sieciami wirtualnymi lub w scenariuszach hybrydowych ta funkcja ma minimalny wpływ na ogólne opóźnienie.
pomoc techniczna platformy Azure przyspieszoną sieć dla większości rozmiarów wystąpień ogólnego przeznaczenia i zoptymalizowanych pod kątem obliczeń, które mają co najmniej dwa procesory wirtualne. Wystąpienia maszyn wirtualnych korzystające z hiperwątku obsługują przyspieszoną sieć w wystąpieniach, które mają co najmniej cztery procesory wirtualne.
Optymalizowanie wydajności magazynu
Każda maszyna wirtualna z systemem Linux platformy Azure ma co najmniej dwa następujące dyski wirtualne:
Dysk systemu operacyjnego, oznaczony jako
/dev/sda
, ma maksymalną pojemność 2 tebibajtów (TiB) dla dysków w formacie głównego rekordu rozruchowego (MBR) lub 4 TiB dla dysków w formacie tabeli partycji GUID (GPT). Obraz używany do aprowizacji maszyny wirtualnej platformy Azure określa rozmiar domyślny.Unikaj przechowywania danych i instalowania aplikacji na dysku systemu operacyjnego, ponieważ jest zoptymalizowany pod kątem szybkiego rozruchu, a nie uruchamiania obciążeń innych niż system operacyjny.
Dysk tymczasowy oznaczony jako
/dev/sdb
i zainstalowany w celu/mnt
zapewnia magazynu tymczasowego. Rozmiar i wydajność dysku zależą od rozmiaru maszyny wirtualnej, a jego głównym celem jest przechowywanie pliku wymiany.Dysk tymczasowy służy jako magazyn krótkoterminowy dla danych, które można odrzucić lub łatwo utworzyć ponownie. Nie używaj dysku tymczasowego do przechowywania plików, które muszą być utrwalane w operacjach, takich jak zmiana rozmiaru, ponowne wdrażanie lub ponowne uruchamianie.
Aby zaimplementować optymalną konfigurację pliku wymiany, użyj pakietu cloud-init dla obrazów, które go obsługują. Użyj agenta maszyny wirtualnej platformy Azure z systemem Linux do obrazów, które nie obsługują pakietu cloud-init.
Wirtualne dyski danych
W przypadku przechowywania danych i instalowania aplikacji można tworzyć dyski wirtualne, dołączać je do maszyny wirtualnej platformy Azure i instalować je w systemie operacyjnym. W razie potrzeby można dodać więcej dysków zgodnie z wymaganiami dotyczącymi magazynu i wejścia/wyjścia na sekundę (IOPS ). Należy pamiętać o następujących kwestiach:
- Maksymalna liczba dysków, które można dołączyć do maszyny wirtualnej platformy Azure, zależy od rozmiaru maszyny wirtualnej.
- Maksymalna liczba operacji we/wy na sekundę obsługiwana przez maszynę wirtualną platformy Azure zależy nie tylko od zagregowanej przepływności dysków, ale także maksymalnej przepływności operacji we/wy na sekundę maszyny wirtualnej, którą określa rozmiar maszyny wirtualnej. Efektywna przepływność jest niższa z dwóch wartości.
Aby zapewnić magazyn dla maszyny wirtualnej platformy Azure, można użyć woluminów magazynu na poziomie bloków zarządzanych przez platformę Azure. Dyski zarządzane platformy Azure obsługują następujące pięć typów dysków, aby rozwiązać określone scenariusze klienta:
- Dyski w warstwie Ultra Disk dla obciążeń intensywnie korzystających z operacji we/wy, takich jak SAP HANA, bazy danych najwyższej warstwy, takie jak SQL i Oracle, i inne obciążenia z dużą liczbą transakcji.
- Dyski półprzewodnikowe w warstwie Premium (SSD) w wersji 2 dla obciążeń produkcyjnych i wrażliwych na wydajność, które stale wymagają małych opóźnień, dużej liczby operacji we/wy na sekundę i wysokiej przepływności.
- Dyski SSD w warstwie Premium dla obciążeń produkcyjnych i wrażliwych na wydajność.
- Dyski SSD w warstwie Standardowa dla serwerów internetowych, lekko używane aplikacje dla przedsiębiorstw oraz scenariusze tworzenia lub testowania.
- Dyski twarde w warstwie Standardowa (HDD) dla kopii zapasowych i danych niekrytycznych z rzadkim dostępem.
Bariery zapisu dla dysków SSD w warstwie Premium
Aby osiągnąć najwyższą liczbę operacji we/wy na sekundę na dyskach SSD w warstwie Premium z ustawionymi ReadOnly
pamięciami podręcznymi lub None
, wyłącz bariery zapisu podczas instalowania systemu plików w systemie Linux. Nie potrzebujesz barier, ponieważ operacje zapisu na dyskach opartych na usłudze Premium Storage są trwałe dla tych ustawień pamięci podręcznej. Jeśli buforowanie jest ustawione na Read/Write
wartość , zachowaj bariery, aby zapewnić trwałość zapisu.
- Jeśli używasz systemu plików reiserFS, wyłącz bariery przy użyciu opcji
barrier=none
instalacji . - Jeśli używasz ext3/ext4, wyłącz bariery przy użyciu opcji
barrier=0
instalacji . - Jeśli używasz systemu XFS, wyłącz bariery przy użyciu opcji
nobarrier
instalacji .
Algorytm planowania we/wy dla dysków SSD w warstwie Premium
Jądro systemu Linux oferuje dwa zestawy harmonogramów we/wy dysku, aby zmienić kolejność żądań, jeden dla starszego blk
podsystemu i jeden dla nowszego blk-mq
podsystemu. W przypadku dysków usługi Azure Premium Storage użyj harmonogramu, który przekazuje decyzje dotyczące planowania do bazowej platformy wirtualizacji.
- W przypadku jąder systemu Linux korzystających z podsystemu
blk
noop
wybierz harmonogram. - W przypadku jąder systemu Linux korzystających z podsystemu
blk-mq
none
wybierz harmonogram.
Konfiguracje z wieloma dyskami
Jeśli obciążenia wymagają większej liczby operacji we/wy na sekundę niż jeden dysk, należy użyć konfiguracji macierzy nadmiarowej niezależnych dysków (RAID), która łączy wiele dysków. Platforma Azure oferuje odporność dysku w warstwie sieci szkieletowej magazynu, dzięki czemu można skupić się na wydajności przez zaimplementowanie paska RAID-0.
Alternatywnie można zainstalować Menedżera woluminów logicznych (LVM) i użyć go do łączenia wielu dysków wirtualnych w wolumin magazynu logicznego z jednym paskiem. W tej konfiguracji odczyty i zapisy są dystrybuowane do wielu dysków zawartych w grupie woluminów, podobnie jak RAID-0. Ze względu na wydajność można rozebrać woluminy logiczne, aby odczytywać i zapisywać wszystkie dołączone dyski danych.