Azure Premium-lagring: design för hög prestandaAzure premium storage: design for high performance

Den här artikeln innehåller rikt linjer för att skapa högpresterande program med Azure Premium Storage.This article provides guidelines for building high performance applications using Azure Premium Storage. Du kan använda instruktionerna i det här dokumentet tillsammans med bästa metoder för prestanda som gäller för tekniker som används av ditt program.You can use the instructions provided in this document combined with performance best practices applicable to technologies used by your application. För att illustrera rikt linjerna har vi använt SQL Server som körs på Premium Storage som ett exempel i det här dokumentet.To illustrate the guidelines, we have used SQL Server running on Premium Storage as an example throughout this document.

Vi hanterar prestanda scenarier för lagrings skiktet i den här artikeln, men du måste optimera program skiktet.While we address performance scenarios for the Storage layer in this article, you will need to optimize the application layer. Om du till exempel är värd för en SharePoint-grupp på Azure Premium Storage kan du använda SQL Server-exemplen i den här artikeln för att optimera databas servern.For example, if you are hosting a SharePoint Farm on Azure Premium Storage, you can use the SQL Server examples from this article to optimize the database server. Optimera dessutom SharePoint-servergruppens webb server och program Server för att få ut mesta möjliga prestanda.Additionally, optimize the SharePoint Farm's Web server and Application server to get the most performance.

Den här artikeln hjälper dig att besvara vanliga frågor om hur du optimerar program prestanda på Azure Premium StorageThis article will help answer following common questions about optimizing application performance on Azure Premium Storage,

  • Hur mäter du program prestanda?How to measure your application performance?
  • Varför ser du inte förväntad hög prestanda?Why are you not seeing expected high performance?
  • Vilka faktorer påverkar programmets prestanda på Premium Storage?Which factors influence your application performance on Premium Storage?
  • Hur påverkar dessa faktorer prestanda för ditt program på Premium Storage?How do these factors influence performance of your application on Premium Storage?
  • Hur kan du optimera för IOPS, bandbredd och latens?How can you optimize for IOPS, Bandwidth and Latency?

Vi har tillhandahållit dessa rikt linjer specifikt för Premium Storage eftersom arbets belastningar som körs på Premium Storage är mycket prestanda känsliga.We have provided these guidelines specifically for Premium Storage because workloads running on Premium Storage are highly performance sensitive. Vi har fått exempel där det är lämpligt.We have provided examples where appropriate. Du kan också använda vissa av dessa rikt linjer för program som körs på virtuella IaaS-datorer med standard lagrings diskar.You can also apply some of these guidelines to applications running on IaaS VMs with Standard Storage disks.

Anteckning

Ibland är det som verkar vara ett disk prestanda problem i själva verket en nätverks Flask hals.Sometimes, what appears to be a disk performance issue is actually a network bottleneck. I dessa fall bör du optimera nätverks prestandan.In these situations, you should optimize your network performance.

Om du vill mäta din disk kan du läsa våra artiklar om att mäta en disk:If you are looking to benchmark your disk, see our articles on benchmarking a disk:

Om din virtuella dator har stöd för accelererat nätverk bör du kontrol lera att den är aktive rad.If your VM supports accelerated networking, you should make sure it is enabled. Om den inte är aktive rad kan du aktivera den på redan distribuerade virtuella datorer på både Windows och Linux.If it is not enabled, you can enable it on already deployed VMs on both Windows and Linux.

Innan du börjar, om du är nybörjare på Premium Storage, läser du först Välj en Azure-disktyp för virtuella datorer med IaaS och skalbarhets mål för Premium Page Blob Storage-konton.Before you begin, if you are new to Premium Storage, first read the Select an Azure disk type for IaaS VMs and Scalability targets for premium page blob storage accounts.

Program prestanda indikatorerApplication performance indicators

Vi bedömer om ett program presterar bra eller inte använder prestanda indikatorer, t. ex. hur snabbt ett program bearbetar en användarbegäran, hur mycket data som ett program bearbetar per begäran, hur lång tid det tar för en användare att bearbeta en viss tids period, hur länge en användare måste vänta på att få ett svar efter att ha skickat in sin begäran.We assess whether an application is performing well or not using performance indicators like, how fast an application is processing a user request, how much data an application is processing per request, how many requests is an application processing in a specific period of time, how long a user has to wait to get a response after submitting their request. De tekniska villkoren för dessa prestanda indikatorer är, IOPS, data flöde, bandbredd och latens.The technical terms for these performance indicators are, IOPS, Throughput or Bandwidth, and Latency.

I det här avsnittet kommer vi att diskutera vanliga prestanda indikatorer i samband med Premium Storage.In this section, we will discuss the common performance indicators in the context of Premium Storage. I följande avsnitt, som samlar in program krav, kommer du att lära dig hur du mäter dessa prestanda indikatorer för ditt program.In the following section, Gathering Application Requirements, you will learn how to measure these performance indicators for your application. Senare i optimeringen av program prestanda får du lära dig mer om faktorer som påverkar dessa prestanda indikatorer och rekommendationer för att optimera dem.Later in Optimizing Application Performance, you will learn about the factors affecting these performance indicators and recommendations to optimize them.

IOPSIOPS

IOPS-eller in-/utdata-åtgärder per sekund är antalet förfrågningar som programmet skickar till lagrings diskarna i en sekund.IOPS, or Input/output Operations Per Second, is the number of requests that your application is sending to the storage disks in one second. En in-/utdata-åtgärd kan läsas eller skrivas, sekventiellt eller slumpmässigt.An input/output operation could be read or write, sequential, or random. OLTP-program (Online Transaction Processing) som en online-webbplats måste bearbeta många samtidiga användar förfrågningar omedelbart.Online Transaction Processing (OLTP) applications like an online retail website need to process many concurrent user requests immediately. Användar förfrågningarna infogar och uppdaterar intensiva databas transaktioner, vilket programmet måste bearbeta snabbt.The user requests are insert and update intensive database transactions, which the application must process quickly. Därför kräver OLTP-program mycket höga IOPS.Therefore, OLTP applications require very high IOPS. Sådana program hanterar miljon tals små och slumpmässiga IO-begäranden.Such applications handle millions of small and random IO requests. Om du har ett sådant program måste du utforma program infrastrukturen för att optimera för IOPS.If you have such an application, you must design the application infrastructure to optimize for IOPS. I avsnittet senare, optimera program prestanda, diskuterar vi i detalj alla faktorer som du måste tänka på för att få hög IOPS.In the later section, Optimizing Application Performance, we discuss in detail all the factors that you must consider to get high IOPS.

När du kopplar en premiumlagringsdisk till en virtuell dator på hög nivå tilldelar Azure ett garanterat antal IOPS enligt diskspecifikationen.When you attach a premium storage disk to your high scale VM, Azure provisions for you a guaranteed number of IOPS as per the disk specification. Exempel: en P50-disk ger 7500 IOPS.For example, a P50 disk provisions 7500 IOPS. Varje storlek för virtuella datorer på hög nivå har en specifik IOPS-gräns.Each high scale VM size also has a specific IOPS limit that it can sustain. Till exempel har en standard GS5 VM 80 000 IOPS.For example, a Standard GS5 VM has 80,000 IOPS limit.

DataflödeThroughput

Data flöde eller bandbredd är den mängd data som programmet skickar till lagrings diskarna inom ett angivet intervall.Throughput, or bandwidth is the amount of data that your application is sending to the storage disks in a specified interval. Om ditt program utför in-/utdata-åtgärder med stora IO-enheter, kräver det stora data flöden.If your application is performing input/output operations with large IO unit sizes, it requires high throughput. Data lager program tenderar att utfärda skannings intensiva åtgärder som kommer åt stora delar av data i taget och ofta utför Mass åtgärder.Data warehouse applications tend to issue scan intensive operations that access large portions of data at a time and commonly perform bulk operations. Med andra ord kräver sådana program högre data flöde.In other words, such applications require higher throughput. Om du har ett sådant program måste du utforma dess infrastruktur för att optimera data flödet.If you have such an application, you must design its infrastructure to optimize for throughput. I nästa avsnitt diskuterar vi i detalj de faktorer som du måste finjustera för att uppnå detta.In the next section, we discuss in detail the factors you must tune to achieve this.

När du ansluter en Premium Storage-disk till en virtuell dator med hög skalning, etablerar Azure Data flödet enligt disk specifikationen.When you attach a premium storage disk to a high scale VM, Azure provisions throughput as per that disk specification. Till exempel tilldelas en P50-disk ett dataflöde på 250 MB per sekund per disk.For example, a P50 disk provisions 250 MB per second disk throughput. Varje storlek för virtuella datorer på hög nivå har en specifik gräns för genomflödet.Each high scale VM size also has as specific throughput limit that it can sustain. Till exempel, den virtuella datorn Standard GS5 har en maximal genomströmning på 2 000 MB per sekund.For example, Standard GS5 VM has a maximum throughput of 2,000 MB per second.

Det finns en relation mellan genomflödet och IOPS som visas i formeln nedan.There is a relation between throughput and IOPS as shown in the formula below.

Relation för IOPS och data flöde

Därför är det viktigt att fastställa de optimala data flödes-och IOPS-värden som programmet kräver.Therefore, it is important to determine the optimal throughput and IOPS values that your application requires. När du försöker optimera en, påverkas även den andra.As you try to optimize one, the other also gets affected. I ett senare avsnitt, optimera program prestanda, diskuterar vi mer information om att optimera IOPS och data flöden.In a later section, Optimizing Application Performance, we will discuss in more details about optimizing IOPS and Throughput.

SvarstidLatency

Svars tiden är den tid det tar för ett program att ta emot en enskild begäran, skicka det till lagrings diskarna och skicka svaret till klienten.Latency is the time it takes an application to receive a single request, send it to the storage disks and send the response to the client. Detta är ett kritiskt mått för programmets prestanda utöver IOPS och data flöde.This is a critical measure of an application's performance in addition to IOPS and Throughput. Svars tiden för en Premium Storage-disk är den tid det tar att hämta information för en begäran och att kommunicera tillbaka till ditt program.The Latency of a premium storage disk is the time it takes to retrieve the information for a request and communicate it back to your application. Premium Storage ger konsekvent låg fördröjning.Premium Storage provides consistent low latencies. Premium diskar är utformade för att tillhandahålla ensiffriga MS-fördröjningar för de flesta i/o-åtgärder.Premium Disks are designed to provide single-digit millisecond latencies for most IO operations. Om du aktiverar skrivskyddad cachelagring av värden på Premium Storage-diskar kan du få mycket lägre Läs fördröjning.If you enable ReadOnly host caching on premium storage disks, you can get much lower read latency. Vi kommer att diskutera diskcachelagring i mer detalj i avsnittet senare om hur du optimerar program prestanda.We will discuss Disk Caching in more detail in later section on Optimizing Application Performance.

När du optimerar ditt program för att få högre IOPS och data flöde kommer det att påverka svars tiden för ditt program.When you are optimizing your application to get higher IOPS and Throughput, it will affect the latency of your application. När du har justerat program prestandan ska du alltid utvärdera svars tiden för programmet för att undvika oväntad hög latens-beteende.After tuning the application performance, always evaluate the latency of the application to avoid unexpected high latency behavior.

Följande kontroll Plans åtgärder på Managed Disks kan innebära att disken flyttas från en lagrings plats till en annan.The following control plane operations on Managed Disks may involve movement of the Disk from one Storage location to another. Detta dirigeras via bakgrunds kopia av data som kan ta flera timmar att slutföra, vanligt vis mindre än 24 timmar beroende på mängden data i diskarna.This is orchestrated via background copy of data that can take several hours to complete, typically less than 24 hours depending on the amount of data in the disks. Under den tiden kan ditt program uppleva högre än vanliga Läs fördröjningar eftersom vissa läsningar kan omdirigeras till den ursprungliga platsen och det kan ta längre tid att slutföra.During that time your application can experience higher than usual read latency as some reads can get redirected to the original location and can take longer to complete. Skriv fördröjningen påverkas inte under den här perioden.There is no impact on write latency during this period.

  • Uppdatera lagrings typen.Update the storage type.
  • Koppla från och koppla en disk från en virtuell dator till en annan.Detach and attach a disk from one VM to another.
  • Skapa en hanterad disk från en virtuell hård disk.Create a managed disk from a VHD.
  • Skapa en hanterad disk från en ögonblicks bild.Create a managed disk from a snapshot.
  • Konvertera ohanterade diskar till hanterade diskar.Convert unmanaged disks to managed disks.

Check lista för prestanda program för diskarPerformance Application Checklist for disks

Det första steget i att utforma högpresterande program som körs på Azure Premium Storage är att förstå programmets prestanda krav.The first step in designing high-performance applications running on Azure Premium Storage is understanding the performance requirements of your application. När du har samlat in prestanda krav kan du optimera ditt program för att uppnå bästa möjliga prestanda.After you have gathered performance requirements, you can optimize your application to achieve the most optimal performance.

I föregående avsnitt förklarade vi vanliga prestanda indikatorer, IOPS, data flöde och svars tid.In the previous section, we explained the common performance indicators, IOPS, Throughput, and Latency. Du måste identifiera vilka av dessa prestanda indikatorer som är viktiga för ditt program för att leverera den önskade användar upplevelsen.You must identify which of these performance indicators are critical to your application to deliver the desired user experience. Till exempel är höga IOPS-frågor mest till OLTP-program som bearbetar miljon tals transaktioner i en sekund.For example, high IOPS matters most to OLTP applications processing millions of transactions in a second. Högt data flöde är kritiskt för data lager program som bearbetar stora mängder data i en sekund.Whereas, high Throughput is critical for Data Warehouse applications processing large amounts of data in a second. Extremt låg latens är avgörande för real tids program som webbplatser för direkt uppspelning av video.Extremely low Latency is crucial for real-time applications like live video streaming websites.

Därefter mäter du programmets högsta prestanda krav under dess livstid.Next, measure the maximum performance requirements of your application throughout its lifetime. Använd exempel check lista nedan som en start.Use the sample checklist below as a start. Registrera de maximala prestanda kraven under perioder för normala, högsta och andra arbets timmar.Record the maximum performance requirements during normal, peak, and off-hours workload periods. Genom att identifiera krav för alla nivåer av arbets belastningar kan du fastställa programmets övergripande prestanda krav.By identifying requirements for all workloads levels, you will be able to determine the overall performance requirement of your application. Den normala arbets belastningen för en e-handelswebbplats är till exempel de transaktioner som används under de flesta dagar under ett år.For example, the normal workload of an e-commerce website will be the transactions it serves during most days in a year. Den högsta arbets belastningen hos webbplatsen är de transaktioner som används under jul-eller särskilda försäljnings händelser.The peak workload of the website will be the transactions it serves during holiday season or special sale events. Hög belastnings belastningen har normalt en begränsad period, men kan kräva att ditt program skalar två eller fler gånger om den normala driften.The peak workload is typically experienced for a limited period, but can require your application to scale two or more times its normal operation. Ta reda på 50 percentil, 90 percentil och 99 percentils krav.Find out the 50 percentile, 90 percentile, and 99 percentile requirements. Detta hjälper dig att filtrera bort avvikande värden i prestanda kraven och du kan fokusera på dina ansträngningar för att optimera för rätt värden.This helps filter out any outliers in the performance requirements and you can focus your efforts on optimizing for the right values.

Check lista för program prestanda kravApplication performance requirements checklist

PrestandakravPerformance requirements 50 percentil50 Percentile 90 percentil90 Percentile 99 percentil99 Percentile
Max.Max. Transaktioner per sekundTransactions per second
% Läs åtgärder% Read operations
% Skriv åtgärder% Write operations
% Slumpmässiga åtgärder% Random operations
% Sekventiella åtgärder% Sequential operations
Storlek för IO-begäranIO request size
Genomsnittligt data flödeAverage Throughput
Max.Max. DataflödeThroughput
Minimum.Min. SvarstidLatency
Genomsnittlig svars tidAverage Latency
Max.Max. ProcessorCPU
Genomsnittlig CPUAverage CPU
Max.Max. MinneMemory
Genomsnittligt minneAverage Memory
KödjupQueue Depth

Anteckning

Du bör överväga att skala dessa siffror baserat på den förväntade framtida tillväxten av ditt program.You should consider scaling these numbers based on expected future growth of your application. Det är en bra idé att planera för tillväxt i förväg, eftersom det kan vara svårare att ändra infrastrukturen för att förbättra prestanda senare.It is a good idea to plan for growth ahead of time, because it could be harder to change the infrastructure for improving performance later.

Om du har ett befintligt program och vill flytta till Premium Storage börjar du med att bygga check listan ovan för det befintliga programmet.If you have an existing application and want to move to Premium Storage, first build the checklist above for the existing application. Skapa sedan en prototyp av ditt program på Premium Storage och utforma programmet baserat på rikt linjer som beskrivs i optimera program prestanda i ett senare avsnitt i det här dokumentet.Then, build a prototype of your application on Premium Storage and design the application based on guidelines described in Optimizing Application Performance in a later section of this document. I nästa artikel beskrivs de verktyg du kan använda för att samla in prestanda mått.The next article describes the tools you can use to gather the performance measurements.

Räknare för att mäta program prestanda kravCounters to measure application performance requirements

Det bästa sättet att mäta prestanda kraven för ditt program är att använda verktyg för prestanda övervakning som tillhandahålls av serverns operativ system.The best way to measure performance requirements of your application, is to use performance-monitoring tools provided by the operating system of the server. Du kan använda PerfMon för Windows och iostat för Linux.You can use PerfMon for Windows and iostat for Linux. Dessa verktyg fångar in räknare som motsvarar varje mått som beskrivs i avsnittet ovan.These tools capture counters corresponding to each measure explained in the above section. Du måste samla in värdena för dessa räknare när ditt program kör arbets belastningarna normal, högsta och andra arbets tid.You must capture the values of these counters when your application is running its normal, peak, and off-hours workloads.

PerfMon-räknarna är tillgängliga för processor, minne och, varje logisk disk och fysisk disk på servern.The PerfMon counters are available for processor, memory and, each logical disk and physical disk of your server. När du använder Premium Storage-diskar med en virtuell dator är räknarna för fysiska diskar för varje Premium Storage-disk och räknare för logiska diskar för varje volym som skapas på Premium Storage-diskarna.When you use premium storage disks with a VM, the physical disk counters are for each premium storage disk, and logical disk counters are for each volume created on the premium storage disks. Du måste samla in värdena för diskarna som är värdar för din program arbets belastning.You must capture the values for the disks that host your application workload. Om det finns en till en mappning mellan logiska och fysiska diskar kan du referera till fysiska disk räknare. Se i övrigt räknare för logiska diskar.If there is a one to one mapping between logical and physical disks, you can refer to physical disk counters; otherwise refer to the logical disk counters. I Linux genererar kommandot iostat en processor-och disk användnings rapport.On Linux, the iostat command generates a CPU and disk utilization report. Disk användnings rapporten innehåller statistik per fysisk enhet eller partition.The disk utilization report provides statistics per physical device or partition. Om du har en databas server med data och loggar på separata diskar samlar du in dessa data för båda diskarna.If you have a database server with its data and logs on separate disks, collect this data for both disks. I tabellen nedan beskrivs räknare för diskar, processorer och minne:Below table describes counters for disks, processors, and memory:

RäknareCounter BeskrivningDescription PerfMonPerfMon IostatIostat
IOPS eller transaktioner per sekundIOPS or Transactions per second Antalet I/O-begäranden som har utfärdats till lagrings disken per sekund.Number of I/O requests issued to the storage disk per second. Disk läsningar/SEKDisk Reads/sec
Disk skrivningar/SEKDisk Writes/sec
TPStps
r/sr/s
w/sw/s
Disk läsningar och skrivningarDisk Reads and Writes % av Läs-och skriv åtgärder som utförts på disken.% of Reads and Write operations performed on the disk. % Disk Läs tid% Disk Read Time
Disk skrivnings tid i procent% Disk Write Time
r/sr/s
w/sw/s
DataflödeThroughput Mängden data som läses från eller skrivs till disken per sekund.Amount of data read from or written to the disk per second. Disk-lästa byte/sDisk Read Bytes/sec
Disk-skrivna byte/sDisk Write Bytes/sec
kB_read/skB_read/s
kB_wrtn/skB_wrtn/s
SvarstidLatency Total tid för att slutföra en disk-IO-begäran.Total time to complete a disk IO request. Medel s/disk läsningAverage Disk sec/Read
Medel s/disk skrivningAverage disk sec/Write
senaawait
svctmsvctm
I/o-storlekIO size Storleken på I/O-begäranden till lagrings diskarna.The size of I/O requests issues to the storage disks. Genomsnittligt antal Disk byte/läsningAverage Disk Bytes/Read
Genomsnittlig Disk byte/skrivningAverage Disk Bytes/Write
avgrq-szavgrq-sz
KödjupQueue Depth Antal väntande I/O-begäranden som väntar på att läsas från eller skrivas till lagrings disken.Number of outstanding I/O requests waiting to be read from or written to the storage disk. Aktuell diskkölängdCurrent Disk Queue Length avgqu-szavgqu-sz
Högsta minnes storlekMax. Memory Mängden minne som krävs för att köra programmet smidigtAmount of memory required to run application smoothly % använda dedikerade byte% Committed Bytes in Use Använd vmstatUse vmstat
Max. CPUMax. CPU PROCESSOR mängd som krävs för att köra programmet smidigtAmount CPU required to run application smoothly % Processor tid% Processor time % util%util

Läs mer om iostat och perfmon.Learn more about iostat and PerfMon.

Optimera program prestandaOptimize application performance

De huvudsakliga faktorer som påverkar prestanda för ett program som körs på Premium Storage är arten av IO-begäranden, VM-storlek, disk storlek, antal diskar, diskcachelagring, multitrådning och ködjup.The main factors that influence performance of an application running on Premium Storage are Nature of IO requests, VM size, Disk size, Number of disks, disk caching, multithreading, and queue depth. Du kan styra några av de här faktorerna med rattar som tillhandahålls av systemet.You can control some of these factors with knobs provided by the system. De flesta program kan inte ge dig möjlighet att ändra i/o-storlek och ködjup direkt.Most applications may not give you an option to alter the IO size and Queue Depth directly. Om du till exempel använder SQL Server kan du inte välja IO-storlek och ködjup.For example, if you are using SQL Server, you cannot choose the IO size and queue depth. SQL Server väljer den optimala storleken för IO-storlek och ködjup för att få ut mesta möjliga prestanda.SQL Server chooses the optimal IO size and queue depth values to get the most performance. Det är viktigt att förstå effekterna av båda typerna av faktorer i programmets prestanda, så att du kan etablera lämpliga resurser för att möta prestanda behoven.It is important to understand the effects of both types of factors on your application performance, so that you can provision appropriate resources to meet performance needs.

I det här avsnittet finns en check lista för program krav som du har skapat för att identifiera hur mycket du behöver för att optimera program prestandan.Throughout this section, refer to the application requirements checklist that you created, to identify how much you need to optimize your application performance. Utifrån detta kommer du att kunna avgöra vilka faktorer från det här avsnittet som du måste justera.Based on that, you will be able to determine which factors from this section you will need to tune. Om du vill beräkna effekterna av varje faktor i programmets prestanda kör du benchmarking-verktyg i program konfigurationen.To witness the effects of each factor on your application performance, run benchmarking tools on your application setup. Mer information om hur du kör vanliga benchmarking-verktyg på virtuella Windows-och Linux-datorer finns i artikeln om benchmarking-artikeln, som är länkad i slutet.Refer to the Benchmarking article, linked at the end, for steps to run common benchmarking tools on Windows and Linux VMs.

Optimera IOPS, data flöde och svars tider snabbtOptimize IOPS, throughput, and latency at a glance

I tabellen nedan sammanfattas prestanda faktorer och de steg som krävs för att optimera IOPS, data flöde och svars tid.The table below summarizes performance factors and the steps necessary to optimize IOPS, throughput, and latency. I avsnitten som följer den här sammanfattningen beskrivs varje faktor mycket mer djup.The sections following this summary will describe each factor is much more depth.

Mer information om storlekar på virtuella datorer och om IOPS, data flöde och svars tid som är tillgängliga för varje typ av virtuell dator finns i storlekar för virtuella datorer i Azure.For more information on VM sizes and on the IOPS, throughput, and latency available for each type of VM, see Sizes for virtual machines in Azure.

IOPSIOPS DataflödeThroughput SvarstidLatency
Exempel scenarioExample Scenario Enterprise OLTP-program som kräver mycket höga transaktioner per sekund.Enterprise OLTP application requiring very high transactions per second rate. Företags data lager hanterings program bearbetar stora mängder data.Enterprise Data warehousing application processing large amounts of data. Nära real tids program som kräver omedelbara svar på användar förfrågningar, t. ex. online-spel.Near real-time applications requiring instant responses to user requests, like online gaming.
Prestanda faktorerPerformance factors      
I/o-storlekIO size Mindre IO-storlek ger högre IOPS.Smaller IO size yields higher IOPS. Större IO-storlek för att ge högre data flöde.Larger IO size to yields higher Throughput.  
VM-storlekVM size Använd en VM-storlek som erbjuder IOPS som är större än ditt program krav.Use a VM size that offers IOPS greater than your application requirement. Använd en VM-storlek med en data flödes gräns som är större än ditt program krav.Use a VM size with throughput limit greater than your application requirement. Använd en VM-storlek som ger större skalnings gränser än ditt program krav.Use a VM size that offers scale limits greater than your application requirement.
Disk storlekDisk size Använd en disk storlek som erbjuder IOPS som är större än ditt program krav.Use a disk size that offers IOPS greater than your application requirement. Använd en disk storlek med data flödes gräns som är större än ditt program krav.Use a disk size with Throughput limit greater than your application requirement. Använd en disk storlek som ger större skalnings gränser än ditt program krav.Use a disk size that offers scale limits greater than your application requirement.
Begränsningar för virtuell dator och disk skalaVM and Disk Scale Limits IOPS-gränsen för den valda virtuella dator storleken ska vara större än det totala antalet IOPS som är kopplade till den.IOPS limit of the VM size chosen should be greater than total IOPS driven by storage disks attached to it. Data flödes gränsen för den valda virtuella dator storleken ska vara större än det totala data flödet som styrs av Premium Storage-diskar som är anslutna till denThroughput limit of the VM size chosen should be greater than total Throughput driven by premium storage disks attached to it. Skalnings gränserna för den valda virtuella dator storleken måste vara större än de sammanlagda skalnings gränserna för anslutna Premium Storage-diskar.Scale limits of the VM size chosen must be greater than total scale limits of attached premium storage disks.
DiskcachelagringDisk Caching Aktivera ReadOnly-cache på Premium Storage-diskar med Läs tung-åtgärder för att få högre Läs-IOPS.Enable ReadOnly Cache on premium storage disks with Read heavy operations to get higher Read IOPS.   Aktivera ReadOnly-cache på Premium Storage-diskar med klara tung åtgärder för att få mycket låg Läs fördröjning.Enable ReadOnly Cache on premium storage disks with Ready heavy operations to get very low Read latencies.
Disk randningDisk Striping Använd flera diskar och ta bort dem tillsammans för att få en kombination av högre IOPS och data flödes gräns.Use multiple disks and stripe them together to get a combined higher IOPS and Throughput limit. Den kombinerade gränsen per virtuell dator måste vara högre än de sammanlagda gränserna för anslutna Premium diskar.The combined limit per VM should be higher than the combined limits of attached premium disks.    
Rand storlekStripe Size Mindre rand storlek för slumpmässiga små IO-mönster som visas i OLTP-program.Smaller stripe size for random small IO pattern seen in OLTP applications. Använd till exempel stripe-storlek på 64 KB för SQL Server OLTP-program.For example, use stripe size of 64 KB for SQL Server OLTP application. Större rand storlek för sekventiellt stort IO-mönster visas i data lager program.Larger stripe size for sequential large IO pattern seen in Data Warehouse applications. Använd till exempel 256 KB stripe-storlek för SQL Server data lager program.For example, use 256 KB stripe size for SQL Server Data warehouse application.  
FlertrådsteknikMultithreading Använd flera trådar för att push-överföra fler begär anden till Premium Storage som leder till högre IOPS och data flöde.Use multithreading to push higher number of requests to Premium Storage that will lead to higher IOPS and Throughput. På SQL Server till exempel ange ett högt MAXDOP-värde för att allokera fler processorer till SQL Server.For example, on SQL Server set a high MAXDOP value to allocate more CPUs to SQL Server.    
KödjupQueue Depth Större ködjup ger högre IOPS.Larger Queue Depth yields higher IOPS. Större ködjup ger högre genomflöde.Larger Queue Depth yields higher Throughput. Mindre ködjup ger lägre fördröjning.Smaller Queue Depth yields lower latencies.

Typ av IO-begärandenNature of IO requests

En IO-begäran är en enhet med in-/utdata-åtgärd som programmet kommer att utföra.An IO request is a unit of input/output operation that your application will be performing. Att identifiera vilken typ av IO-begäranden, slumpmässig eller sekventiell, läsa eller skriva, liten eller stor, hjälper dig att avgöra programmets prestanda krav.Identifying the nature of IO requests, random or sequential, read or write, small or large, will help you determine the performance requirements of your application. Det är viktigt att förstå vilken typ av IO-begäranden som krävs för att fatta rätt beslut när du utformar program infrastrukturen.It is important to understand the nature of IO requests, to make the right decisions when designing your application infrastructure. IOs måste distribueras jämnt för att uppnå bästa möjliga prestanda.IOs must be distributed evenly to achieve the best performance possible.

I/o-storlek är en av de viktiga faktorerna.IO size is one of the more important factors. I/o-storleken är storleken på begäran om indata/utdata som genererats av ditt program.The IO size is the size of the input/output operation request generated by your application. I/o-storleken har en betydande inverkan på prestanda, särskilt på den IOPS och bandbredd som programmet kan uppnå.The IO size has a significant impact on performance especially on the IOPS and Bandwidth that the application is able to achieve. Följande formel visar förhållandet mellan IOPS, IO-storlek och bandbredd/data flöde.The following formula shows the relationship between IOPS, IO size, and Bandwidth/Throughput.
Ett diagram som visar formeln I O P S gånger I O-storlek är lika med data flödet.

I vissa program kan du ändra deras IO-storlek, medan vissa program inte gör det.Some applications allow you to alter their IO size, while some applications do not. SQL Server bestämmer till exempel den optimala i/o-storleken och ger inte användare med någon ratt att ändra den.For example, SQL Server determines the optimal IO size itself, and does not provide users with any knobs to change it. Å andra sidan tillhandahåller Oracle en parameter med namnet db _ block _ storlek som du kan använda för att konfigurera i/O-begäran storlek för databasen.On the other hand, Oracle provides a parameter called DB_BLOCK_SIZE using which you can configure the I/O request size of the database.

Om du använder ett program, som inte tillåter att du ändrar i/o-storlek, använder du rikt linjerna i den här artikeln för att optimera prestanda-KPI: n som är mest relevant för ditt program.If you are using an application, which does not allow you to change the IO size, use the guidelines in this article to optimize the performance KPI that is most relevant to your application. Exempel:For example,

  • Ett OLTP-program genererar miljon tals små och slumpmässiga IO-begäranden.An OLTP application generates millions of small and random IO requests. Om du vill hantera dessa typer av IO-begäranden måste du utforma program infrastrukturen för att få högre IOPS.To handle these types of IO requests, you must design your application infrastructure to get higher IOPS.
  • Ett data lager program genererar stora och sekventiella IO-begäranden.A data warehousing application generates large and sequential IO requests. Om du vill hantera dessa typer av IO-begäranden måste du utforma program infrastrukturen för att få högre bandbredd eller data flöde.To handle these types of IO requests, you must design your application infrastructure to get higher Bandwidth or Throughput.

Om du använder ett program, som gör att du kan ändra i/o-storlek, använder du den här regeln för i/o-storleken förutom andra rikt linjer för prestanda.If you are using an application, which allows you to change the IO size, use this rule of thumb for the IO size in addition to other performance guidelines,

  • Mindre IO-storlek för att få högre IOPS.Smaller IO size to get higher IOPS. Till exempel 8 KB för ett OLTP-program.For example, 8 KB for an OLTP application.
  • Större IO-storlek för att få högre bandbredd/data flöde.Larger IO size to get higher Bandwidth/Throughput. Till exempel 1024 KB för ett data lager program.For example, 1024 KB for a data warehouse application.

Här är ett exempel på hur du kan beräkna IOPS och data flöde/bandbredd för ditt program.Here is an example on how you can calculate the IOPS and Throughput/Bandwidth for your application. Överväg ett program med hjälp av en P30-disk.Consider an application using a P30 disk. Högsta antal IOPS och data flöde/bandbredd som en P30 disk kan uppnå är 5000 IOPS och 200 MB per sekund.The maximum IOPS and Throughput/Bandwidth a P30 disk can achieve is 5000 IOPS and 200 MB per second respectively. Om ditt program kräver högsta IOPS från P30-disken och du använder en mindre IO-storlek som 8 KB, kommer den resulterande bandbredd som du kan hämta vara 40 MB per sekund.Now, if your application requires the maximum IOPS from the P30 disk and you use a smaller IO size like 8 KB, the resulting Bandwidth you will be able to get is 40 MB per second. Men om ditt program kräver maximalt data flöde/bandbredd från P30 disk, och du använder en större IO-storlek som 1024 KB, kommer den resulterande IOPS att vara mindre än 200 IOPS.However, if your application requires the maximum Throughput/Bandwidth from P30 disk, and you use a larger IO size like 1024 KB, the resulting IOPS will be less, 200 IOPS. Därför bör du justera i/o-storleken så att den uppfyller både ditt programs IOPS och data flöde/bandbredds krav.Therefore, tune the IO size such that it meets both your application's IOPS and Throughput/Bandwidth requirement. I följande tabell sammanfattas olika IO-storlekar och deras motsvarande IOPS och data flöde för en P30 disk.The following table summarizes the different IO sizes and their corresponding IOPS and Throughput for a P30 disk.

Program kravApplication Requirement I/O-storlekI/O size IOPSIOPS Genom strömning/bandbreddThroughput/Bandwidth
Maximalt IOPSMax IOPS 8 kB8 KB 5 0005,000 40 MB per sekund40 MB per second
Maximalt data flödeMax Throughput 1024 KB1024 KB 200200 200 MB per sekund200 MB per second
Maximalt data flöde + hög IOPSMax Throughput + high IOPS 64 kB64 KB 3 2003,200 200 MB per sekund200 MB per second
Högsta IOPS + högt data flödeMax IOPS + high Throughput 32 KB32 KB 5 0005,000 160 MB per sekund160 MB per second

Om du vill få IOPS och bandbredd som är högre än det högsta värdet för en enskild Premium Storage-disk, använder du flera Premium diskar stripe tillsammans.To get IOPS and Bandwidth higher than the maximum value of a single premium storage disk, use multiple premium disks striped together. Du kan till exempel ta bort två P30 diskar för att få en kombination av IOPS på 10 000 IOPS eller ett kombinerat data flöde på 400 MB per sekund.For example, stripe two P30 disks to get a combined IOPS of 10,000 IOPS or a combined Throughput of 400 MB per second. Som förklaras i nästa avsnitt måste du använda en VM-storlek som stöder den kombinerade diskens IOPS och data flöde.As explained in the next section, you must use a VM size that supports the combined disk IOPS and Throughput.

Anteckning

När du ökar antingen IOPS eller data flödet kan andra också öka, se till att du inte trycker på genomflödet eller IOPS-gränser för disken eller den virtuella datorn när du ökar en.As you increase either IOPS or Throughput the other also increases, make sure you do not hit throughput or IOPS limits of the disk or VM when increasing either one.

För att vittnea effekterna av IO-storleken på program prestanda kan du köra benchmarking-verktyg på din virtuella dator och diskar.To witness the effects of IO size on application performance, you can run benchmarking tools on your VM and disks. Skapa flera test körningar och Använd en annan IO-storlek för varje körning för att se effekten.Create multiple test runs and use different IO size for each run to see the impact. Mer information finns i artikeln om benchmarking, som är länkad i slutet.Refer to the Benchmarking article, linked at the end, for more details.

Hög skalning av VM-storlekarHigh scale VM sizes

När du börjar utforma ett program, en av de första saker som du bör göra, väljer du en virtuell dator som är värd för ditt program.When you start designing an application, one of the first things to do is, choose a VM to host your application. Premium Storage levereras med hög skalnings storlekar för virtuella datorer som kan köra program som kräver högre beräknings kraft och en hög I/O-prestanda för lokala diskar.Premium Storage comes with High Scale VM sizes that can run applications requiring higher compute power and a high local disk I/O performance. De här virtuella datorerna ger snabbare processorer, ett högre förhållandet mellan minne och kärna och en Solid-State hård disk (SSD) för den lokala disken.These VMs provide faster processors, a higher memory-to-core ratio, and a Solid-State Drive (SSD) for the local disk. Exempel på virtuella datorer med hög skalning som stöder Premium Storage är virtuella datorer i DS och GS-serien.Examples of High Scale VMs supporting Premium Storage are the DS and GS series VMs.

Virtuella datorer med hög skalning är tillgängliga i olika storlekar med olika antal processor kärnor, minne, OS och temporär disk storlek.High Scale VMs are available in different sizes with a different number of CPU cores, memory, OS, and temporary disk size. Varje VM-storlek har också maximalt antal data diskar som du kan ansluta till den virtuella datorn.Each VM size also has maximum number of data disks that you can attach to the VM. Det innebär att den valda virtuella dator storleken påverkar hur mycket bearbetning, minne och lagrings kapacitet som är tillgängligt för ditt program.Therefore, the chosen VM size will affect how much processing, memory, and storage capacity is available for your application. Det påverkar också beräknings-och lagrings kostnaden.It also affects the Compute and Storage cost. Nedan visas till exempel specifikationerna för den största virtuella dator storleken i en DS-serie och GS-serien:For example, below are the specifications of the largest VM size in a DS series and a GS series:

Storlek på virtuell datorVM size ProcessorkärnorCPU cores MinneMemory Disk storlekar för virtuella datorerVM disk sizes Max.Max. data diskardata disks CachestorlekCache size IOPSIOPS IO-gränser för bandbredds cacheBandwidth Cache IO limits
Standard_DS14Standard_DS14 1616 112 GB112 GB OS = 1023 GBOS = 1023 GB
Lokal SSD = 224 GBLocal SSD = 224 GB
3232 576 GB576 GB 50 000 IOPS50,000 IOPS
512 MB per sekund512 MB per second
4 000 IOPS och 33 MB per sekund4,000 IOPS and 33 MB per second
Standard_GS5Standard_GS5 3232 448 GB448 GB OS = 1023 GBOS = 1023 GB
Lokal SSD = 896 GBLocal SSD = 896 GB
6464 4224 GB4224 GB 80 000 IOPS80,000 IOPS
2 000 MB per sekund2,000 MB per second
5 000 IOPS och 50 MB per sekund5,000 IOPS and 50 MB per second

Om du vill visa en fullständig lista över alla tillgängliga storlekar för virtuella Azure-datorer, se storlekar för virtuella datorer i Azure eller.To view a complete list of all available Azure VM sizes, refer to Sizes for virtual machines in Azure or . Välj en VM-storlek som kan mötas och skalas till önskade program prestanda krav.Choose a VM size that can meet and scale to your desired application performance requirements. Förutom detta bör du ta hänsyn till följande viktiga överväganden när du väljer VM-storlekar.In addition to this, take into account following important considerations when choosing VM sizes.

Skalnings gränserScale Limits
De högsta IOPS-gränserna per virtuell dator och per disk är olika och oberoende av varandra.The maximum IOPS limits per VM and per disk are different and independent of each other. Se till att programmet kör IOPS inom gränserna för den virtuella datorn samt de Premium-diskar som är kopplade till den.Make sure that the application is driving IOPS within the limits of the VM as well as the premium disks attached to it. Annars kommer program prestanda att drabbas av begränsning.Otherwise, application performance will experience throttling.

Anta till exempel att ett program krav är högst 4 000 IOPS.As an example, suppose an application requirement is a maximum of 4,000 IOPS. För att åstadkomma detta etablerar du en P30-disk på en DS1-VM.To achieve this, you provision a P30 disk on a DS1 VM. P30-disken kan leverera upp till 5 000 IOPS.The P30 disk can deliver up to 5,000 IOPS. Den virtuella DS1-datorn är dock begränsad till 3 200 IOPS.However, the DS1 VM is limited to 3,200 IOPS. Det innebär att program prestandan begränsas av den virtuella datorns gräns vid 3 200 IOPS och att prestanda försämras.Consequently, the application performance will be constrained by the VM limit at 3,200 IOPS and there will be degraded performance. För att förhindra den här situationen väljer du en virtuell dator och disk storlek som båda uppfyller program kraven.To prevent this situation, choose a VM and disk size that will both meet application requirements.

Drifts kostnaderCost of Operation
I många fall är det möjligt att den totala kostnaden för åtgärden med Premium Storage är lägre än att använda standard lagring.In many cases, it is possible that your overall cost of operation using Premium Storage is lower than using Standard Storage.

Överväg till exempel ett program som kräver 16 000 IOPS.For example, consider an application requiring 16,000 IOPS. För att uppnå den här prestandan behöver du en standard _ D14 Azure IaaS VM, som kan ge en maximal IOPS på 16 000 med 32 standard lagring 1 TB diskar.To achieve this performance, you will need a Standard_D14 Azure IaaS VM, which can give a maximum IOPS of 16,000 using 32 standard storage 1 TB disks. Varje 1 – TB standard lagrings disk kan uppnå högst 500 IOPS.Each 1-TB standard storage disk can achieve a maximum of 500 IOPS. Den uppskattade kostnaden för den här virtuella datorn per månad blir $1 570.The estimated cost of this VM per month will be $1,570. Månads kostnaden för 32 standard lagrings diskar är $1 638.The monthly cost of 32 standard storage disks will be $1,638. Den uppskattade totala månads kostnaden blir $3 208.The estimated total monthly cost will be $3,208.

Men om du har samma program på Premium Storage behöver du en mindre VM-storlek och färre Premium Storage-diskar, vilket minskar den totala kostnaden.However, if you hosted the same application on Premium Storage, you will need a smaller VM size and fewer premium storage disks, thus reducing the overall cost. En vanlig _ virtuell DS13-dator kan uppfylla 16 000 IOPS-kravet med fyra P30-diskar.A Standard_DS13 VM can meet the 16,000 IOPS requirement using four P30 disks. Den virtuella datorn DS13 har en maximal IOPS på 25 600 och varje P30-disk har maximalt IOPS på 5 000.The DS13 VM has a maximum IOPS of 25,600 and each P30 disk has a maximum IOPS of 5,000. Som helhet kan den här konfigurationen uppnå 5 000 x 4 = 20 000 IOPS.Overall, this configuration can achieve 5,000 x 4 = 20,000 IOPS. Den uppskattade kostnaden för den här virtuella datorn per månad blir $1 003.The estimated cost of this VM per month will be $1,003. Månads kostnaden för fyra P30 Premium Storage-diskar är $544,34.The monthly cost of four P30 premium storage disks will be $544.34. Den uppskattade totala månads kostnaden blir $1 544.The estimated total monthly cost will be $1,544.

I tabellen nedan sammanfattas kostnads nedbrytningen för det här scenariot för standard och Premium Storage.Table below summarizes the cost breakdown of this scenario for Standard and Premium Storage.

  StandardStandard PremiumPremium
Kostnad för virtuell dator per månadCost of VM per month $1 570,58 (standard _ D14)$1,570.58 (Standard_D14) $1 003,66 (standard _ DS13)$1,003.66 (Standard_DS13)
Kostnad för diskar per månadCost of Disks per month $1 638,40 (32 x 1 – TB diskar)$1,638.40 (32 x 1-TB disks) $544,34 (4 x P30 diskar)$544.34 (4 x P30 disks)
Total kostnad per månadOverall Cost per month $3 208,98$3,208.98 $1 544,34$1,544.34

Linux-distributionerLinux Distros

Med Azure Premium Storage får du samma prestanda nivå för virtuella datorer som kör Windows och Linux.With Azure Premium Storage, you get the same level of Performance for VMs running Windows and Linux. Vi har stöd för många varianter Linux-distributioner och du kan se den fullständiga listan här.We support many flavors of Linux distros, and you can see the complete list here. Det är viktigt att Observera att olika distributioner passar bättre för olika typer av arbets belastningar.It is important to note that different distros are better suited for different types of workloads. Du kan se olika prestanda nivåer beroende på vilken distribution din arbets belastning körs på.You will see different levels of performance depending on the distro your workload is running on. Testa Linux-distributioner med ditt program och välj det som fungerar bäst.Test the Linux distros with your application and choose the one that works best.

När du kör Linux med Premium Storage kontrollerar du de senaste uppdateringarna om nödvändiga driv rutiner för att garantera höga prestanda.When running Linux with Premium Storage, check the latest updates about required drivers to ensure high performance.

Storlek på Premium Storage-diskarPremium storage disk sizes

Azure Premium Storage erbjuder en mängd olika storlekar så att du kan välja en som passar dina behov bäst.Azure Premium Storage offers a variety of sizes so you can choose one that best suits your needs. Varje disk storlek har en annan skalnings gräns för IOPS, bandbredd och lagring.Each disk size has a different scale limit for IOPS, bandwidth, and storage. Välj rätt Premium Storage disk storlek beroende på program kraven och den virtuella datorns storlek för hög skalning.Choose the right Premium Storage Disk size depending on the application requirements and the high scale VM size. I tabellen nedan visas disk storlekar och deras funktioner.The table below shows the disks sizes and their capabilities. P4-, P6-, p15-, P60-, P70-och P80-storlekarna stöds för närvarande bara för Managed Disks.P4, P6, P15, P60, P70, and P80 sizes are currently only supported for Managed Disks.

Premium SSD storlekarPremium SSD sizes  P1P1 P2P2 P3P3 P4P4 P6P6 P10P10 P15P15 P20P20 P30P30 P40P40 P50P50 p60P60 P70P70 P80P80
Disk storlek i GiBDisk size in GiB 44 88 1616 3232 6464 128128 256256 512512 1 0241,024 2 0482,048 4 0964,096 8 1928,192 16 38416,384 32 76732,767
Etablerade IOPS per diskProvisioned IOPS per disk 120120 120120 120120 120120 240240 500500 1 1001,100 2 3002,300 5 0005,000 7 5007,500 7 5007,500 16 00016,000 18 00018,000 20 00020,000
Allokerat data flöde per diskProvisioned Throughput per disk 25 MB/sek.25 MB/sec 25 MB/sek.25 MB/sec 25 MB/sek.25 MB/sec 25 MB/sek.25 MB/sec 50 MB/sek.50 MB/sec 100 MB/sek100 MB/sec 125 MB/sek125 MB/sec 150 MB/sek150 MB/sec 200 MB/sek200 MB/sec 250 MB/sek.250 MB/sec 250 MB/sek250 MB/sec 500 MB/sek500 MB/sec 750 MB/sek750 MB/sec 900 MB/sek900 MB/sec
Max burst-IOPS per diskMax burst IOPS per disk 3 5003,500 3 5003,500 3 5003,500 3 5003,500 3 5003,500 3 5003,500 3 5003,500 3 5003,500
Maximalt burst-genomflöde per diskMax burst throughput per disk 170 MB/SEK170 MB/sec 170 MB/SEK170 MB/sec 170 MB/SEK170 MB/sec 170 MB/SEK170 MB/sec 170 MB/SEK170 MB/sec 170 MB/SEK170 MB/sec 170 MB/SEK170 MB/sec 170 MB/SEK170 MB/sec
Maximal längd på burstMax burst duration 30 min30 min 30 min30 min 30 min30 min 30 min30 min 30 min30 min 30 min30 min 30 min30 min 30 min30 min
Berättigad till reservationEligible for reservation IngaNo IngaNo IngaNo IngaNo IngaNo IngaNo IngaNo IngaNo Ja, upp till ett årYes, up to one year Ja, upp till ett årYes, up to one year Ja, upp till ett årYes, up to one year Ja, upp till ett årYes, up to one year Ja, upp till ett årYes, up to one year Ja, upp till ett årYes, up to one year

Hur många diskar du väljer beror på vilken disk storlek som valts.How many disks you choose depends on the disk size chosen. Du kan använda en enskild P50-disk eller flera P10-diskar för att uppfylla ditt program krav.You could use a single P50 disk or multiple P10 disks to meet your application requirement. Ta hänsyn till de överväganden som visas nedan när du gör valet.Take into account considerations listed below when making the choice.

Skalnings gränser (IOPS och data flöde)Scale Limits (IOPS and Throughput)
IOPS-och data flödes gränserna för varje Premium disk-storlek är olika och oberoende av skalnings gränserna för virtuella datorer.The IOPS and Throughput limits of each Premium disk size is different and independent from the VM scale limits. Kontrol lera att total IOPS och data flöde från diskarna ligger inom skalnings gränserna för den valda virtuella dator storleken.Make sure that the total IOPS and Throughput from the disks are within scale limits of the chosen VM size.

Om ett program krav till exempel är högst 250 MB/s genom strömning och du använder en virtuell DS4-dator med en enda P30-disk.For example, if an application requirement is a maximum of 250 MB/sec Throughput and you are using a DS4 VM with a single P30 disk. Den virtuella datorn DS4 kan ge upp till 256 MB/s-genomflöde.The DS4 VM can give up to 256 MB/sec Throughput. En enda P30-disk har dock en gräns på 200 MB/SEK. Programmet kommer därför att begränsas med 200 MB/s på grund av disk gränsen.However, a single P30 disk has Throughput limit of 200 MB/sec. Consequently, the application will be constrained at 200 MB/sec due to the disk limit. Du kan lösa den här gränsen genom att etablera fler än en data disk till den virtuella datorn eller ändra storlek på diskarna till P40 eller P50.To overcome this limit, provision more than one data disks to the VM or resize your disks to P40 or P50.

Anteckning

Läsningar som hanteras av cachen ingår inte i disk-IOPS och data flödet, och kan därför inte omfattas av disk gränser.Reads served by the cache are not included in the disk IOPS and Throughput, hence not subject to disk limits. Cachen har en separat IOPS och data flödes gräns per virtuell dator.Cache has its separate IOPS and Throughput limit per VM.

Till exempel är dina läsningar och skrivningar från början 60MB/SEK respektive 40MB/s.For example, initially your reads and writes are 60MB/sec and 40MB/sec respectively. Med tiden kan cachen värma upp och bevarar mer av läsningarna från cachen.Over time, the cache warms up and serves more and more of the reads from the cache. Sedan kan du få högre Skriv data flöde från disken.Then, you can get higher write Throughput from the disk.

Antal diskarNumber of Disks
Fastställ hur många diskar du behöver för att utvärdera program kraven.Determine the number of disks you will need by assessing application requirements. Varje VM-storlek har också en gräns för antalet diskar som du kan ansluta till den virtuella datorn.Each VM size also has a limit on the number of disks that you can attach to the VM. Vanligt vis är detta två gånger antalet kärnor.Typically, this is twice the number of cores. Se till att den virtuella dator storleken du väljer har stöd för antalet diskar som behövs.Ensure that the VM size you choose can support the number of disks needed.

Kom ihåg att Premium Storage diskar har högre prestanda funktioner jämfört med standard lagrings diskar.Remember, the Premium Storage disks have higher performance capabilities compared to Standard Storage disks. Om du migrerar ditt program från den virtuella Azure IaaS-datorn med standard lagring till Premium Storage, behöver du förmodligen färre Premium diskar för att uppnå samma eller högre prestanda för ditt program.Therefore, if you are migrating your application from Azure IaaS VM using Standard Storage to Premium Storage, you will likely need fewer premium disks to achieve the same or higher performance for your application.

DiskcachelagringDisk caching

Virtuella datorer med hög skalning som utnyttjar Azure Premium Storage har en teknik för cachelagring på flera nivåer som kallas BlobCache.High Scale VMs that leverage Azure Premium Storage have a multi-tier caching technology called BlobCache. BlobCache använder en kombination av värd-RAM och lokal SSD för cachelagring.BlobCache uses a combination of the host RAM and local SSD for caching. Den här cachen är tillgänglig för Premium Storage beständiga diskar och lokala VM-diskar.This cache is available for the Premium Storage persistent disks and the VM local disks. Den här cache-inställningen är som standard inställd på läsa/skriva för OS-diskar och ReadOnly för data diskar som finns på Premium Storage.By default, this cache setting is set to Read/Write for OS disks and ReadOnly for data disks hosted on Premium Storage. När diskcachelagring är aktiverat på Premium Storage diskar kan virtuella datorer med hög skala uppnå mycket höga prestanda nivåer som överstiger den underliggande disk prestandan.With disk caching enabled on the Premium Storage disks, the high scale VMs can achieve extremely high levels of performance that exceed the underlying disk performance.

Varning

Diskcachelagring stöds inte för disk 4 TiB och större.Disk Caching is not supported for disks 4 TiB and larger. Om flera diskar är anslutna till den virtuella datorn kommer varje disk som är mindre än 4 TiB att ha stöd för cachelagring.If multiple disks are attached to your VM, each disk that is smaller than 4 TiB will support caching.

När du ändrar cacheinställningen för en Azure-disk så frånkopplas och återansluts måldisken.Changing the cache setting of an Azure disk detaches and re-attaches the target disk. Om det är operativ system disken startas den virtuella datorn om.If it is the operating system disk, the VM is restarted. Stoppa alla program/tjänster som kan påverkas av det här avbrottet innan du ändrar inställningen för diskcachelagring.Stop all applications/services that might be affected by this disruption before changing the disk cache setting. De här rekommendationerna kan leda till skadade data.Not following those recommendations could lead to data corruption.

Mer information om hur BlobCache fungerar finns i blogg inlägget i Azure Premium Storage .To learn more about how BlobCache works, refer to the Inside Azure Premium Storage blog post.

Det är viktigt att aktivera cache på rätt disk uppsättning.It is important to enable cache on the right set of disks. Huruvida du bör aktivera diskcachelagring på en Premium-disk eller inte beror på arbets belastnings mönstret som disken ska hantera.Whether you should enable disk caching on a premium disk or not will depend on the workload pattern that disk will be handling. I tabellen nedan visas standardinställningarna för cache för OS-och data diskar.Table below shows the default cache settings for OS and Data disks.

DisktypDisk type Standardinställning för cacheminneDefault cache setting
OS-diskOS disk ReadWriteReadWrite
DatadiskData disk ReadOnlyReadOnly

Följande är de rekommenderade diskens cacheinställningar för data diskar,Following are the recommended disk cache settings for data disks,

Inställning av diskcachelagringDisk caching setting rekommendation när du ska använda den här inställningenrecommendation on when to use this setting
IngenNone Konfigurera värd-cachen som ingen för skrivbara och skrivbara diskar.Configure host-cache as None for write-only and write-heavy disks.
ReadOnlyReadOnly Konfigurera Host-cache som skrivskyddat för skrivskyddade och Läs-och skriv diskar.Configure host-cache as ReadOnly for read-only and read-write disks.
ReadWriteReadWrite Konfigurera Host-cache enbart som ReadWrite om ditt program hanterar skrivningen av cachelagrade data korrekt till beständiga diskar vid behov.Configure host-cache as ReadWrite only if your application properly handles writing cached data to persistent disks when needed.

ReadOnlyReadOnly
Genom att konfigurera ReadOnly-cachelagring på Premium Storage data diskar kan du få låg Läs fördröjning och få mycket hög Läs-IOPS och data flöde för ditt program.By configuring ReadOnly caching on Premium Storage data disks, you can achieve low Read latency and get very high Read IOPS and Throughput for your application. Detta beror på två orsaker,This is due two reasons,

  1. Läsningar som utförs från cache, som finns på det virtuella dator minnet och lokal SSD, är mycket snabbare än läsningar från data disken, som finns i Azure Blob Storage.Reads performed from cache, which is on the VM memory and local SSD, are much faster than reads from the data disk, which is on the Azure blob storage.
  2. Premium Storage räknar inte vilka läsningar som hanteras från cachen, mot diskens IOPS och data flöde.Premium Storage does not count the Reads served from cache, towards the disk IOPS and Throughput. Därför kan ditt program uppnå högre total IOPS och data flöde.Therefore, your application is able to achieve higher total IOPS and Throughput.

ReadWriteReadWrite
Som standard har OS-diskar ReadWrite-cachelagring aktiverat.By default, the OS disks have ReadWrite caching enabled. Vi har nyligen lagt till stöd för ReadWrite-cachelagring på data diskar även.We have recently added support for ReadWrite caching on data disks as well. Om du använder ReadWrite-cachelagring måste du ha ett korrekt sätt att skriva data från cache till beständiga diskar.If you are using ReadWrite caching, you must have a proper way to write the data from cache to persistent disks. SQL Server hanterar till exempel att skriva cachelagrade data till de beständiga lagrings diskarna.For example, SQL Server handles writing cached data to the persistent storage disks on its own. Att använda ReadWrite cache med ett program som inte hanterar beständiga data kan leda till data förlust, om den virtuella datorn kraschar.Using ReadWrite cache with an application that does not handle persisting the required data can lead to data loss, if the VM crashes.

IngaNone
För närvarande stöds ingen på data diskar.Currently, None is only supported on data disks. Den stöds inte på OS-diskar.It is not supported on OS disks. Om du anger ingen på en operativ system disk åsidosätts detta internt och anges som skrivskyddad.If you set None on an OS disk it will override this internally and set it to ReadOnly.

Du kan till exempel använda dessa rikt linjer för att SQL Server som körs på Premium Storage genom att göra följande:As an example, you can apply these guidelines to SQL Server running on Premium Storage by doing the following,

  1. Konfigurera "ReadOnly"-cache på Premium Storage-diskar som värd för data filer.Configure "ReadOnly" cache on premium storage disks hosting data files.
    a.a. Snabb läsningarna från cachen sänker tiden för SQL Server fråga eftersom data sidor hämtas mycket snabbare från cachen jämfört med direkt från data diskarna.The fast reads from cache lower the SQL Server query time since data pages are retrieved much faster from the cache compared to directly from the data disks.
    b.b. Att betjäna läsningar från cache innebär att det finns ytterligare data flöde tillgängliga från Premium data diskar.Serving reads from cache, means there is additional Throughput available from premium data disks. SQL Server kan använda detta ytterligare data flöde för att hämta fler data sidor och andra åtgärder som säkerhets kopiering/återställning, batch-belastning och index återuppbyggnad.SQL Server can use this additional Throughput towards retrieving more data pages and other operations like backup/restore, batch loads, and index rebuilds.
  2. Konfigurera cachen "inget" på Premium Storage-diskar som är värd för loggfilerna.Configure "None" cache on premium storage disks hosting the log files.
    a.a. Loggfiler har främst Skriv åtgärder.Log files have primarily write-heavy operations. Därför drar de inte ut den skrivskyddade cachen.Therefore, they do not benefit from the ReadOnly cache.

Optimera prestanda på virtuella Linux-datorerOptimize performance on Linux VMs

För alla Premium-SSD eller Ultra disks kan du eventuellt inaktivera "barriärer" för fil system på disken för att förbättra prestandan när det är känt att det inte finns några cacheminnen som kan förlora data.For all premium SSDs or ultra disks, you may be able to disable “barriers” for file systems on the disk in order to improve performance when it is known that there are no caches that could lose data. Om Azure-diskcachelagring är inställt på ReadOnly eller ingen kan du inaktivera barriärer.If Azure disk caching is set to ReadOnly or None, you can disable barriers. Men om cachelagring är inställt på ReadWrite bör barriärerna förbli aktiverade för att säkerställa Skriv tåligheten.But if caching is set to ReadWrite, barriers should remain enabled to ensure write durability. Barriärer är vanligt vis aktiverade som standard, men du kan inaktivera barriärer med någon av följande metoder beroende på typ av fil system:Barriers are typically enabled by default, but you can disable barriers using one of the following methods depending on the file system type:

  • För reiserFSanvänder du alternativet barriär = ingen montering för att inaktivera barriärer.For reiserFS, use the barrier=none mount option to disable barriers. Använd barriär = Flush för att uttryckligen aktivera hinder.To explicitly enable barriers, use barrier=flush.
  • För EXT3/Ext4använder du alternativet barriär = 0 montering för att inaktivera barriärer.For ext3/ext4, use the barrier=0 mount option to disable barriers. Använd barriär = 1 för att uttryckligen aktivera barriärer.To explicitly enable barriers, use barrier=1.
  • För xfsanvänder du monterings alternativet nobarriär för att inaktivera barriärer.For XFS, use the nobarrier mount option to disable barriers. Använd barriärer för att uttryckligen aktivera barriärer.To explicitly enable barriers, use barrier. Observera att i senare Linux-kernel-versioner säkerställer utformningen av XFS-filsystemet alltid hållbarhet och inaktive ring av barriärer har ingen påverkan.Note that in later Linux kernel versions, the design of XFS file system always ensures durability, and disabling barriers has no effect.

Disk randningDisk striping

När en virtuell dator med hög skalning är kopplad till flera beständiga diskar för Premium Storage kan diskarna slås samman för att aggregera deras IOPs-, bandbredds-och lagrings kapacitet.When a high scale VM is attached with several premium storage persistent disks, the disks can be striped together to aggregate their IOPs, bandwidth, and storage capacity.

I Windows kan du använda lagrings utrymmen för att Stripa diskar tillsammans.On Windows, you can use Storage Spaces to stripe disks together. Du måste konfigurera en kolumn för varje disk i en pool.You must configure one column for each disk in a pool. Annars kan den övergripande prestandan för stripe-volymer vara lägre än förväntat, på grund av ojämn fördelning av trafik över diskarna.Otherwise, the overall performance of striped volume can be lower than expected, due to uneven distribution of traffic across the disks.

Viktigt: med Serverhanteraren användar gränssnitt kan du ange det totala antalet kolumner upp till 8 för en stripe-volym.Important: Using Server Manager UI, you can set the total number of columns up to 8 for a striped volume. När du ansluter fler än åtta diskar använder du PowerShell för att skapa volymen.When attaching more than eight disks, use PowerShell to create the volume. Med hjälp av PowerShell kan du ange antalet kolumner som motsvarar antalet diskar.Using PowerShell, you can set the number of columns equal to the number of disks. Till exempel, om det finns 16 diskar i en enda stripe-uppsättning. Ange 16 kolumner i parametern NumberOfColumns för PowerShell-cmdleten New-VirtualDisk .For example, if there are 16 disks in a single stripe set; specify 16 columns in the NumberOfColumns parameter of the New-VirtualDisk PowerShell cmdlet.

I Linux använder du MDADM-verktyget för att Stripa diskar tillsammans.On Linux, use the MDADM utility to stripe disks together. Detaljerade anvisningar om hur du tar bort diskar i Linux, se Konfigurera programvaru-RAID på Linux.For detailed steps on striping disks on Linux refer to Configure Software RAID on Linux.

Rand storlekStripe Size
En viktig konfiguration i disk ränder är stripe-storleken.An important configuration in disk striping is the stripe size. Stripe-storlek eller block storlek är det minsta data segmentet som programmet kan adressera på en stripe-volym.The stripe size or block size is the smallest chunk of data that application can address on a striped volume. Stripe-storleken som du konfigurerar beror på typen av program och dess fråge mönster.The stripe size you configure depends on the type of application and its request pattern. Om du väljer fel rand storlek kan det leda till i/o-fel i i/o, vilket leder till försämrade prestanda för ditt program.If you choose the wrong stripe size, it could lead to IO misalignment, which leads to degraded performance of your application.

Om t. ex. en IO-begäran som genererats av ditt program är större än storleken på disk stripe skriver lagrings systemet det över stripe-enhetens gränser på mer än en disk.For example, if an IO request generated by your application is bigger than the disk stripe size, the storage system writes it across stripe unit boundaries on more than one disk. När det är dags att komma åt dessa data måste de söka i fler än en rand enhet för att slutföra begäran.When it is time to access that data, it will have to seek across more than one stripe units to complete the request. Den kumulativa påverkan av sådant beteende kan leda till avsevärd prestanda försämring.The cumulative effect of such behavior can lead to substantial performance degradation. Å andra sidan, om storleken på IO-begärandena är mindre än stripe-storlek, och om den är slumpmässig i natur, kan IO-begärandena lägga till upp på samma disk som orsakar en Flask hals och i slut ändan försämra IO-prestandan.On the other hand, if the IO request size is smaller than stripe size, and if it is random in nature, the IO requests may add up on the same disk causing a bottleneck and ultimately degrading the IO performance.

Välj en lämplig rand storlek beroende på vilken typ av arbets belastning ditt program körs på.Depending on the type of workload your application is running, choose an appropriate stripe size. Använd en mindre rand storlek för slumpmässiga små IO-begäranden.For random small IO requests, use a smaller stripe size. För stora sekventiella IO-begäranden används en större rand storlek.Whereas for large sequential IO requests use a larger stripe size. Ta reda på rand storleks rekommendationerna för det program som du kommer att köra på Premium Storage.Find out the stripe size recommendations for the application you will be running on Premium Storage. För SQL Server konfigurerar du stripe-storlek på 64 KB för OLTP-arbetsbelastningar och 256 KB för arbets belastningar för data lager.For SQL Server, configure stripe size of 64 KB for OLTP workloads and 256 KB for data warehousing workloads. Mer information finns i metod tips för prestanda för SQL Server på virtuella Azure-datorer .See Performance best practices for SQL Server on Azure VMs to learn more.

Anteckning

Du kan ta bort högst 32 Premium Storage-diskar på en VM för VM-serien och 64 Premium Storage-diskar på en virtuell GS-serien.You can stripe together a maximum of 32 premium storage disks on a DS series VM and 64 premium storage disks on a GS series VM.

Multi-threadingMulti-threading

Azure har utformat Premium Storage plattform för att vara massivt parallell.Azure has designed Premium Storage platform to be massively parallel. Ett program med flera trådar uppnår därför mycket högre prestanda än ett enda trådat program.Therefore, a multi-threaded application achieves much higher performance than a single-threaded application. Ett program med flera trådar delar upp sina aktiviteter över flera trådar och ökar effektiviteten i körningen genom att använda den virtuella datorns och disk resurserna till max.A multi-threaded application splits up its tasks across multiple threads and increases efficiency of its execution by utilizing the VM and disk resources to the maximum.

Om ditt program till exempel körs på en enskild kärn virtuell dator med två trådar, kan Processorn växla mellan de två trådarna för att uppnå effektiviteten.For example, if your application is running on a single core VM using two threads, the CPU can switch between the two threads to achieve efficiency. Även om en tråd väntar på att en disk i/o ska slutföras, kan CPU: n växla till den andra tråden.While one thread is waiting on a disk IO to complete, the CPU can switch to the other thread. På så sätt kan två trådar utföra mer än en enskild tråd.In this way, two threads can accomplish more than a single thread would. Om den virtuella datorn har mer än en kärna minskar den ytterligare körnings tiden eftersom varje kärna kan köra aktiviteter parallellt.If the VM has more than one core, it further decreases running time since each core can execute tasks in parallel.

Du kanske inte kan ändra hur ett program utanför hyllan implementerar enkel trådning eller flera trådar.You may not be able to change the way an off-the-shelf application implements single threading or multi-threading. SQL Server kan till exempel hantera multi-CPU och flera kärnor.For example, SQL Server is capable of handling multi-CPU and multi-core. SQL Server bestämmer dock under vilka omständigheter som ska utnyttja en eller flera trådar för att bearbeta en fråga.However, SQL Server decides under what conditions it will leverage one or more threads to process a query. Den kan köra frågor och skapa index med flera trådar.It can run queries and build indexes using multi-threading. För en fråga som involverar koppling av stora tabeller och sortering av data innan användaren återgår till användaren, kommer SQL Server förmodligen att använda flera trådar.For a query that involves joining large tables and sorting data before returning to the user, SQL Server will likely use multiple threads. En användare kan dock inte styra om SQL Server kör en fråga med hjälp av en enda tråd eller flera trådar.However, a user cannot control whether SQL Server executes a query using a single thread or multiple threads.

Det finns konfigurations inställningar som du kan ändra för att påverka den här multi-threading-eller parallell bearbetningen av ett program.There are configuration settings that you can alter to influence this multi-threading or parallel processing of an application. Om SQL Server till exempel den högsta graden av Parallel-konfiguration.For example, in case of SQL Server it is the maximum Degree of Parallelism configuration. Den här inställningen kallas MAXDOP, som gör att du kan konfigurera det maximala antalet processorer SQL Server kan använda vid parallell bearbetning.This setting called MAXDOP, allows you to configure the maximum number of processors SQL Server can use when parallel processing. Du kan konfigurera MAXDOP för enskilda frågor eller index åtgärder.You can configure MAXDOP for individual queries or index operations. Detta är fördelaktigt när du vill balansera resurser i systemet för ett kritiskt prestanda program.This is beneficial when you want to balance resources of your system for a performance critical application.

Anta till exempel att ditt program använder SQL Server köra en stor fråga och en index åtgärd på samma tid.For example, say your application using SQL Server is executing a large query and an index operation at the same time. Låt oss anta att du vill att index åtgärden ska vara mer utförd jämfört med den stora frågan.Let us assume that you wanted the index operation to be more performant compared to the large query. I sådana fall kan du ange MAXDOP-värdet för index åtgärden som är högre än MAXDOP-värdet för frågan.In such a case, you can set MAXDOP value of the index operation to be higher than the MAXDOP value for the query. På så sätt har SQL Server fler processorer som kan utnyttjas för index åtgärden jämfört med antalet processorer som det kan tilldela till den stora frågan.This way, SQL Server has more number of processors that it can leverage for the index operation compared to the number of processors it can dedicate to the large query. Kom ihåg att du inte styr antalet trådar som SQL Server används för varje åtgärd.Remember, you do not control the number of threads SQL Server will use for each operation. Du kan kontrol lera hur många processorer som är dedikerade för flera trådar.You can control the maximum number of processors being dedicated for multi-threading.

Lär dig mer om grader av parallellitet i SQL Server.Learn more about Degrees of Parallelism in SQL Server. Ta reda på sådana inställningar som påverkar flera trådar i ditt program och deras konfigurationer för att optimera prestanda.Find out such settings that influence multi-threading in your application and their configurations to optimize performance.

KödjupQueue depth

Ködjup eller köns längd eller kös Tor lek är antalet väntande IO-begäranden i systemet.The queue depth or queue length or queue size is the number of pending IO requests in the system. Värdet för Queue-djupet avgör hur många IO-åtgärder som programmet kan hantera, vilket innebär att lagrings diskarna bearbetas.The value of queue depth determines how many IO operations your application can line up, which the storage disks will be processing. Det påverkar alla de tre program prestanda indikatorer som vi beskrivit i den här artikeln, nämligen, IOPS, data flöde och svars tid.It affects all the three application performance indicators that we discussed in this article viz., IOPS, throughput, and latency.

Ködjup och multi-threading är nära relaterade.Queue Depth and multi-threading are closely related. Värdet för ködjup anger hur mycket flera trådar som kan uppnås av programmet.The Queue Depth value indicates how much multi-threading can be achieved by the application. Om ködjup är stort kan programmet köra fler åtgärder samtidigt, med andra ord, mer multi-threading.If the Queue Depth is large, application can execute more operations concurrently, in other words, more multi-threading. Om ködjup är litet, även om programmet är flertrådadt, så har det inte tillräckligt många begär Anden för samtidig körning.If the Queue Depth is small, even though application is multi-threaded, it will not have enough requests lined up for concurrent execution.

Du kan vanligt vis inte ändra ködjup på grund av hylletiketter, eftersom om inställningen är felaktig blir det svårare än så.Typically, off the shelf applications do not allow you to change the queue depth, because if set incorrectly it will do more harm than good. Programmet kommer att ange rätt värde för ködjup för att få optimala prestanda.Applications will set the right value of queue depth to get the optimal performance. Det är dock viktigt att förstå det här konceptet så att du kan felsöka prestanda problem med programmet.However, it is important to understand this concept so that you can troubleshoot performance issues with your application. Du kan också titta på effekterna av ködjup genom att köra benchmarking-verktyg på systemet.You can also observe the effects of queue depth by running benchmarking tools on your system.

Vissa program tillhandahåller inställningar för att påverka köns djupet.Some applications provide settings to influence the Queue Depth. Till exempel inställningen MAXDOP (maximal grad av parallellitet) i SQL Server förklaras i föregående avsnitt.For example, the MAXDOP (maximum degree of parallelism) setting in SQL Server explained in previous section. MAXDOP är ett sätt att påverka ködjup och multi-threading, även om det inte direkt ändrar värdet för ködjup för SQL Server.MAXDOP is a way to influence Queue Depth and multi-threading, although it does not directly change the Queue Depth value of SQL Server.

Högt ködjupHigh queue depth
Ett högt ködjup raderar fler åtgärder på disken.A high queue depth lines up more operations on the disk. Disken känner igen nästa förfrågan i kön i förväg.The disk knows the next request in its queue ahead of time. Det innebär att disken kan schemalägga åtgärder i förväg och bearbeta dem i en optimal sekvens.Consequently, the disk can schedule operations ahead of time and process them in an optimal sequence. Eftersom programmet skickar fler begär anden till disken kan disken bearbeta mer Parallel IOs.Since the application is sending more requests to the disk, the disk can process more parallel IOs. Slutligen kommer programmet att kunna uppnå högre IOPS.Ultimately, the application will be able to achieve higher IOPS. Eftersom programmet bearbetar fler förfrågningar ökar även det totala data flödet för programmet.Since application is processing more requests, the total Throughput of the application also increases.

Ett program kan normalt uppnå maximalt data flöde med 8-16 + utestående IOs per ansluten disk.Typically, an application can achieve maximum Throughput with 8-16+ outstanding IOs per attached disk. Om ett ködjup är ett, skickar programmet inte tillräckligt med IOs till systemet, och det bearbetar mindre mängd under en viss period.If a queue depth is one, application is not pushing enough IOs to the system, and it will process less amount of in a given period. Med andra ord, mindre data flöde.In other words, less Throughput.

Till exempel, i SQL Server, ställer in MAXDOP-värdet för en fråga på "4" informerar SQL Server att den kan använda upp till fyra kärnor för att köra frågan.For example, in SQL Server, setting the MAXDOP value for a query to "4" informs SQL Server that it can use up to four cores to execute the query. SQL Server avgör vad som är det bästa värdet för ködjup och antalet kärnor för frågekörningen.SQL Server will determine what is best queue depth value and the number of cores for the query execution.

Optimalt ködjupOptimal queue depth
Mycket högt värde för ködjup har också sina nack delar.Very high queue depth value also has its drawbacks. Om värdet för ködjup är för högt försöker programmet att köra mycket höga IOPS.If queue depth value is too high, the application will try to drive very high IOPS. Om inte programmet har permanenta diskar med tillräckligt etablerade IOPS kan detta påverka program fördröjningar negativt.Unless application has persistent disks with sufficient provisioned IOPS, this can negatively affect application latencies. Följande formel visar relationen mellan IOPS, svars tid och ködjup.Following formula shows the relationship between IOPS, latency, and queue depth.
Ett diagram som visar formeln I O P S gånger svars tiden är lika med ködjup.A diagram showing the equation I O P S times latency equals Queue Depth.

Du bör inte konfigurera ködjup till något högt värde, men till ett optimalt värde som kan leverera tillräckligt med IOPS för programmet utan att påverka fördröjning.You should not configure Queue Depth to any high value, but to an optimal value, which can deliver enough IOPS for the application without affecting latencies. Om programmets fördröjning till exempel måste vara 1 millisekund måste det ködjup som krävs för att uppnå 5 000 IOPS vara KÖDJUP = 5000 x 0,001 = 5.For example, if the application latency needs to be 1 millisecond, the Queue Depth required to achieve 5,000 IOPS is, QD = 5000 x 0.001 = 5.

Ködjup för stripe-volymQueue Depth for Striped Volume
För en stripe-volym upprätthåller du ett högt tillräckligt ködjup så att varje disk har ett djup ködjup individuellt.For a striped volume, maintain a high enough queue depth such that, every disk has a peak queue depth individually. Överväg till exempel ett program som pushar ett ködjup på 2 och det finns fyra diskar i stripen.For example, consider an application that pushes a queue depth of 2 and there are four disks in the stripe. De två IO-begärandena skickas till två diskar och återstående två diskar är inaktiva.The two IO requests will go to two disks and remaining two disks will be idle. Konfigurera därför köns djupet så att alla diskar kan vara upptagna.Therefore, configure the queue depth such that all the disks can be busy. I formeln nedan visas hur du fastställer ködjup för stripe-volymer.Formula below shows how to determine the queue depth of striped volumes.
Ett diagram som visar ekvationen Q D per disk gånger antalet kolumner per volym motsvarar Q D för stripe-volymer.A diagram showing the equation Q D per Disk times number of columns per volume equals Q D of Striped Volume.

BegränsningThrottling

Azure Premium Storage etablerar det angivna antalet IOPS och data flöden beroende på vilka VM-storlekar och disk storlekar du väljer.Azure Premium Storage provisions specified number of IOPS and Throughput depending on the VM sizes and disk sizes you choose. När ditt program försöker köra IOPS eller data flödet ovanför de här gränserna för vad den virtuella datorn eller disken kan hantera, kommer Premium Storage att reglera den.Anytime your application tries to drive IOPS or Throughput above these limits of what the VM or disk can handle, Premium Storage will throttle it. Detta manifest i form av försämrade prestanda i ditt program.This manifests in the form of degraded performance in your application. Detta kan betyda högre latens, lägre data flöde eller lägre IOPS.This can mean higher latency, lower Throughput, or lower IOPS. Om Premium Storage inte begränsas kan programmet bli helt misslyckat genom att överskrida vad dess resurser kan uppnå.If Premium Storage does not throttle, your application could completely fail by exceeding what its resources are capable of achieving. För att undvika prestanda problem på grund av begränsning, ska du alltid tillhandahålla tillräckligt med resurser för ditt program.So, to avoid performance issues due to throttling, always provision sufficient resources for your application. Ta hänsyn till vad vi har diskuterat i avsnitten VM-storlekar och disk storlekar ovan.Take into consideration what we discussed in the VM sizes and Disk sizes sections above. Benchmarking är det bästa sättet att ta reda på vilka resurser du behöver för att vara värd för ditt program.Benchmarking is the best way to figure out what resources you will need to host your application.

Nästa stegNext steps

Om du vill mäta din disk kan du läsa våra artiklar om att mäta en disk:If you are looking to benchmark your disk, see our articles on benchmarking a disk:

Läs mer om tillgängliga disk typer:Learn more about the available disk types:

För SQL Server användare läser du artiklar om bästa metoder för prestanda för SQL Server:For SQL Server users, read articles on Performance Best Practices for SQL Server: