Problemen met de prestaties van Azure-bestandsshares oplossen
In dit artikel vindt u enkele veelvoorkomende problemen met betrekking tot Azure-bestands shares. Het biedt mogelijke oorzaken en tijdelijke oplossingen voor wanneer u deze problemen ondervindt.
Van toepassing op
| Bestands sharetype | SMB | NFS |
|---|---|---|
| Standaardbestands shares (GPv2), LRS/ZRS | ||
| Standaardbestands shares (GPv2), GRS/GZRS | ||
| Premium (FileStorage), LRS/ZRS |
Problemen met hoge latentie, lage doorvoer en algemene prestaties
Oorzaak 1: De share is beperkt
Aanvragen worden beperkt wanneer de I/O-bewerkingen per seconde (IOPS), de limieten voor in- of uitvoeren van een bestands share zijn bereikt. Zie Bestands share en bestandsschaaldoelen voor meer informatie over de limieten voor Standaard- en Premium-bestands shares.
Als u wilt controleren of uw share wordt beperkt, kunt u metrische Gegevens van Azure openen en gebruiken in de portal.
Ga in Azure Portal naar uw opslagaccount.
Selecteer in het linkerdeelvenster onder Bewaking de optie Metrische gegevens.
Selecteer Bestand als de metrische naamruimte voor het bereik van uw opslagaccount.
Selecteer Transacties als de metrische gegevens.
Voeg een filter toe voor Antwoordtype en controleer vervolgens of er aanvragen zijn beperkt.
Voor standaardbestands shares worden de volgende antwoordtypen geregistreerd als een aanvraag wordt beperkt:
- SuccessWithThrottling
- SuccessWithShareIopsThrottling
- ClientShareIopsThrottlingError
Voor Premium-bestands shares worden de volgende antwoordtypen geregistreerd als een aanvraag wordt beperkt:
- SuccessWithShareEgressThrottling
- SuccessWithShareIngressThrottling
- SuccessWithShareIopsThrottling
- ClientShareEgressThrottlingError
- ClientShareIngressThrottlingError
- ClientShareIopsThrottlingError
Zie Metrische dimensies voor meer informatie over elk antwoordtype.

Notitie
Zie de sectie 'Een waarschuwing maken als een bestands share wordt beperkt' verderhand in dit artikel om een waarschuwing te ontvangen.
Oplossing
- Als u een standaardbestands share gebruikt, moet u grote bestands shares inschakelen in uw opslagaccount en de grootte van het quotum voor bestands share verhogen om te profiteren van de ondersteuning voor de grote bestands share. Grote bestands shares ondersteunen geweldige IOPS en bandbreedtelimieten; zie Azure Files schaalbaarheids- en prestatiedoelen voor meer informatie.
- Als u een Premium-bestands share gebruikt, verhoogt u de grootte van de inrichtende bestands share om de IOPS-limiet te verhogen. Zie Inzicht in het inrichten voor Premium-bestands shares voor meer informatie.
Oorzaak 2: Zware werkbelasting van metagegevens of naamruimte
Als het merendeel van uw aanvragen op metagegevens is gericht (zoals , , , of ), is de latentie erger dan die createfile van openfile closefile queryinfo querydirectory lees-/schrijfbewerkingen.
Om te bepalen of de meeste van uw aanvragen op metagegevens zijn gericht, begint u met het volgen van de stappen 1-4, zoals eerder beschreven in Oorzaak 1. Voor stap 5 voegt u in plaats van een filter toe voor Antwoordtype een eigenschapsfilter toe voor API-naam.

Tijdelijke oplossing
- Controleer of de toepassing kan worden gewijzigd om het aantal metagegevensbewerkingen te verminderen.
- Voeg een virtuele harde schijf (VHD) toe aan de bestands share en bevestig de VHD van de client om bestandsbewerkingen uit te voeren op de gegevens. Deze aanpak werkt voor scenario's of scenario's met één schrijver/lezer met meerdere lezers en zonder schrijvers. Omdat het bestandssysteem eigendom is van de client in plaats Azure Files, kunnen metagegevensbewerkingen lokaal zijn. De installatie biedt prestaties die vergelijkbaar zijn met die van een lokaal rechtstreeks gekoppelde opslag.
- Als u een VHD wilt Windows een client, gebruikt u de PowerShell-cmdlet Mount-DiskImage.
- Raadpleeg de documentatie voor uw Linux-distributie om een VHD te installeren in Linux.
Oorzaak 3: Toepassing met één thread
Als de toepassing die u gebruikt één thread heeft, kan deze installatie leiden tot een aanzienlijk lagere IOPS-doorvoer dan de maximaal mogelijke doorvoer, afhankelijk van de grootte van uw inrichtende share.
Oplossing
- Vergroot de parallelle uitvoering van toepassingen door het aantal threads te verhogen.
- Schakel over naar toepassingen waar parallellisme mogelijk is. Voor kopieerbewerkingen kunt u bijvoorbeeld AzCopy of RoboCopy gebruiken vanuit Windows clients of de parallelle opdracht van Linux-clients.
Oorzaak 4: Het aantal SMB-kanalen is groter dan vier
Als u SMB meerdere kanalen gebruikt en het aantal kanalen dat u hebt groter is dan vier, leidt dit tot slechte prestaties. Als u wilt bepalen of het aantal verbindingen groter is dan vier, gebruikt u de PowerShell-cmdlet om de huidige instellingen voor get-SmbClientConfiguration het aantal verbindingen weer te geven.
Oplossing
Stel de Windows per NIC in voor SMB, zodat het totaal aantal kanalen niet groter is dan vier. Als u bijvoorbeeld twee NIC's hebt, kunt u het maximum per NIC instellen op twee met behulp van de volgende PowerShell-cmdlet: Set-SmbClientConfiguration -ConnectionCountPerRssNetworkInterface 2 .
Zeer hoge latentie voor aanvragen
Oorzaak
De virtuele clientmachine (VM) kan zich in een andere regio bevinden dan de bestands share. Een andere reden voor hoge latentie kan worden veroorzaakt door de latentie die wordt veroorzaakt door de client of het netwerk.
Oplossing
- Voer de toepassing uit vanaf een VM die zich in dezelfde regio bevindt als de bestands share.
- Bekijk voor uw opslagaccount de transactiemetrieken SuccessE2ELatency en SuccessServerLatency via Azure Monitor in Azure Portal. Een groot verschil tussen de metrische waarden SuccessE2ELatency en SuccessServerLatency is een indicatie van latentie die waarschijnlijk wordt veroorzaakt door het netwerk of de client. Zie Metrische gegevens voor transacties in Azure Files naslaginformatie over bewakingsgegevens.
Client kan geen maximale doorvoer bereiken die wordt ondersteund door het netwerk
Oorzaak
Een mogelijke oorzaak is een gebrek aan SMB-ondersteuning voor meerdere kanalen voor standaardbestands shares. Momenteel ondersteunt Azure Files slechts één kanaal, dus er is slechts één verbinding van de client-VM naar de server. Deze ene verbinding wordt gekoppeld aan één kern op de client-VM, zodat de maximale doorvoer die kan worden bereikt vanuit een VM, wordt gebonden door één kern.
Tijdelijke oplossing
- Schakel voor Premium-bestands shares SMB meerdere kanalen in.
- Het verkrijgen van een VM met een grotere kern kan helpen de doorvoer te verbeteren.
- Het uitvoeren van de clienttoepassing vanaf meerdere VM's verhoogt de doorvoer.
- Gebruik waar mogelijk REST API's.
- Voor NFS-bestands shares is nconnect beschikbaar in preview. Niet aanbevolen voor productieworkloads.
Doorvoer op Linux-clients is aanzienlijk lager dan die van Windows clients
Oorzaak
Dit is een bekend probleem met de implementatie van de SMB-client op Linux.
Tijdelijke oplossing
- Verdeel de belasting over meerdere VM's.
- Gebruik op dezelfde VM meerdere bevestigingspunten met een optie
nosharesocken verdeel de belasting over deze bevestigingspunten. - Probeer in Linux te maken met een optie om te voorkomen dat bij elke aanroep
nostrictsynceen SMB wordtfsyncleeggetrokken. Voor Azure Files heeft deze optie geen invloed op de consistentie van gegevens, maar dit kan leiden tot verouderde bestandsmetagegevens in mapvermeldingen (ls -lopdracht). Als u rechtstreeks een query uitvoert op bestandsmetagegevens met behulp van de opdracht, worden de meest recentestatbestandsmetagegevens weergegeven.
Hoge latentie voor workloads met veel metagegevens met uitgebreide open/close-bewerkingen
Oorzaak
Geen ondersteuning voor directory-leases.
Tijdelijke oplossing
- Vermijd indien mogelijk het gebruik van een overmatige openings-/sluitingsinging in dezelfde map binnen een korte periode.
- Verhoog voor Linux-VM's de time-out van de cache voor mapinvoer door op te geven
actimeo=<sec>als een optie voor het toevoegen van een map. De time-out is standaard 1 seconde, dus een grotere waarde, zoals 3 of 5 seconden, kan helpen. - Voor CentOS Linux- of Red Hat Enterprise Linux-VM's (RHEL) werkt u het systeem bij naar CentOS Linux 8.2 of RHEL 8.2. Voor andere linux-VM's werkt u de kernel bij naar 5.0 of hoger.
Lage IOPS in CentOS Linux of RHEL
Oorzaak
Een I/O-diepte van meer dan 1 wordt niet ondersteund in CentOS Linux of RHEL.
Tijdelijke oplossing
- Upgrade naar CentOS Linux 8 of RHEL 8.
- Wijzig in Ubuntu.
Traag kopiëren van bestanden naar en van Azure-bestands shares in Linux
Als het kopiëren van bestanden traag is, zie dan de sectie 'Langzaam kopiëren van bestanden naar en van Azure-bestands shares in Linux' in de handleiding voor het oplossen van problemen met Linux.
Jittery- of sawtooth-patroon voor IOPS
Oorzaak
De clienttoepassing overschrijdt consistent de basislijn-IOPS. Op dit moment wordt de belasting van aanvragen niet vloeiender aan de servicezijde. Als de client de basislijn-IOPS overschrijdt, wordt deze beperkt door de service. De beperking kan ertoe leiden dat de client een jitter- of sawtooth-IOPS-patroon ondervindt. In dit geval is de gemiddelde IOPS die door de client wordt bereikt mogelijk lager dan de basislijn-IOPS.
Tijdelijke oplossing
- Verminder de belasting van aanvragen van de clienttoepassing, zodat de share niet wordt beperkt.
- Verhoog het quotum van de share zodat de share niet wordt beperkt.
Overmatige DirectoryOpenen/DirectorySluiten aanroepen
Oorzaak
Als het aantal DirectoryOpen/DirectoryClose-aanroepen een van de belangrijkste API-aanroepen is en u niet verwacht dat de client zoveel aanroepen zal doen, kan het probleem worden veroorzaakt door de antivirussoftware die is geïnstalleerd op de Azure-client-VM.
Tijdelijke oplossing
- Een oplossing voor dit probleem is beschikbaar in de platformupdate van april voor Windows.
Het maken van bestanden is langzamer dan verwacht
Oorzaak
Workloads die afhankelijk zijn van het maken van een groot aantal bestanden, zien geen aanzienlijk verschil in prestaties tussen Premium-bestands shares en standaardbestands shares.
Tijdelijke oplossing
- Geen.
Trage prestaties van Windows 8.1 of Server 2012 R2
Oorzaak
De latentie bij toegang tot Azure-bestands shares voor I/O-intensieve workloads is hoger dan verwacht.
Tijdelijke oplossing
- Installeer de beschikbare hotfix.
SMB meerdere kanalen wordt niet geactiveerd.
Oorzaak
Recente wijzigingen in de configuratie-instellingen voor SMB meerdere kanalen zonder een remount.
Oplossing
- Nadat u de SMB-configuratie Windows-instellingen voor de SMB-client of het account voor meerdere kanalen hebt gewijzigd, moet u de share ontkoppelen, 60 seconden wachten en de share opnieuw ontkoppelen om de meerdere kanalen te activeren.
- Voor Windows clientbesturingssysteem genereert u IO-belasting met een hoge wachtrijdiepte, bijvoorbeeld QD=8, bijvoorbeeld het kopiëren van een bestand om SMB meerdere kanalen te activeren. Voor serverbesturingssysteem wordt SMB meerdere kanalen geactiveerd met QD=1, wat betekent dat zodra u een I/O naar de share start.
Hoge latentie op websites die worden gehost op bestands shares
Oorzaak
Een melding over bestandswijziging met een groot aantal bestanden op bestands shares kan leiden tot aanzienlijke hoge latentie. Dit gebeurt meestal bij websites die worden gehost op bestands shares met een diep geneste mapstructuur. Een typisch scenario is een door IIS gehoste webtoepassing waarbij een melding voor bestandswijziging wordt ingesteld voor elke map in de standaardconfiguratie. Elke wijziging(ReadDirectoryChangesW)op de share waarvoor de client is geregistreerd, pusht een wijzigingsmelding van de bestandsservice naar de client, die systeemresources neemt en problemen met het aantal wijzigingen verergert. Dit kan leiden tot een beperking van de share en dus tot een hogere latentie aan de clientzijde.
Ter bevestiging kunt u Azure Metrics in de portal gebruiken:
- Ga in Azure Portal naar uw opslagaccount.
- Selecteer in het menu links onder Bewaking de optie Metrische gegevens.
- Selecteer Bestand als de naamruimte voor metrische gegevens voor het bereik van uw opslagaccount.
- Selecteer Transacties als metrische gegevens.
- Voeg een filter toe voor ResponseType en controleer of aanvragen een antwoordcode hebben van SuccessWithThrottling (voor SMB of NFS) of ClientThrottlingError (voor REST).
Oplossing
- Als de melding voor bestandswijziging niet wordt gebruikt, schakelt u de melding voor bestandswijziging uit (aanbevolen).
- Schakel de melding voor bestandswijziging uit door FCNMode bij te werken.
- Werk het polling-interval van IIS Worker Process (W3WP) bij naar 0 door in het register in te stellen en het
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\ConfigPollMilliSecondsW3WP-proces opnieuw op te starten. Zie Algemene registersleutels die worden gebruikt door veel onderdelen van IIS voor meer informatie over deze instelling.
- Verhoog de frequentie van het polling-interval voor bestandswijzigingen om het volume te verminderen.
- Werk het polling-interval van het W3WP-werkproces bij naar een hogere waarde (bijvoorbeeld 10 minuten of 30 minuten) op basis van uw vereisten. Stel
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\ConfigPollMilliSecondsin het register in en start het W3WP-proces opnieuw.
- Werk het polling-interval van het W3WP-werkproces bij naar een hogere waarde (bijvoorbeeld 10 minuten of 30 minuten) op basis van uw vereisten. Stel
- Als de aan uw website toe te passen fysieke map een geneste mapstructuur heeft, kunt u proberen het bereik van bestandswijzigingsmeldingen te beperken om het meldingsvolume te verminderen. IIS maakt standaard gebruik van configuratie van Web.config bestanden in de fysieke map waaraan de virtuele map is map, evenals in alle onderliggende mappen in die fysieke map. Als u geen gebruik wilt maken van Web.config in onderliggende mappen, geeft u false op voor het kenmerk allowSubDirConfig in de virtuele map. Meer informatie vindt u hier.
- Stel de instelling 'allowSubDirConfig' van de virtuele IIS-map in Web.Config in op onwaar om toe te staan dat er fysieke onderliggende mappen van het bereik worden uitgesloten.
Een waarschuwing maken als een bestands share wordt beperkt
Ga naar uw opslagaccount in Azure Portal.
Klik in de sectie Bewaking op Waarschuwingen en klik vervolgens op + Nieuwe waarschuwingsregel.
Klik op Resource bewerken, selecteer het resourcetype Bestand voor het opslagaccount en klik vervolgens op Klaar. Als de naam van het opslagaccount bijvoorbeeld
contosois, selecteert u decontoso/fileresource.Klik op Voorwaarde toevoegen om een voorwaarde toe te voegen.
U ziet een lijst met signalen die worden ondersteund voor het opslagaccount. Selecteer de metrische gegevens Voor transacties.
Klik op de blade Signaallogica configureren op de vervolgkeuzepagina Dimensienaam en selecteer Antwoordtype.
Klik op de vervolgkeuzepagina Dimensiewaarden en selecteer de juiste antwoordtypen voor uw bestands share.
Selecteer voor standaardbestands shares de volgende antwoordtypen:
- SuccessWithThrottling
- SuccessWithShareIopsThrottling
- ClientShareIopsThrottlingError
Selecteer voor Premium-bestands shares de volgende antwoordtypen:
- SuccessWithShareEgressThrottling
- SuccessWithShareIngressThrottling
- SuccessWithShareIopsThrottling
- ClientShareEgressThrottlingError
- ClientShareIngressThrottlingError
- ClientShareIopsThrottlingError
Notitie
Als de antwoordtypen niet worden vermeld in de vervolgkeuzelijst Dimensiewaarden, betekent dit dat de resource niet is beperkt. Als u de dimensiewaarden wilt toevoegen, selecteert u naast de vervolgkeuzelijst Dimensiewaarden de optie Aangepaste waarde toevoegen, voert u het type respone in (bijvoorbeeld SuccessWithThrottling), selecteert u OK en herhaalt u deze stappen om alle toepasselijke antwoordtypen voor uw bestands share toe te voegen.
Voor Premium-bestands shares klikt u op de vervolgkeuzepagina Dimensienaam en selecteert u Bestands share. Voor standaardbestands shares gaat u verder met stap 10.
Notitie
Als de bestands share een standaardbestands share is, worden de bestands share(s) niet weergegeven in de bestandsdimensie omdat metrische gegevens per share niet beschikbaar zijn voor standaardbestands shares. Beperkingswaarschuwingen voor standaardbestands shares worden geactiveerd als een bestands share binnen het opslagaccount wordt beperkt en de waarschuwing niet identificeert welke bestands share is beperkt. Aangezien metrische gegevens per share niet beschikbaar zijn voor standaardbestands shares, is het aanbeveling om één bestands share per opslagaccount te hebben.
Klik op de vervolgkeuzepagina Dimensiewaarden en selecteer de bestands share(s) die u wilt waarschuwen.
Definieer de waarschuwingsparameters (drempelwaarde, operator, aggregatiegranulariteit en frequentie van evaluatie) en klik op Done.
Tip
Als u een statische drempel gebruikt, kan de grafiek met metrische gegevens helpen om een redelijke drempelwaarde te bepalen als de bestands share momenteel wordt beperkt. Als u een dynamische drempelwaarde gebruikt, worden in de grafiek met metrische gegevens de berekende drempelwaarden weergegeven op basis van recente gegevens.
Klik op Actiegroepen toevoegen om een actiegroep (e-mail, sms, enzovoort) aan de waarschuwing toe te voegen door een bestaande actiegroep te selecteren of een nieuwe actiegroep te maken.
Vul de waarschuwingsdetails in, zoals de naam van de waarschuwingsregel, Beschrijving en Ernst.
Klik op Waarschuwingsregel maken om de waarschuwing te maken.
Zie Overzicht van waarschuwingen in Azure Monitor voor meer informatie over het configureren van Microsoft Azure.
Waarschuwingen maken als een Premium-bestands share steeds meer wordt beperkt
Ga in Azure Portal naar uw opslagaccount.
Selecteer in de sectie Bewaking de optie Waarschuwingen en selecteer vervolgens Nieuwe waarschuwingsregel.
Selecteer Resource bewerken, selecteer het resourcetype Bestand voor het opslagaccount en selecteer vervolgens Done. Als de naam van het opslagaccount bijvoorbeeld contoso is, selecteert u de resource contoso/file.
Selecteer Voorwaarde selecteren om een voorwaarde toe te voegen.
Selecteer in de lijst met signalen die worden ondersteund voor het opslagaccount de Egress metrische gegevens.
Notitie
U moet drie afzonderlijke waarschuwingen maken om te worden gewaarschuwd wanneer de ingress-, egress- of transactiewaarden de drempelwaarden overschrijden die u hebt ingesteld. Dit komt doordat een waarschuwing alleen wordt geactiveerd wanneer aan alle voorwaarden wordt voldaan. Als u bijvoorbeeld alle voorwaarden in één waarschuwing op een waarschuwing zet, wordt u alleen gewaarschuwd als de drempelwaarden voor ingress, egress en transactions worden overschreden.
Schuif omlaag. Selecteer bestands share in de vervolgkeuzelijst Dimensienaam.
Selecteer in de vervolgkeuzelijst Dimensiewaarden de bestands share of shares die u wilt waarschuwen.
Definieer de waarschuwingsparameters door waarden te selecteren in de vervolgkeuzelijsten Operator, Drempelwaarde, Aggregatiegranulatie en Frequentie van evaluatie en selecteer vervolgens Done.
Egress, ingress en transactions metrische gegevens worden per minuut uitgedrukt, hoewel u per seconde egress, ingress en I/O hebt ingericht. Als uw inrichtende egress bijvoorbeeld 90 MiB/s is en u wilt dat uw drempelwaarde 80 procent is van het inrichtende egress, selecteert u de volgende waarschuwingsparameters:
- Voor Drempelwaarde: 75497472
- Voor Operator: groter dan of gelijk aan
- Voor Aggregatietype: gemiddeld
Afhankelijk van hoe ruis uw waarschuwing moet bevatten, kunt u ook waarden selecteren voor Aggregatiegranulariteit en Frequentie van de evaluatie. Als u bijvoorbeeld wilt dat uw waarschuwing het gemiddelde aantal ingressen in de periode van 1 uur bekijkt en u wilt dat de waarschuwingsregel elk uur wordt uitgevoerd, selecteert u het volgende:
- Voor Aggregatiegranulatie: 1 uur
- Voor evaluatiefrequentie: 1 uur
Selecteer Actiegroepen toevoegen en voeg vervolgens een actiegroep (bijvoorbeeld e-mail of sms) toe aan de waarschuwing door een bestaande actiegroep te selecteren of door een nieuwe te maken.
Voer de details van de waarschuwing in, zoals de naam van de waarschuwingsregel, Beschrijving en Ernst.
Selecteer Waarschuwingsregel maken om de waarschuwing te maken.
Notitie
Als u een melding wilt ontvangen dat uw Premium-bestands share bijna wordt beperkt vanwege het inrichten van een ingress, volgt u de voorgaande instructies, maar met de volgende wijziging:
- Selecteer in stap 5 de metrische gegevens voor toegangsmeter in plaats van Egress.
Als u een melding wilt ontvangen dat uw Premium-bestands share bijna wordt beperkt vanwege inrichtende IOPS, volgt u de voorgaande instructies, maar met de volgende wijzigingen:
- Selecteer in stap 5 de metrische gegevens Transacties in plaats van Egress.
- In stap 10 is Totaal de enige optie voor Aggregatietype. Daarom is de drempelwaarde afhankelijk van de geselecteerde aggregatiegranulariteit. Als u bijvoorbeeld wilt dat uw drempelwaarde 80 procent is van de inrichtende basislijn-IOPS en u 1 uur selecteert voor Aggregatiegranulatie, is uw Drempelwaarde uw basislijn-IOPS (in bytes) × 0,8 × 3600.
Zie Overzicht van waarschuwingen in Azure Monitor voor meer informatie over het configureren van Microsoft Azure.