Optimera prestanda och funktioner
När du har införlivat de bästa metoderna för storlek, nätverk och hantering i distributionsplanen för virtuella Azure Linux-datorer bör du överväga prestanda och funktioner. I den här lektionen beskrivs hur du optimerar nätverks- och lagringsresurser för distributioner av virtuella Azure Linux-datorer.
Optimera nätverksprestanda
Om du vill optimera nätverksprestanda för virtuella Azure Linux-datorer kan du använda kernelbaserade nätverksoptimeringar och implementera accelererat nätverk, om det är tillgängligt.
Kernelbaserade nätverksoptimeringar
Linux-kernels som släpptes efter september 2017 innehåller alternativ för nätverksoptimering som gör det möjligt för virtuella Azure Linux-datorer att uppnå högre nätverksdataflöde. Du kan få betydande dataflödesprestanda med hjälp av den senaste Linux-kerneln.
Nya och befintliga virtuella Azure-datorer kan också ha nytta av att installera de senaste Linux Integration Services (LIS). Dataflödesoptimering är en del av LIS som börjar med version 4.2 och efterföljande versioner innehåller ytterligare förbättringar.
Accelererat nätverk
Du kan implementera accelererat nätverk för att minimera svarstiden, maximera dataflödet och minska processoranvändningen. Accelererat nätverk använder värdmaskinvarans SR-IOV-funktioner (single-root I/O virtualization) för att förbättra nätverksprestanda.
Utan accelererat nätverk måste all nätverkstrafik in och ut från den virtuella datorn passera värden och den virtuella växeln. Med accelererat nätverk vidarebefordras nätverkstrafik som kommer till den virtuella datorns nätverksgränssnitt direkt till den virtuella datorn och kringgår värden.
Accelererat nätverk gäller endast för den virtuella dator som den är aktiverad på. För bästa resultat aktiverar du den här funktionen på virtuella Azure-datorer som är anslutna till samma virtuella nätverk. För kommunikation mellan virtuella nätverk eller hybridscenarier har den här funktionen minimal inverkan på den totala svarstiden.
Azure Support accelererade nätverk för de flesta generell användning och beräkningsoptimerade instansstorlekar som har två eller flera vCPU:er. VM-instanser som använder hypertrådning stöder accelererat nätverk på instanser som har fyra eller fler virtuella processorer.
Optimera lagringsprestanda
Varje virtuell Azure Linux-dator har minst följande två virtuella diskar:
OS-disken, märkt som
/dev/sda
, har en maximal kapacitet på 2 tebibyte (TiB) för diskar i MBR-format (Master Boot Record) eller 4 TiB för diskar i GPT-format (GUID Partition Table). Den avbildning som du använder för att etablera den virtuella Azure-datorn avgör standardstorleken.Undvik att lagra data och installera program på OS-disken eftersom de är optimerade för snabb start i stället för att köra arbetsbelastningar som inte är operativsystem.
En tillfällig disk som är märkt och
/dev/sdb
monterad på/mnt
ger tillfällig lagring. Diskens storlek och prestanda beror på storleken på den virtuella datorn och dess primära syfte är att lagra en växlingsfil.Den tillfälliga disken fungerar som kortsiktig lagring för data som antingen kan tas bort eller enkelt återskapas. Använd inte den tillfälliga disken för att lagra filer som måste sparas mellan åtgärder som storleksändring, omdistribuering eller omstarter.
Om du vill implementera den optimala konfigurationen för en växlingsfil använder du cloud-init för avbildningar som stöder den. Använd Linux-agenten för virtuella Azure-datorer för avbildningar som inte stöder cloud-init.
Virtuella datadiskar
För att lagra data och installera program kan du skapa virtuella diskar, koppla dem till en virtuell Azure-dator och montera dem i operativsystemet. Du kan lägga till fler diskar efter behov enligt dina krav på lagring och indata/utdata per sekund (IOPS). Tänk på följande:
- Det maximala antalet diskar som du kan ansluta till en virtuell Azure-dator beror på storleken på den virtuella datorn.
- Det maximala antalet IOPS som en virtuell Azure-dator stöder beror inte bara på det aggregerade dataflödet för diskarna, utan även på den virtuella datorns maximala IOPS-dataflöde, vilket vm-storleken avgör. Det effektiva dataflödet är det lägre av de två värdena.
Om du vill tillhandahålla lagring för en virtuell Azure-dator kan du använda Azure-hanterade lagringsvolymer på blocknivå. Azure-hanterade diskar stöder följande fem disktyper för att hantera specifika kundscenarier:
- UltraDiskar för I/O-intensiva arbetsbelastningar som SAP HANA, databaser på den översta nivån som SQL och Oracle och andra transaktionsintensiva arbetsbelastningar.
- Premium SSD-enheter (Solid State Drives) v2 för produktions- och prestandakänsliga arbetsbelastningar som konsekvent kräver låg svarstid, hög IOPS och högt dataflöde.
- Premium-SSD:er för produktions- och prestandakänsliga arbetsbelastningar.
- Standard-SSD:er för webbservrar, lättanvända företagsprogram och utvecklings- eller testscenarier.
- Standardhårddiskenheter (HDD) för säkerhetskopieringar och icke-kritiska data med sällan förekommande åtkomst.
Skrivbarriärer för Premium SSD
För att uppnå högsta IOPS på Premium SSD-diskar som har sina cacheminnen inställda på ReadOnly
eller None
inaktiverar du skrivbarriärer när du monterar filsystemet i Linux. Du behöver inga hinder eftersom skrivningar till Premium Storage-säkerhetskopierade diskar är hållbara för dessa cacheinställningar. Om cachelagring är inställt på Read/Write
ska du behålla hinder som är aktiverade för att säkerställa skrivhållbarhet.
- Om du använder reiserFS-filsystemet inaktiverar du hinder med hjälp av monteringsalternativet
barrier=none
. - Om du använder ext3/ext4 inaktiverar du hinder med hjälp av monteringsalternativet
barrier=0
. - Om du använder XFS inaktiverar du hinder med hjälp av monteringsalternativet
nobarrier
.
I/O-schemaläggningsalgoritm för Premium SSD
Linux-kerneln erbjuder två uppsättningar disk-I/O-schemaläggare för att ordna om begäranden, en för det äldre blk
undersystemet och en för det nyare blk-mq
undersystemet. För Azure Premium-lagringsdiskar använder du en schemaläggare som skickar schemaläggningsbesluten till den underliggande virtualiseringsplattformen.
- För Linux-kernels som använder
blk
undersystemet väljer dunoop
schemaläggaren. - För Linux-kernels som använder
blk-mq
undersystemet väljer dunone
schemaläggaren.
Konfigurationer med flera diskar
Om dina arbetsbelastningar kräver mer IOPS än en enskild disk kan tillhandahålla använder du en RAID-konfiguration (Redundant Array of Independent Disks) som kombinerar flera diskar. Azure erbjuder diskåterhämtning på lagringsinfrastrukturlagret, så att du kan fokusera på prestanda genom att implementera en RAID-0-rand.
Alternativt kan du installera Logical Volume Manager (LVM) och använda det för att kombinera flera virtuella diskar till en enda randig logisk lagringsvolym. I den här konfigurationen distribueras läsningar och skrivningar till flera diskar som finns i volymgruppen, ungefär som RAID-0. Av prestandaskäl kanske du vill strecka dina logiska volymer så att läsningar och skrivningar använder alla dina anslutna datadiskar.