Prestandachecklista för Blob Storage-utvecklare

Använd den här checklistan för att minska svarstiden, öka dataflödet och anpassa till skalnings- och prestandamål för Azure Storage. Azure Storage använder termen mål i stället för gränser eftersom vissa värden kan ökas vid begäran. När klienter närmar sig eller överskrider dessa mål kan Azure Storage begränsa begäranden, vilket ökar svarstiden. Använd checklistan i den här artikeln för att anpassa till mål utan att offra prestanda.

Anmärkning

Den här artikeln gäller endast anpassade program. Rekommendationer som gäller för alla klienter finns i prestandachecklistan för Blob Storage.

Checklista för prestanda

  • Använd Azure Storage-klientbibliotek: Använd Microsoft-klientbibliotek för bästa prestanda. Dessa bibliotek är optimerade för prestanda, hålls aktuella med tjänstversioner och hanterar beprövade prestandarutiner internt.

  • Optimera parallella blocköverföringar: Öka parallella överföringar med mindre blockstorlekar, men behåll storlekar över 4 MiB (standard) eller 256 KiB (premium) för att aktivera blockblobar med högt dataflöde. Balansera parallellitet för att undvika att överskrida enhetsfunktioner eller lagringsmål, som orsakar strömbegränsning. Ange lämpliga gränser för samtidiga begäranden. Se prestandavägledning för .NET, Java, JavaScript, Python och Go.

  • Använd en exponential backoff-policy för återförsök: Hantera tillfälliga fel med exponential backoff-metoder. Försök till exempel igen efter 2, 4, 10, 30 sekunder och stoppa sedan. Den här principen förhindrar alltför stora återförsök för icke-tillfälliga fel, till exempel sådana som inträffar när programmet närmar sig eller överskrider prestanda- och skalningsmål. Klientbiblioteken vet vilka fel som ska försökas igen och vilka som inte ska försöka igen. Om du vill tillämpa en återförsöksprincip läser du återförsöksvägledningen för .NET, Java, JavaScript, Python och Go.

  • Använd server-till-server-API:er för att kopiera mellan containrar och konton: Använd Lägg Block Från URL för att kopiera data mellan konton och för att kopiera data inom ett konto. Åtgärder på serversidan minskar bandbredden eftersom du inte behöver ladda ned och sedan ladda upp data. Se kopieringsvägledningen för .NET, Java, JavaScript, Python och Go.

  • Cacha data för att förbättra prestanda: Cacha data som används ofta eller sällan ändras, såsom konfigurations- och uppslagsdata. Använd villkorsstyrda huvuden med GET-åtgärder för att hämta blobar endast om de har ändrats sedan senast cachelagrades. För mer information, se Specificering av villkorsstyrda huvuden för Blob-tjänstoperationer.

  • Ladda upp data i batchar: Aggregera data innan du laddar upp i stället för att ladda upp direkt. Du kan till exempel spara loggposter lokalt och ladda upp med jämna mellanrum som en enskild blob i stället för att ladda upp varje post individuellt.

Nästa steg