Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Blob Storage ondersteunt nu het NFS-protocol (Network File System) 3.0. Dit artikel bevat aanbevelingen waarmee u de prestaties van uw opslagaanvragen kunt optimaliseren. Zie Ondersteuning van het NFS 3.0-protocol voor Azure Blob Storage voor meer informatie over NFS 3.0-ondersteuning voor Blob Storage.
Clients toevoegen om de doorvoer te verhogen
Blob Storage wordt lineair geschaald totdat de maximale limiet voor uitgaand opslagaccount en inkomend verkeer wordt bereikt. Daarom kunnen uw toepassingen een hogere doorvoer bereiken door meer clients te gebruiken. Zie om de uitgaande en binnenkomende limieten voor opslagaccounts te bekijken, Schaalbaarheids- en prestatiedoelen voor standaardopslagaccounts.
In de volgende grafiek ziet u hoe de bandbreedte toeneemt naarmate u meer clients toevoegt. In deze grafiek is een client een virtuele machine (VM) met een standaard v2-opslagaccount voor algemeen gebruik.
In de volgende grafiek ziet u hetzelfde effect wanneer dit wordt toegepast op een premium blok-blobopslagaccount.
Premium blok-blob-opslagaccounts gebruiken voor kleinschalige toepassingen
Niet alle toepassingen kunnen omhoog worden geschaald door meer clients toe te voegen. Voor deze toepassingen biedt het Azure Premium-account voor blok-blobopslag consistent lage latentie en hoge transactiesnelheden. Het premium blok-blob-opslagaccount kan de maximale bandbreedte bereiken met minder threads en clients. Met één client kan een premium blok-blob-opslagaccount bijvoorbeeld een bandbreedte van 2,3x bereiken in vergelijking met dezelfde installatie die wordt gebruikt met een standaardopslagaccount voor algemeen gebruik v2.
Elke staaf in de volgende grafiek toont het verschil in de gerealiseerde bandbreedte tussen Premium- en Standard Performance Storage-accounts. Naarmate het aantal clients toeneemt, neemt dat verschil af.
De leesvoorraadgrootte verbeteren om de leesdoorvoer voor grote bestanden te vergroten.
De read_ahead_kb kernelparameter vertegenwoordigt de hoeveelheid extra gegevens die moeten worden gelezen nadat aan een bepaalde leesaanvraag is voldaan. U kunt deze parameter verhogen naar 16 MiB om de doorvoer van het lezen van grote bestanden te verbeteren.
export AZMNT=/your/container/mountpoint
echo 16384 > /sys/class/bdi/0:$(stat -c "%d" $AZMNT)/read_ahead_kb
Vermijd frequente overschrijven van gegevens
Het duurt langer om een overschrijfbewerking te voltooien dan een nieuwe schrijfbewerking. Een NFS-overschrijfbewerking, met name een gedeeltelijke in-place bestandsbewerking, is een combinatie van verschillende onderliggende blobbewerkingen, zoals lees-, wijzigings- en schrijfbewerkingen. Daarom is een toepassing die frequente in-place bewerkingen vereist, niet geschikt voor Blob Storage-accounts met NFS-functionaliteit.
Azure HPC Cache implementeren voor latentiegevoelige toepassingen
Voor sommige toepassingen is mogelijk een lage latentie vereist, naast een hoge doorvoer. U kunt Azure HPC Cache implementeren om de latentie aanzienlijk te verbeteren. Meer informatie over latentie in Blob Storage.
Het aantal TCP-verbindingen verhogen
U kunt de nconnect koppelingsoptie gebruiken om betere statistische lees- en schrijfprestaties van één VIRTUELE machine te krijgen, maar alleen als uw Linux-kernel ondersteuning voor Azure nconnect heeft.
De nconnect optie is een Linux-koppelingsoptie aan de clientzijde die u kunt gebruiken voor meerdere TCP-verbindingen (Transmission Control Protocol) tussen de client en het blob-service-eindpunt. U kunt de nconnect optie in de koppelingsopdracht gebruiken om het aantal TCP-verbindingen op te geven dat u wilt maken (bijvoorbeeld: mount -t aznfs -o nconnect=16,sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdatain).
Belangrijk
Hoewel de nieuwste Linux-distributies volledig worden ondersteund nconnect, kunt u deze optie alleen gebruiken als uw kernel ondersteuning biedt voor Azure nconnect . Het gebruik van de nconnect koppelingsoptie zonder Azure-ondersteuning nconnect vermindert de doorvoer, veroorzaakt meerdere time-outs en zorgt ervoor dat opdrachten zoals READDIR en READIRPLUS onjuist werken.
Azure-ondersteuning nconnect is beschikbaar met de meeste recente Ubuntu-kernels die u kunt gebruiken met Azure-VM's. Voer de volgende opdracht uit om te achterhalen of Azure-ondersteuning nconnect beschikbaar is voor uw kernel:
[ -e /sys/module/sunrpc/parameters/enable_azure_nconnect ] && echo "Yes" || echo "No"
Als Azure-ondersteuning nconnect beschikbaar is voor uw kernel, dan wordt Yes weergegeven op de console. Anders wordt No afgedrukt op de console.
Als Azure-ondersteuning nconnect beschikbaar is, voert u de volgende opdracht uit om deze in te schakelen:
echo Y > /sys/module/sunrpc/parameters/enable_azure_nconnect
Andere beste praktijken
- Gebruik VM's met voldoende netwerkbandbreedte.
- Gebruik meerdere koppelpunten wanneer uw workloads dit toestaan.
- Gebruik zoveel mogelijk threads.
- Gebruik grote blokgrootten.
- Maak opslagaanvragen van een client die zich in dezelfde regio bevindt als het opslagaccount om de netwerklatentie te verbeteren.
Verwante inhoud
- Raadpleeg Ondersteuning van Network File System (NFS) 3.0-protocol voor Azure Blob Storage om meer te weten te komen over NFS 3.0-ondersteuning voor Blob Storage.
- Zie Blob Storage koppelen met behulp van het NFS-protocol (Network File System) 3.0 om aan de slag te gaan.