Azure Storage Premium: Entwurf für hohe LeistungAzure premium storage: design for high performance

Dieser Artikel bietet Leitlinien zum Erstellen leistungsstarker Anwendungen mit Azure Storage Premium.This article provides guidelines for building high performance applications using Azure Premium Storage. Sie können die Anweisungen in diesem Dokument kombiniert mit den bewährten Methoden für hohe Leistung befolgen, die für von Ihrer Anwendung verwendeten Technologien gelten.You can use the instructions provided in this document combined with performance best practices applicable to technologies used by your application. Um die Leitlinien zu veranschaulichen, haben wir SQL Server in Storage Premium im gesamten Dokument als Beispiel verwendet.To illustrate the guidelines, we have used SQL Server running on Premium Storage as an example throughout this document.

Während wir uns in diesem Artikel mit leistungsbezogenen Szenarien auf der Speicherebene beschäftigen, ist es Ihre Aufgabe, die Anwendungsebene zu optimieren.While we address performance scenarios for the Storage layer in this article, you will need to optimize the application layer. Wenn z. B. Sie eine SharePoint-Farm in Azure Storage Premium hosten, können die SQL Server-Beispiele in diesem Artikel zum Optimieren des Datenbankservers verwenden.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. Optimieren Sie darüber hinaus den Webserver und Anwendungsserver der SharePoint-Farm, um die beste Leistung zu erzielen.Additionally, optimize the SharePoint Farm's Web server and Application server to get the most performance.

In diesem Artikel werden häufig gestellte Fragen zum Optimieren der Anwendungsleistung in Azure Storage Premium beantwortet:This article will help answer following common questions about optimizing application performance on Azure Premium Storage,

  • Wie kann die Leistung Ihrer Anwendung gemessen werden?How to measure your application performance?
  • Warum erzielen Sie nicht die erwartete hohe Leistung?Why are you not seeing expected high performance?
  • Welche Faktoren beeinflussen die Anwendungsleistung in Storage Premium?Which factors influence your application performance on Premium Storage?
  • Wie wirken sich diese Faktoren auf die Leistung Ihrer Anwendung in Storage Premium aus?How do these factors influence performance of your application on Premium Storage?
  • Wie kann eine Optimierung hinsichtlich IOPS, Bandbreite und Latenz erfolgen?How can you optimize for IOPS, Bandwidth and Latency?

Wir stellen diese Leitlinien speziell für Storage Premium bereit, da in Storage Premium ausgeführte Workloads überaus leistungsabhängig sind.We have provided these guidelines specifically for Premium Storage because workloads running on Premium Storage are highly performance sensitive. Sofern hilfreich, stellen wir Beispiele bereit.We have provided examples where appropriate. Einige dieser Leitlinien können auch für Anwendungen befolgt werden, die auf virtuellen IaaS-Computern mit Storage Standard-Datenträgern ausgeführt werden.You can also apply some of these guidelines to applications running on IaaS VMs with Standard Storage disks.

Hinweis

Manchmal ist ein vermutetes Problem mit der Datenträgerleistung tatsächlich ein Engpass.Sometimes, what appears to be a disk performance issue is actually a network bottleneck. In solchen Fällen sollten Sie Ihre Netzwerkleistung optimieren.In these situations, you should optimize your network performance.

Wenn Sie für Ihren Datenträger einen Benchmarktest durchführen möchten, finden Sie weitere Informationen in unserem Artikel Benchmarktests für einen Datenträger.If you are looking to benchmark your disk, see our article on Benchmarking a disk.

Wenn Ihr virtueller Computer den beschleunigten Netzwerkbetrieb unterstützt, stellen Sie sicher, dass dieser aktiviert ist.If your VM supports accelerated networking, you should make sure it is enabled. Wenn er nicht aktiviert ist, können Sie ihn sowohl unter Windows als auch Linux auf bereits bereitgestellten virtuellen Computern aktivieren.If it is not enabled, you can enable it on already deployed VMs on both Windows and Linux.

Falls Sie noch nicht mit Storage Premium vertraut sind, lesen Sie zunächst die Artikel Auswählen eines Azure-Datenträgertyps für IaaS VMs und Azure Storage-Skalierbarkeits- und Leistungsziele für Speicherkonten.Before you begin, if you are new to Premium Storage, first read the Select an Azure disk type for IaaS VMs and Azure Storage scalability and performance targets for storage accounts.

AnwendungsleistungsindikatorenApplication performance indicators

Die Leistung einer Anwendung (ob gut oder schlecht) bewerten wir mithilfe von Leistungsindikatoren wie z. B. Geschwindigkeit der Verarbeitung einer Benutzeranforderung, Menge der verarbeiteten Daten pro Anforderung, Anzahl der in einem bestimmten Zeitraum verarbeiteten Anforderungen und Wartezeit des Benutzers auf eine Antwort nach Übermittlung einer Anforderung.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. Die technische Begriffe für diese Leistungsindikatoren sind IOPS, Durchsatz oder Bandbreite und Latenz (Wartezeit).The technical terms for these performance indicators are, IOPS, Throughput or Bandwidth, and Latency.

In diesem Abschnitt erörtern wir gängige Leistungsindikatoren im Zusammenhang mit Storage Premium.In this section, we will discuss the common performance indicators in the context of Premium Storage. Im folgenden Abschnitt, „Erfassen von Anwendungsanforderungen“, erfahren Sie, wie Sie diese Leistungsindikatoren für Ihre Anwendung messen.In the following section, Gathering Application Requirements, you will learn how to measure these performance indicators for your application. Im Anschluss lernen Sie unter „Optimieren der Anwendungsleistung“ die Faktoren, die sich auf diese Leistungsindikatoren auswirken, und Empfehlungen zu ihrer Optimierung kennen.Later in Optimizing Application Performance, you will learn about the factors affecting these performance indicators and recommendations to optimize them.

IOPSIOPS

Mit der Einheit IOPS (I/O Operations per Second, E/A-Vorgänge/Sek.) wird die Anzahl der Anforderungen angegeben, die Ihre Anwendung pro Sekunde an Speicherdatenträger sendet.IOPS, or Input/output Operations Per Second, is the number of requests that your application is sending to the storage disks in one second. Ein E/A-Vorgang kann ein sequenzieller oder zufälliger Lese- oder Schreibvorgang sein.An input/output operation could be read or write, sequential, or random. OLTP-Anwendungen (Online Transaction Processing, Onlinetransaktionsverarbeitung) wie die Website eines Onlinehändlers müssen viele gleichzeitige Benutzeranforderungen sofort verarbeiten.Online Transaction Processing (OLTP) applications like an online retail website need to process many concurrent user requests immediately. Die Benutzeranforderungen sind einfüge- und aktualisierungsintensive Datenbanktransaktionen, die die Anwendung rasch verarbeiten muss.The user requests are insert and update intensive database transactions, which the application must process quickly. Deshalb benötigen OLTP-Anwendungen eine sehr hohe IOPS-Leistung.Therefore, OLTP applications require very high IOPS. Solche Anwendungen verarbeiten Millionen kleiner und zufälliger E/A-Anforderungen.Such applications handle millions of small and random IO requests. Wenn Sie eine solche Anwendung haben, müssen Sie die Anwendungsinfrastruktur für die IOPS-Optimierung entwerfen.If you have such an application, you must design the application infrastructure to optimize for IOPS. Im Abschnitt Optimieren der Anwendungsleistungweiter unten erörtert wir detailliert alle Faktoren, die Sie berücksichtigen müssen, um hohe IOPS-Raten zu erzielen.In the later section, Optimizing Application Performance, we discuss in detail all the factors that you must consider to get high IOPS.

Wenn Sie einen Storage Premium-Datenträger an Ihre Hochleistungs-VM anfügen, stellt Ihnen Azure gemäß der Datenträgerspezifikation eine garantierte IOPS-Anzahl bereit.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. Beispielsweise stellt ein Datenträger vom Typ „P50“ 7500 IOPS bereit.For example, a P50 disk provisions 7500 IOPS. Jeder Typ von Hochleistungs-VM weist außerdem einen bestimmtes IOPS-Limit auf.Each high scale VM size also has a specific IOPS limit that it can sustain. Bei einer Standard-VM vom Typ GS5 ist das Limit beispielsweise 80.000 IOPS.For example, a Standard GS5 VM has 80,000 IOPS limit.

ThroughputThroughput

Durchsatz oder Bandbreite ist die Menge der Daten, die Ihre Anwendung in einem angegebenen Intervall an die Speicherdatenträger überträgt.Throughput, or bandwidth is the amount of data that your application is sending to the storage disks in a specified interval. Wenn Ihre Anwendung E/A-Vorgänge mit hohen E/A-Einheitsgrößen durchführt, benötigt sie hohen Durchsatz.If your application is performing input/output operations with large IO unit sizes, it requires high throughput. Data Warehouse-Anwendungen führen meist suchintensive Vorgänge, bei denen jeweils auf große Datenmengen zugegriffen wird, und üblicherweise Massenvorgänge durch.Data warehouse applications tend to issue scan intensive operations that access large portions of data at a time and commonly perform bulk operations. Aus diesem Grund erfordern solche Anwendungen einen höheren Durchsatz.In other words, such applications require higher throughput. Wenn Sie eine solche Anwendung haben, müssen Sie die Anwendungsinfrastruktur für eine Durchsatzoptimierung entwerfen.If you have such an application, you must design its infrastructure to optimize for throughput. Im nächsten Abschnitt geht es im Detail um die Faktoren, die Sie optimieren müssen, um dies zu erreichen.In the next section, we discuss in detail the factors you must tune to achieve this.

Wenn Sie einen Storage Premium-Datenträger an eine Hochleistungs-VM anfügen, bietet Azure Durchsatz gemäß der Spezifikation dieses Datenträgers.When you attach a premium storage disk to a high scale VM, Azure provisions throughput as per that disk specification. Ein P50-Datenträger stellt z.B. einen Datenträgerdurchsatz von 250 MB pro Sekunde bereit.For example, a P50 disk provisions 250 MB per second disk throughput. Jeder Typ von Hochleistungs-VM weist außerdem ein bestimmtes Durchsatzlimit auf.Each high scale VM size also has as specific throughput limit that it can sustain. Eine Standard-VM vom Typ GS5 bietet beispielsweise einen maximalen Durchsatz von 2.000 MB pro Sekunde.For example, Standard GS5 VM has a maximum throughput of 2,000 MB per second.

Zwischen Durchsatz und IOPS gibt es, wie in der folgenden Formel dargestellt, eine Beziehung.There is a relation between throughput and IOPS as shown in the formula below.

Beziehung zwischen IOPS und Durchsatz

Aus diesem Grund ist es wichtig, die optimalen Durchsatz- und IOPS-Werte zu bestimmen, die Ihre Anwendung benötigt.Therefore, it is important to determine the optimal throughput and IOPS values that your application requires. Beim Versuch, einen der Faktoren zu optimieren, ist der andere ebenfalls betroffen.As you try to optimize one, the other also gets affected. Im Abschnitt Optimieren der Anwendungsleistungweiter unten werden weitere Details zum Optimieren von IOPS und Durchsatz erläutert.In a later section, Optimizing Application Performance, we will discuss in more details about optimizing IOPS and Throughput.

LatencyLatency

Latenz ist die Zeit, die eine Anwendung zum Empfangen einer einzelnen Anforderung, deren Übertragung an die Speicherdatenträger und zum Zurücksenden der Antwort an den Client benötigt.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. Neben IOPS und Durchsatz ist dies ein weiterer wichtiger Messwert für die Leistung einer Anwendung.This is a critical measure of an application's performance in addition to IOPS and Throughput. Die Latenz eines Storage Premium-Datenträgers ist die benötigte Zeit zum Abrufen der Informationen für eine Anforderung und deren Übermittlung zurück an die Anwendung.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. Storage Premium bietet durchgängig eine niedrige Latenz.Premium Storage provides consistent low latencies. Premium-Datenträger bieten für die meisten E/A-Vorgänge Latenzen im einstelligen Millisekundenbereich.Premium Disks are designed to provide single-digit millisecond latencies for most IO operations. Wenn Sie das Hostcache-Einstellung „ReadOnly“ für Storage Premium-Datenträger aktivieren, erhalten Sie bei Lesevorgängen eine wesentlich niedrigere Latenz.If you enable ReadOnly host caching on premium storage disks, you can get much lower read latency. Der Datenträgercache wird weiter unten im Abschnitt Optimieren der Anwendungsleistungausführlicher erläutert.We will discuss Disk Caching in more detail in later section on Optimizing Application Performance.

Wenn Sie Ihre Anwendung optimieren, um höhere IOPS- und Durchsatzwerte zu erzielen, wirkt sich dies auf die Latenz der Anwendung aus.When you are optimizing your application to get higher IOPS and Throughput, it will affect the latency of your application. Prüfen Sie nach einer Optimierung der Anwendungsleistung stets die Latenz, um unerwartet hohe Latenzen zu vermeiden.After tuning the application performance, always evaluate the latency of the application to avoid unexpected high latency behavior.

Die folgenden Vorgänge auf Steuerungsebene auf verwalteten Datenträgern können das Verschieben des Datenträgers von einem Speicherort zu einem anderen beinhalten.The following control plane operations on Managed Disks may involve movement of the Disk from one Storage location to another. Dies wird über eine Hintergrundkopie der Daten orchestriert, die bis zum Abschluss mehrere Stunden dauern kann, je nach der Menge der Daten auf den Datenträgern meist weniger als 24 Stunden.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. Während dieser Zeit können bei Ihrer Anwendung höhere Latenzen bei Lesevorgängen als üblich auftreten, da einige Lesevorgänge an den ursprünglichen Speicherort umgeleitet werden können, sodass es länger dauert, sie abzuschließen.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. Die Latenz beim Schreiben ist während dieses Zeitraums nicht betroffen.There is no impact on write latency during this period.

  • Aktualisieren des SpeichertypsUpdate the storage type.
  • Trennen eines Datenträgers von einer VM und Anfügen an eine andereDetach and attach a disk from one VM to another.
  • Erstellen eines verwalteten Datenträgers aus einer VHDCreate a managed disk from a VHD.
  • Erstellen eines verwalteten Datenträgers aus einer MomentaufnahmeCreate a managed disk from a snapshot.
  • Konvertieren von nicht verwalteten Datenträgern in verwaltete DatenträgerConvert unmanaged disks to managed disks.

Prüfliste für die Anwendungsleistung für DatenträgerPerformance Application Checklist for disks

Der erste Schritt beim Entwerfen hochleistungsfähiger Anwendungen in Azure Storage Premium besteht darin, sich mit den Leistungsanforderungen der Anwendung vertraut zu machen.The first step in designing high-performance applications running on Azure Premium Storage is understanding the performance requirements of your application. Nach dem Erfassen von Anforderungen können Sie Ihre Anwendung optimieren, um eine optimale Leistung zu erzielen.After you have gathered performance requirements, you can optimize your application to achieve the most optimal performance.

Im vorherigen Abschnitt wurden mit IOPS, Durchsatz und Latenz die gängigsten Leistungsindikatoren vorgestellt.In the previous section, we explained the common performance indicators, IOPS, Throughput, and Latency. Sie müssen bestimmen, welche dieser Leistungsindikatoren für Ihre Anwendung wichtig sind, um Benutzern die gewünschte Funktionalität zu bieten.You must identify which of these performance indicators are critical to your application to deliver the desired user experience. Eine hohe IOPS-Leistung spielt z. B. bei OLTP-Anwendungen, die Millionen von Transaktionen pro Sekunde verarbeiten, die größte Rolle.For example, high IOPS matters most to OLTP applications processing millions of transactions in a second. Ein hoher Durchsatz ist hingegen für Data Warehouse-Anwendungen von Bedeutung, die pro Sekunde große Datenmengen verarbeiten.Whereas, high Throughput is critical for Data Warehouse applications processing large amounts of data in a second. Eine überaus niedrige Latenz ist entscheidend für Echtzeitanwendungen wie Websites für das Livestreaming von Video.Extremely low Latency is crucial for real-time applications like live video streaming websites.

Messen Sie als Nächstes die maximalen Leistungsanforderungen der Anwendung während ihrer Lebensdauer.Next, measure the maximum performance requirements of your application throughout its lifetime. Nutzen Sie als Ausgangspunkt die nachstehende Beispielprüfliste.Use the sample checklist below as a start. Zeichnen Sie die maximalen Leistungsanforderungen von Workloads während des Normalbetriebs, zu Spitzenzeiten und außerhalb der Geschäftszeiten auf.Record the maximum performance requirements during normal, peak, and off-hours workload periods. Indem Sie Anforderungen für alle Workloadstufen bestimmen, können Sie die Gesamtleistungsanforderungen Ihrer Anwendung feststellen.By identifying requirements for all workloads levels, you will be able to determine the overall performance requirement of your application. Der normale Workload einer E-Commerce-Website besteht beispielsweise aus den Transaktionen, die während der meisten Tage eines Jahres verarbeitet werden.For example, the normal workload of an e-commerce website will be the transactions it serves during most days in a year. Den Spitzenworkload der Website bilden die Transaktionen, die in der Vorweihnachtszeit oder bei Sonderverkaufsaktionen verarbeitet werden.The peak workload of the website will be the transactions it serves during holiday season or special sale events. Der Spitzenworkload fällt meist nur in einem begrenzten Zeitraum an, kann allerdings erfordern, dass Ihre Anwendung im Vergleich zum Normalbetrieb um das Zwei- bis Dreifache skaliert werden muss.The peak workload is typically experienced for a limited period, but can require your application to scale two or more times its normal operation. Finden Sie die Anforderungen für das 50. Perzentil, das 90. Perzentil und 99. Perzentil heraus.Find out the 50 percentile, 90 percentile, and 99 percentile requirements. Dadurch können Sie Ausreißer in den Leistungsanforderungen herausfiltern und sich auf die Maßnahmen für eine Optimierung entsprechend den richtigen Werten konzentrieren.This helps filter out any outliers in the performance requirements and you can focus your efforts on optimizing for the right values.

Prüfliste für Anforderungen an die AnwendungsleistungApplication performance requirements checklist

LeistungsanforderungenPerformance requirements 50. Perzentil50 Percentile 90. Perzentil90 Percentile 99. Perzentil99 Percentile
MaximalMax. Transaktionen pro SekundeTransactions per second
% Lesevorgänge% Read operations
% Schreibvorgänge% Write operations
% zufällige Vorgänge% Random operations
% sequenzielle Vorgänge% Sequential operations
Größe der E/A-AnforderungIO request size
Durchschnittlicher DurchsatzAverage Throughput
MaximalMax. ThroughputThroughput
Min.Min. LatencyLatency
Durchschnittliche LatenzAverage Latency
MaximalMax. CPUCPU
Durchschnittliche CPU-NutzungAverage CPU
MaximalMax. ArbeitsspeicherMemory
Durchschnittliche ArbeitsspeichernutzungAverage Memory
WarteschlangenlängeQueue Depth

Hinweis

Es empfiehlt sich, diese Zahlen basierend auf dem erwarteten zukünftigen Wachstum Ihrer Anwendung zu skalieren.You should consider scaling these numbers based on expected future growth of your application. Es ist stets eine gute Idee, für Wachstum im Voraus zu planen, da es schwieriger sein könnte, die Infrastruktur zur Verbesserung der Leistung später zu ändern.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.

Wenn Sie eine vorhandene Anwendung haben, die in Storage Premium verschoben werden soll, erstellen Sie für diese Anwendung zunächst die obige Prüfliste.If you have an existing application and want to move to Premium Storage, first build the checklist above for the existing application. Erstellen Sie anschließend einen Prototyp der Anwendung in Storage Premium, und entwerfen Sie die Anwendung basierend auf den Leitlinien unter Optimieren der Anwendungsleistung weiter unten in diesem Dokument.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. Im nächsten Artikel werden die Tools beschrieben, die Sie verwenden können, um die Leistungsindikatoren zu erfassen.The next article describes the tools you can use to gather the performance measurements.

Indikatoren zum Messen der Leistungsanforderungen der AnwendungCounters to measure application performance requirements

Die beste Methode zum Messen der Leistungsanforderungen Ihrer Anwendung ist die Verwendung von Leistungsüberwachungstools, die vom Betriebssystem des Servers bereitgestellt werden.The best way to measure performance requirements of your application, is to use performance-monitoring tools provided by the operating system of the server. Sie können Systemmonitor (PerfMon) für Windows und iostat für Linux verwenden.You can use PerfMon for Windows and iostat for Linux. Diese Tools erfassen Indikatoren für jede im vorherigen Abschnitt erläuterte Messgröße.These tools capture counters corresponding to each measure explained in the above section. Sie müssen die Werte dieser Indikatoren erfassen, wenn in der Anwendung Workloads im Normalbetrieb, zu Spitzenzeiten und außerhalb der Geschäftszeiten ausgeführt werden.You must capture the values of these counters when your application is running its normal, peak, and off-hours workloads.

Die Leistungsindikatoren im Systemmonitor sind für Prozessor, Arbeitsspeicher und alle logischen und physischen Datenträger Ihres Servers verfügbar.The PerfMon counters are available for processor, memory and, each logical disk and physical disk of your server. Bei Verwenden von Storage Premium-Datenträgern mit einem virtuellen Computer gelten die Indikatoren für physische Datenträger für jeden Storage Premium-Datenträger. Die Indikatoren für logische Datenträger gelten für jedes Volume, das auf den Storage Premium-Datenträgern erstellt wurde.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. Sie müssen die Werte für die Datenträger erfassen, die den Workload Ihrer Anwendung hosten.You must capture the values for the disks that host your application workload. Wenn es eine 1: 1-Zuordnung zwischen logischen und physischen Datenträgern gilt, beziehen Sie sich auf die Leistungsindikatoren für physische Datenträger und andernfalls auf die Leistungsindikatoren für logische Datenträger.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. Unter Linux erzeugt der Befehl „iostat“ einen Bericht der CPU- und Festplattenauslastung.On Linux, the iostat command generates a CPU and disk utilization report. Der Bericht zur Datenträgerauslastung bietet Statistiken pro physischem Gerät bzw. pro Partition.The disk utilization report provides statistics per physical device or partition. Wenn Sie einen Datenbankserver mit Daten- und Protokolldateien auf getrennten Datenträgern nutzen, erfassen Sie diese Daten für beide Datenträger.If you have a database server with its data and logs on separate disks, collect this data for both disks. In der folgenden Tabelle werden die Leistungsindikatoren für Datenträger, Prozessor und Arbeitsspeicher beschrieben:Below table describes counters for disks, processors, and memory:

IndikatorCounter BESCHREIBUNGDescription SystemmonitorPerfMon iostatIostat
IOPS oder Transaktionen pro SekundeIOPS or Transactions per second Anzahl der an den Speicherdatenträger pro Sekunde erfolgten E/A-Anforderungen.Number of I/O requests issued to the storage disk per second. Lesevorgänge/sDisk Reads/sec
Schreibvorgänge/sDisk Writes/sec
tpstps
r/sr/s
w/sw/s
Lese- und Schreibvorgänge auf DatenträgerDisk Reads and Writes % der auf dem Datenträger ausgeführten Lese- und Schreibvorgänge.% of Reads and Write operations performed on the disk. % Lesezeit% Disk Read Time
% Schreibzeit% Disk Write Time
r/sr/s
w/sw/s
DurchsatzThroughput Menge der Daten, die pro Sekunde auf dem Datenträger gelesen oder geschrieben wurde.Amount of data read from or written to the disk per second. Byte gelesen/sDisk Read Bytes/sec
Byte geschrieben/sDisk Write Bytes/sec
kB_read/skB_read/s
kB_wrtn/skB_wrtn/s
LatenzLatency Zeitaufwand für das Ausführen einer E/A-Anforderung an den Datenträger.Total time to complete a disk IO request. Mittlere Sek./LesevorgängeAverage Disk sec/Read
Mittlere Sek./SchreibvorgängeAverage disk sec/Write
awaitawait
svctmsvctm
E/A-GrößeIO size Größe der an die Speicherdatenträger gesendeten E/A-Anforderungen.The size of I/O requests issues to the storage disks. Mittlere Bytes/LesevorgangAverage Disk Bytes/Read
Mittlere Bytes/SchreibvorgangAverage Disk Bytes/Write
avgrq-szavgrq-sz
WarteschlangenlängeQueue Depth Anzahl der ausstehenden E/A-Anforderungen, die vom Speicherdatenträger gelesen oder auf diesen geschrieben werden sollen.Number of outstanding I/O requests waiting to be read from or written to the storage disk. Aktuelle WarteschlangenlängeCurrent Disk Queue Length avgqu-szavgqu-sz
Max. ArbeitsspeicherMax. Memory Für die reibungslose Ausführung der Anwendung erforderlicher ArbeitsspeicherAmount of memory required to run application smoothly Zugesicherte verwendete Bytes (%)% Committed Bytes in Use vmstat verwendenUse vmstat
Max. CPUMax. CPU Für die reibungslose Ausführung der Anwendung erforderliche CPU-GrößeAmount CPU required to run application smoothly % Prozessorzeit% Processor time %util%util

Weitere Informationen zu iostat und PerfMon (Systemmonitor)Learn more about iostat and PerfMon.

Optimieren der AnwendungsleistungOptimize application performance

Die wichtigsten Faktoren für die Leistung einer Anwendung, die in Storage Premium ausgeführt wird, sind die Art der E/A-Anforderungen, VM-Größe, Datenträgergröße, Anzahl der Datenträger, die Datenträgerzwischenspeicherung, Multithreading und Warteschlangenlänge.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. Sie können einige dieser Faktoren mithilfe vom System bereitgestellter Einstellungsmöglichkeiten steuern.You can control some of these factors with knobs provided by the system. Die meisten Anwendungen bieten jedoch möglicherweise keine Option, die E/A-Größe und Warteschlangenlänge direkt zu ändern.Most applications may not give you an option to alter the IO size and Queue Depth directly. In SQL Server können Sie z. B. die E/A-Größe und Warteschlangenlänge nicht festlegen.For example, if you are using SQL Server, you cannot choose the IO size and queue depth. SQL Server wählt optimale Einstellungen für E/A-Größe und Warteschlangenlänge, um die beste Leistung zu erzielen.SQL Server chooses the optimal IO size and queue depth values to get the most performance. Es ist wichtig, die Auswirkungen beider Arten von Faktoren auf die Leistung Ihrer Anwendung zu verstehen, damit Sie entsprechende Ressourcen zum Erfüllen der Leistungsanforderungen bereitstellen können.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.

Nehmen Sie in diesem gesamten Abschnitt Bezug auf die von Ihnen erstellte Prüfliste mit den Anwendungsanforderungen, um zu bestimmen, was für die Optimierung der Leistung Ihrer Anwendung erforderlich ist.Throughout this section, refer to the application requirements checklist that you created, to identify how much you need to optimize your application performance. Auf dieser Basis können Sie bestimmen, welche Faktoren in diesem Abschnitt Sie optimieren müssen.Based on that, you will be able to determine which factors from this section you will need to tune. Führen Sie zum Überprüfen der Auswirkungen der einzelnen Faktoren auf die Anwendungsleistung Benchmarktools aus.To witness the effects of each factor on your application performance, run benchmarking tools on your application setup. Der am Ende dieses Artikels verlinkte Artikel zu Benchmarks enthält eine Anleitung zum Ausführen gängiger Benchmarktools für virtuelle Windows- und Linux-Computer.Refer to the Benchmarking article, linked at the end, for steps to run common benchmarking tools on Windows and Linux VMs.

Optimierung von IOPS, Durchsatz und Latenz auf einen BlickOptimize IOPS, throughput, and latency at a glance

In der folgenden Tabelle sind die Leistungsfaktoren und die erforderlichen Schritte zum Optimieren von IOPS, Durchsatz und Latenz aufgeführt.The table below summarizes performance factors and the steps necessary to optimize IOPS, throughput, and latency. In den Abschnitten im Anschluss an diese Übersicht werden die einzelnen Faktoren ausführlicher beschrieben.The sections following this summary will describe each factor is much more depth.

Weitere Informationen zu VM-Größen und zu den verfügbaren IOPS, Durchsätzen und Latenzen für die einzelnen Typen von virtuellen Computern finden Sie unter Linux VM-Größen bzw. Windows-VM-Größen.For more information on VM sizes and on the IOPS, throughput, and latency available for each type of VM, see Linux VM sizes or Windows VM sizes.

  IOPSIOPS DurchsatzThroughput LatenzLatency
BeispielszenarioExample Scenario OLTP-Anwendung eines Großunternehmens, die eine sehr hohe Rate von Transaktionen pro Sekunde benötigt.Enterprise OLTP application requiring very high transactions per second rate. Data Warehouse-Anwendung eines Großunternehmens, die große Datenmengen verarbeitet.Enterprise Data warehousing application processing large amounts of data. Nahezu in Echtzeit arbeitende Anwendungen, die Antworten auf Benutzeranforderungen sofort benötigen, wie z. B. Onlinespiele.Near real-time applications requiring instant responses to user requests, like online gaming.
LeistungsfaktorenPerformance factors      
E/A-GrößeIO size Kleinere E/A-Größe führt zu mehr IOPS.Smaller IO size yields higher IOPS. Höhere E/A-Größe führt zu höherem Durchsatz.Larger IO size to yields higher Throughput.  
Größe des virtuellen ComputersVM size Wählen Sie eine VM-Größe, deren IOPS die Anforderung Ihrer Anwendung übersteigt.Use a VM size that offers IOPS greater than your application requirement. Wählen Sie eine VM-Größe aus, deren Durchsatzlimit die Anforderung Ihrer Anwendung übersteigt.Use a VM size with throughput limit greater than your application requirement. Wählen Sie eine VM-Größe, deren Skalierungslimits die Anforderung Ihrer Anwendung übersteigen.Use a VM size that offers scale limits greater than your application requirement.
DatenträgergrößeDisk size Wählen Sie eine Datenträgergröße, deren IOPS die Anforderung Ihrer Anwendung übersteigt.Use a disk size that offers IOPS greater than your application requirement. Wählen Sie eine Datenträgergröße, deren Durchsatzlimit die Anforderung Ihrer Anwendung übersteigt.Use a disk size with Throughput limit greater than your application requirement. Wählen Sie eine Datenträgergröße, deren Skalierungslimits die Anforderung Ihrer Anwendung übersteigen.Use a disk size that offers scale limits greater than your application requirement.
Skalierungslimits für virtuelle Computer und DatenträgerVM and Disk Scale Limits Das IOPS-Limit der gewählten VM-Größe muss größer als die IOPS-Gesamtkapazität von Storage Premium-Datenträgern sein, die angefügt sind.IOPS limit of the VM size chosen should be greater than total IOPS driven by premium storage disks attached to it. Das Durchsatzlimit der gewählten VM-Größe muss größer als der Gesamtdurchsatz von Storage Premium-Datenträgern sein, die angefügt sind.Throughput limit of the VM size chosen should be greater than total Throughput driven by premium storage disks attached to it. Die Skalierungslimits der gewählten VM-Größe müssen größer als die Gesamtskalierungslimits von Storage Premium-Datenträgern sein, die angefügt sind.Scale limits of the VM size chosen must be greater than total scale limits of attached premium storage disks.
Nutzung des DatenträgercachesDisk Caching Aktivieren Sie den „ReadOnly“-Cache auf Storage Premium-Datenträgern mit hohem Aufkommen von Lesevorgängen, um eine höhere IOPS-Leseleistung zu erhalten.Enable ReadOnly Cache on premium storage disks with Read heavy operations to get higher Read IOPS.   Aktivieren Sie den „ReadOnly“-Cache auf Storage Premium-Datenträgern mit hohem Aufkommen von Lesevorgängen, um sehr niedrige Leselatenzen zu erzielen.Enable ReadOnly Cache on premium storage disks with Ready heavy operations to get very low Read latencies.
DatenträgerstripingDisk Striping Verwenden Sie mehrere Datenträger, und verbinden Sie sie per Striping, um durch die Kombination ein höheres IOPS- und Durchsatzlimit zu erreichen.Use multiple disks and stripe them together to get a combined higher IOPS and Throughput limit. Das kombinierte Limit pro VM muss höher als die kombinierten Limits angefügter Premium-Datenträger sein.The combined limit per VM should be higher than the combined limits of attached premium disks.    
StripegrößeStripe Size Kleinere Stripegröße für zufällige kleine E/A-Muster in OLTP-Anwendungen.Smaller stripe size for random small IO pattern seen in OLTP applications. Wählen Sie beispielsweise für eine OLTP-Anwendung mit SQL Server eine Stripegröße von 64 KB.For example, use stripe size of 64 KB for SQL Server OLTP application. Höhere Stripegröße für sequenzielle E/A-Muster in Data Warehouse-Anwendungen.Larger stripe size for sequential large IO pattern seen in Data Warehouse applications. Wählen Sie beispielsweise für Data Warehouse-Anwendungen mit SQL Server die Stripegröße 256 KB.For example, use 256 KB stripe size for SQL Server Data warehouse application.  
MultithreadingMultithreading Verwenden Sie Multithreading, um eine höhere Anzahl von Anforderungen in Storage Premium zu übertragen, was eine höhere IOPS- und Durchsatzrate zur Folge hat.Use multithreading to push higher number of requests to Premium Storage that will lead to higher IOPS and Throughput. Legen Sie z. B. für SQL Server einen hohen MAXDOP-Wert fest damit SQL Server mehr CPUs zugewiesen werden.For example, on SQL Server set a high MAXDOP value to allocate more CPUs to SQL Server.    
WarteschlangenlängeQueue Depth Höhere Warteschlangenlänge führt zu mehr IOPS.Larger Queue Depth yields higher IOPS. Höhere Warteschlangenlänge führt zu höherem Durchsatz.Larger Queue Depth yields higher Throughput. Niedrigere Warteschlangenlänge führt zu niedrigeren Latenzen.Smaller Queue Depth yields lower latencies.

Art der E/A-AnforderungenNature of IO requests

Eine E/A-Anforderung ist eine E/A-Vorgangseinheit, die Ihre Anwendung ausführt.An IO request is a unit of input/output operation that your application will be performing. Das Bestimmen der Art der E/A-Anforderungen – zufällig oder sequenziell, Lese- oder Schreibvorgang, klein oder groß – hilft beim Ermitteln der Leistungsanforderungen Ihrer Anwendung.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. Sie müssen sich mit der Art der E/A-Anforderungen vertraut machen, um beim Entwurf der Anwendungsinfrastruktur die richtigen Entscheidungen zu treffen.It is important to understand the nature of IO requests, to make the right decisions when designing your application infrastructure.

Die E/A-Größe ist einer der wichtigsten Faktoren.IO size is one of the more important factors. Die E/A-Größe ist die Größe des angeforderten E/A-Vorgangs, den Ihre Anwendung generiert hat.The IO size is the size of the input/output operation request generated by your application. Die E/A-Größe hat einen erheblichen Einfluss auf die Leistung, insbesondere auf die IOPS und Bandbreite, die die Anwendung erzielen kann.The IO size has a significant impact on performance especially on the IOPS and Bandwidth that the application is able to achieve. Die folgende Formel zeigt die Beziehung zwischen IOPS, E/A-Größe und Bandbreite/Durchsatz.The following formula shows the relationship between IOPS, IO size, and Bandwidth/Throughput.

Einige Anwendungen ermöglichen Ihnen das Ändern der E/A-Größe, andere hingegen nicht.Some applications allow you to alter their IO size, while some applications do not. Beispielsweise bestimmt SQL Server selbst die optimale E/A-Größe und bietet Benutzern keine Möglichkeiten, sie zu ändern.For example, SQL Server determines the optimal IO size itself, and does not provide users with any knobs to change it. Oracle bietet dagegen den Parameter DB_BLOCK_SIZE, mit dem Sie die E/A-Anforderungsgröße der Datenbank konfigurieren können.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.

Wenn Sie eine Anwendung verwenden, die das Ändern der E/A-Größe nicht ermöglicht, befolgen Sie die Leitlinien in diesem Artikel, um die Leistungsindikatoren zu optimieren, die für Ihre Anwendung am relevantesten sind.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. Beispiel:For example,

  • Eine OLTP-Anwendung generiert Millionen kleiner und zufälliger E/A-Anforderungen.An OLTP application generates millions of small and random IO requests. Zum Verarbeiten dieser Art von E/A-Anforderungen müssen Sie die Anwendungsinfrastruktur für das Erzielen von mehr IOPS entwerfen.To handle these types of IO requests, you must design your application infrastructure to get higher IOPS.
  • Eine Data Warehouse-Anwendung generiert große und sequenzielle E/A-Anforderungen.A data warehousing application generates large and sequential IO requests. Zum Verarbeiten dieser Art von E/A-Anforderungen müssen Sie die Anwendungsinfrastruktur für das Erzielen von mehr Bandbreite bzw. Durchsatz entwerfen.To handle these types of IO requests, you must design your application infrastructure to get higher Bandwidth or Throughput.

Wenn Sie eine Anwendung verwenden, die das Ändern der E/A-Größe ermöglicht, sollten Sie neben den anderen Leitlinien für die Leistung diese Faustregel für die E/A-Größe befolgen.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,

  • Kleinere E/A-Größe führt zu mehr IOPS.Smaller IO size to get higher IOPS. Beispiel: 8 KB für eine OLTP-Anwendung.For example, 8 KB for an OLTP application.
  • Höhere E/A-Größe führt zu mehr Bandbreite/Durchsatz.Larger IO size to get higher Bandwidth/Throughput. Beispiel: 1024 KB für eine Data Warehouse-Anwendung.For example, 1024 KB for a data warehouse application.

Es folgt ein Beispiel, wie Sie IOPS bzw. Durchsatz/Bandbreite für Ihre Anwendung berechnen können.Here is an example on how you can calculate the IOPS and Throughput/Bandwidth for your application. Angenommen, eine Anwendung verwendet einen P30-Datenträger.Consider an application using a P30 disk. Die maximale IOPS- bzw. Durchsatz-/Bandbreitenrate eines P30-Datenträgers ist 5000 IOPS bzw. 200 MB pro Sekunde.The maximum IOPS and Throughput/Bandwidth a P30 disk can achieve is 5000 IOPS and 200 MB per second respectively. Wenn Ihre Anwendung nun die maximale IOPS-Rate des P30-Datenträgers benötigt und Sie eine kleinere E/A-Größe wie 8 KB verwenden, beträgt die resultierende Bandbreite 40 MB pro Sekunde.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. Wenn Ihre Anwendung dagegen die maximale Durchsatz-/Bandbreitenkapazität des P30-Datenträgers benötigt und Sie eine höhere E/A-Größe wie 1024 KB verwenden, erzielen Sie weniger als 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. Optimieren Sie die E/A-Größe daher so, dass Ihre Anwendung die Anforderungen sowohl an IOPS als auch an Durchsatz/Bandbreite erfüllt.Therefore, tune the IO size such that it meets both your application's IOPS and Throughput/Bandwidth requirement. In der folgenden Tabelle sind die verschiedenen E/A-Größen und ihre entsprechenden IOPS- und Durchsatzraten für einen P30-Datenträger zusammengefasst.Table below summarizes the different IO sizes and their corresponding IOPS and Throughput for a P30 disk.

AnwendungsanforderungApplication Requirement E/A-GrößeI/O size IOPSIOPS Durchsatz/BandbreiteThroughput/Bandwidth
Max. IOPSMax IOPS 8 KB8 KB 5.0005,000 40 MB pro Sekunde40 MB per second
Max. DurchsatzMax Throughput 1024 KB1024 KB 200200 200 MB pro Sekunde200 MB per second
Max. Durchsatz + hohe IOPS-RateMax Throughput + high IOPS 64 KB64 KB 3.2003,200 200 MB pro Sekunde200 MB per second
Max. IOPS + hoher DurchsatzMax IOPS + high Throughput 32 KB32 KB 5.0005,000 160 MB pro Sekunde160 MB per second

Um eine IOPS-Rate und Bandbreite zu erzielen, die höher als der Maximalwert eines einzelnen Storage Premium-Datenträgers ist, verwenden Sie mehrere Premium-Datenträger in einem Stripeset.To get IOPS and Bandwidth higher than the maximum value of a single premium storage disk, use multiple premium disks striped together. Fügen Sie z. B. zwei P30-Datenträger zu einem Stripeset zusammen, um in dieser Kombination eine IOPS-Rate von 10.000 oder einen Durchsatz von 400 MB pro Sekunde zu erzielen.For example, stripe two P30 disks to get a combined IOPS of 10,000 IOPS or a combined Throughput of 400 MB per second. Wie im nächsten Abschnitt erläutert, müssen Sie eine VM-Größe wählen, die die IOPS-Rate und den Durchsatz der kombinierten Datenträger unterstützt.As explained in the next section, you must use a VM size that supports the combined disk IOPS and Throughput.

Hinweis

Wenn Sie entweder die IOPS-Rate oder den Durchsatz erhöhen, sollten Sie sicherstellen, dass Sie dabei nicht das Durchsatz- oder IOPS-Limit des Datenträgers oder der VM überschreiten.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ühren Sie zum Überprüfen der Auswirkungen der E/A-Größe auf die Anwendungsleistung in Ihrer VM und auf Ihren Datenträgern Benchmarktools aus.To witness the effects of IO size on application performance, you can run benchmarking tools on your VM and disks. Erstellen Sie mehrere Testläufe, und wählen Sie für jeden Lauf eine andere E/A-Größe, um die Auswirkungen zu prüfen.Create multiple test runs and use different IO size for each run to see the impact. Ausführlichere Informationen finden Sie im am Ende dieses Artikels verlinkten Artikel zu Benchmarks.Refer to the Benchmarking article, linked at the end, for more details.

Größen von Hochleistungs-VMsHigh scale VM sizes

Beim Entwerfen einer Anwendung ist eine der ersten Aufgaben das Wählen einer VM zum Hosten Ihrer Anwendung.When you start designing an application, one of the first things to do is, choose a VM to host your application. Storage Premium bietet verschiedene Größen von Hochleistungs-VMs zum Ausführen von Anwendungen, die eine höhere Rechenleistung und einen lokalen Datenträger mit hoher E/A-Leistung benötigen.Premium Storage comes with High Scale VM sizes that can run applications requiring higher compute power and a high local disk I/O performance. Diese VMs bieten schnellere Prozessoren, ein höheres Arbeitsspeicher/Kern-Verhältnis und ein SSD-Laufwerk (Solid State Drive) als lokalen Datenträger.These VMs provide faster processors, a higher memory-to-core ratio, and a Solid-State Drive (SSD) for the local disk. Beispiele für Hochleistungs-VMs, die Storage Premium unterstützen, sind die VMs der DS-, DSv2- und GS-Serie.Examples of High Scale VMs supporting Premium Storage are the DS, DSv2, and GS series VMs.

Hochleistungs-VMs stehen in mehreren Größen mit jeweils einer anderen Anzahl von CPU-Kernen, Arbeitsspeicher- und temporären Datenträgergröße und einem anderen Betriebssystem zur Verfügung.High Scale VMs are available in different sizes with a different number of CPU cores, memory, OS, and temporary disk size. Jede VM-Größe weist außerdem eine maximale Anzahl von Datenträgern auf, die Sie an die VM anfügen können.Each VM size also has maximum number of data disks that you can attach to the VM. Daher beeinflusst die gewählte VM-Größe die Verarbeitungs-, Arbeitsspeicher- und Speicherkapazität, die für Ihre Anwendung zur Verfügung steht.Therefore, the chosen VM size will affect how much processing, memory, and storage capacity is available for your application. Sie hat außerdem Einfluss auf die Compute- und Speicherkosten.It also affects the Compute and Storage cost. Nachstehend sehen Sie beispielsweise die Spezifikationen der höchsten VM-Größen in den DS-, DSv2- und GS-Serien:For example, below are the specifications of the largest VM size in a DS series, DSv2 series and a GS series:

Größe des virtuellen ComputersVM size CPU-KerneCPU cores ArbeitsspeicherMemory VM-DatenträgergrößenVM disk sizes Max.Max. Anzahl Datenträgerdata disks CachegrößeCache size IOPSIOPS Limits für Bandbreite, Cache und E/ABandwidth Cache IO limits
Standard_DS14Standard_DS14 1616 112 GB112 GB Betriebssystem = 1023 GBOS = 1023 GB
Lokales SSD = 224 GBLocal SSD = 224 GB
3232 576 GB576 GB 50.000 IOPS50,000 IOPS
512 MB pro Sekunde512 MB per second
4.000 IOPS und 33 MB pro Sekunde4,000 IOPS and 33 MB per second
Standard_GS5Standard_GS5 3232 448 GB448 GB Betriebssystem = 1023 GBOS = 1023 GB
Lokales SSD = 896 GBLocal SSD = 896 GB
6464 4.224 GB4224 GB 80.000 IOPS80,000 IOPS
2.000 MB pro Sekunde2,000 MB per second
5.000 IOPS und 50 MB pro Sekunde5,000 IOPS and 50 MB per second

Eine vollständige Übersicht mit allen verfügbaren Azure-VM-Größen finden Sie unter Windows VM-Größen oder Linux VM-Größen.To view a complete list of all available Azure VM sizes, refer to Windows VM sizes or Linux VM sizes. Wählen Sie eine VM-Größe, die Ihre Anforderungen an die Anwendungsleistung erfüllen und entsprechend skaliert werden kann.Choose a VM size that can meet and scale to your desired application performance requirements. Berücksichtigen Sie darüber hinaus folgende wichtige Aspekte bei der Wahl der VM-Größe.In addition to this, take into account following important considerations when choosing VM sizes.

SkalierungslimitsScale Limits
Die maximalen IOPS-Limits pro VM und Datenträger sind unterschiedlich und voneinander unabhängig.The maximum IOPS limits per VM and per disk are different and independent of each other. Stellen Sie sicher, dass die Anwendung die IOPS innerhalb der Limits der VM sowie der angefügten Storage Premium-Datenträger unterstützt.Make sure that the application is driving IOPS within the limits of the VM as well as the premium disks attached to it. Andernfalls wird die Anwendungsleistung gedrosselt.Otherwise, application performance will experience throttling.

Beispiel: Angenommen, eine Anwendungsanforderung ist ein IOPS-Wert von maximal 4.000.As an example, suppose an application requirement is a maximum of 4,000 IOPS. Um dies zu erreichen, stellen Sie einen P30-Datenträger in einer VM der DS1-Serie bereit.To achieve this, you provision a P30 disk on a DS1 VM. Der P30-Datenträger kann bis zu 5.000 IOPS bieten.The P30 disk can deliver up to 5,000 IOPS. Die VM der DS1-Serie ist jedoch auf 3.200 IOPS beschränkt.However, the DS1 VM is limited to 3,200 IOPS. Daher wird die Anwendungsleistung gemäß dem VM-Limit auf 3.200 IOPS verringert.Consequently, the application performance will be constrained by the VM limit at 3,200 IOPS and there will be degraded performance. Um dies zu vermeiden, wählen eine VM- und Datenträgergröße, die beide Anwendungsanforderungen erfüllt.To prevent this situation, choose a VM and disk size that will both meet application requirements.

BetriebskostenCost of Operation
In vielen Fällen ist es möglich, dass die Gesamtbetriebskosten bei der Verwendung von Storage Premium niedriger als bei der Verwendung von Storage Standard sind.In many cases, it is possible that your overall cost of operation using Premium Storage is lower than using Standard Storage.

Nehmen wir als Beispiel eine Anwendung, die 16.000 IOPS benötigt.For example, consider an application requiring 16,000 IOPS. Um diese Leistung zu erzielen, benötigen Sie eine Azure-IaaS-VM vom Typ „Standard_D14“, die bei Verwenden von 32 Standardspeicher-Datenträgern mit je 1 TB eine maximale IOPS-Rate von 16.000 bietet.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. Jeder Storage Standard-Datenträger mit 1 TB kann maximal 500 IOPS erzielen.Each 1-TB standard storage disk can achieve a maximum of 500 IOPS. Die geschätzten Kosten für diese VM pro Monat liegen bei 1.570 $.The estimated cost of this VM per month will be $1,570. Die monatliche Kosten der 32 Storage Standard-Datenträger betragen 1.638 $.The monthly cost of 32 standard storage disks will be $1,638. Die geschätzten monatlichen Gesamtkosten betragen 3.208 $.The estimated total monthly cost will be $3,208.

Wenn Sie jedoch dieselbe Anwendung in Storage Premium hosten, benötigen Sie eine kleinere VM-Größe und weniger Storage Premium-Datenträger, wodurch die Gesamtkosten gesenkt werden.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. Eine VM vom Typ „Standard_DS13“ kann mithilfe von vier P30-Datenträgern die Anforderung von 16.000 IOPS erfüllen.A Standard_DS13 VM can meet the 16,000 IOPS requirement using four P30 disks. Die VM vom Typ DS13 bietet maximal 25.600 IOPS, und jeder P30-Datenträger bietet maximal 5.000 IOPS.The DS13 VM has a maximum IOPS of 25,600 and each P30 disk has a maximum IOPS of 5,000. Diese Konfiguration kann insgesamt 5.000 x 4 = 20.000 IOPS bieten.Overall, this configuration can achieve 5,000 x 4 = 20,000 IOPS. Die geschätzten Kosten für diese VM pro Monat liegen bei 1.003 $.The estimated cost of this VM per month will be $1,003. Die monatlichen Kosten der vier Storage Premium-Datenträger vom Typ P30 belaufen sich auf 544,34 $.The monthly cost of four P30 premium storage disks will be $544.34. Die geschätzten monatlichen Gesamtkosten betragen 1.544 $.The estimated total monthly cost will be $1,544.

In der folgenden Tabelle wird die Aufschlüsselung der Kosten für Storage Standard und Storage Premium zusammengefasst.Table below summarizes the cost breakdown of this scenario for Standard and Premium Storage.

  StandardStandard PremiumPremium
VM-Kosten pro MonatCost of VM per month 1.570,58 $ (Standard_D14)$1,570.58 (Standard_D14) 1.003,66 $ (Standard_DS13)$1,003.66 (Standard_DS13)
Datenträgerkosten pro MonatCost of Disks per month 1.638,40 $ (32 1-TB-Festplatten)$1,638.40 (32 x 1-TB disks) 544,34 $ (4 P30-Datenträger)$544.34 (4 x P30 disks)
Gesamtkosten pro MonatOverall Cost per month 3.208,98 $$3,208.98 1.544,34 $$1,544.34

Linux-DistributionenLinux Distros

Mit Azure Storage Premium erhalten Sie unter Windows und Linux das gleiche Maß an Leistung für virtuelle Computer.With Azure Premium Storage, you get the same level of Performance for VMs running Windows and Linux. Wir unterstützen viele Arten von Linux-Distributionen. Eine vollständige Liste finden Sie hier.We support many flavors of Linux distros, and you can see the complete list here. Es ist wichtig zu beachten, dass verschiedene Distributionen für verschiedene Arten von Workloads besser geeignet sind.It is important to note that different distros are better suited for different types of workloads. Je nach Distribution, in der Ihr Workload ausgeführt wird, sind die Leistungsgrade unterschiedlich.You will see different levels of performance depending on the distro your workload is running on. Testen Sie die Linux-Distributionen mit Ihrer Anwendung, und wählen Sie diejenige, die am besten geeignet ist.Test the Linux distros with your application and choose the one that works best.

Überprüfen Sie bei Ausführen von Linux mit Storage Premium die neuesten Updates hinsichtlich erforderlicher Treiber, um eine hohe Leistung zu gewährleisten.When running Linux with Premium Storage, check the latest updates about required drivers to ensure high performance.

Größen von Storage Premium-DatenträgernPremium storage disk sizes

Azure Storage Premium bietet acht allgemein verfügbare Datenträgergrößen und drei Datenträgergrößen, die sich derzeit in der Vorschau befinden.Azure Premium Storage offers eight GA disk sizes and three disk sizes that are in preview, currently. Jede Datenträgergröße hat ein anderes Skalierungslimit hinsichtlich IOPS, Bandbreite und Speicher.Each disk size has a different scale limit for IOPS, bandwidth, and storage. Wählen Sie abhängig von den Anwendungsanforderungen und der Größe der Hochleistungs-VM die richtige Storage Premium-Datenträgergröße.Choose the right Premium Storage Disk size depending on the application requirements and the high scale VM size. Die folgende Tabelle zeigt die elf verschiedenen Datenträgergrößen und ihre Kapazitäten.The table below shows the 11 disks sizes and their capabilities. Die Datenträgergrößen P4, P6, P15, P60, P70 und P80 werden aktuell nur für verwaltete Datenträger unterstützt.P4, P6, P15, P60, P70, and P80 sizes are currently only supported for Managed Disks.

Premium-DatenträgertypPremium Disks Type  P4P4   P6P6    P10P10   P15P15 P20P20   P30P30   P40P40 P50P50   P60P60   P70P70   P80P80  
DatenträgergrößeDisk size           32 GiB32 GiB 64 GiB64 GiB 128 GB128 GiB 256 GiB256 GiB 512 GB512 GB            1024 GiB (1 TiB)1,024 GiB (1 TiB)    2048 GiB (2 TiB)2,048 GiB (2 TiB)    4095 GiB (4 TiB)4,095 GiB (4 TiB)    8192 GiB (8 TiB)8,192 GiB (8 TiB)    16384 GiB (16 TiB)16,384 GiB (16 TiB)    32767 GiB (32 TiB)32,767 GiB (32 TiB)   
IOPS pro DatenträgerIOPS per disk       120120    240240   500500  11001100 2.3002300              5.0005000              7.5007500              7.5007500              12.50012,500              15.00015,000              20.00020,000             
Durchsatz pro DatenträgerThroughput per disk 25 MiB pro Sekunde25 MiB per second  50 MiB pro Sekunde50 MiB per second  100 MiB pro Sekunde100 MiB per second 125 MiB pro Sekunde125 MiB per second 150 MiB pro Sekunde150 MiB per second 200 MiB pro Sekunde200 MiB per second 250 MiB pro Sekunde250 MiB per second 250 MiB pro Sekunde250 MiB per second 480 MiB pro Sekunde480 MiB per second 750 MiB pro Sekunde750 MiB per second 750 MiB pro Sekunde750 MiB per second

Die zu wählende Anzahl von Datenträgern hängt von der gewählten Datenträgergröße ab.How many disks you choose depends on the disk size chosen. Zum Erfüllen Ihrer Anwendungsanforderung können Sie entweder einen einzelnen P50- oder mehrere P10-Datenträger verwenden.You could use a single P50 disk or multiple P10 disks to meet your application requirement. Berücksichtigen Sie bei Ihrer Wahl die nachstehenden Aspekte.Take into account considerations listed below when making the choice.

Skalierungslimits (IOPS und Durchsatz)Scale Limits (IOPS and Throughput)
Die IOPS- und Durchsatzlimits der einzelnen Premium-Datenträgergrößen sind unterschiedlich und unabhängig von den VM-Skalierungslimits.The IOPS and Throughput limits of each Premium disk size is different and independent from the VM scale limits. Vergewissern Sie sich, dass die gesamte IOPS- und Durchsatzrate der Datenträger innerhalb der Skalierungslimits der gewählten VM-Größe liegen.Make sure that the total IOPS and Throughput from the disks are within scale limits of the chosen VM size.

Beispiel: Angenommen, eine Anwendungsanforderung hat einen Durchsatz von maximal 250 MB/s, und Sie verwenden eine VM vom Typ DS4 mit einem einzelnen P30-Datenträger.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. Die VM vom Typ DS4 kann einen Durchsatz von bis zu 256 MB/s bieten.The DS4 VM can give up to 256 MB/sec Throughput. Ein einzelner P30-Datenträger weist jedoch eine Durchsatzbeschränkung von 200 MB/s auf. Die Anwendung wird daher aufgrund der Beschränkung des Datenträgers auf 200 MB/s beschränkt.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. Um diese Beschränkung zu umgehen, stellen Sie für die VM mehr als einen Datenträger bereit, oder ändern Sie die Größe Ihrer Datenträger in P40 oder P50.To overcome this limit, provision more than one data disks to the VM or resize your disks to P40 or P50.

Hinweis

Leseanforderungen, die aus dem Cache erfüllt werden, bleiben bei der IOPS- und Durchsatzleistung des Datenträgers unberücksichtigt und unterliegen deshalb keinen Datenträgerlimits.Reads served by the cache are not included in the disk IOPS and Throughput, hence not subject to disk limits. Für den Cache gelten separate IOPS- und Durchsatzlimits pro VM.Cache has its separate IOPS and Throughput limit per VM.

Beispielsweise erfolgen Ihre Lese- und Schreibvorgänge anfänglich mit 60 MB/s bzw. 40 MB/s.For example, initially your reads and writes are 60MB/sec and 40MB/sec respectively. Mit der Zeit füllt sich der Cache auf, sodass immer mehr Leseanforderungen aus dem Cache erfüllt werden.Over time, the cache warms up and serves more and more of the reads from the cache. Dadurch erhalten Sie einen höheren Schreibdurchsatz vom Datenträger.Then, you can get higher write Throughput from the disk.

Anzahl der DatenträgerNumber of Disks
Bestimmen Sie die benötigte Anzahl der Datenträger, indem Sie die Anwendungsanforderungen prüfen.Determine the number of disks you will need by assessing application requirements. Für jede VM gilt auch ein Limit für die Anzahl der Datenträger, die an die VM angefügt werden können.Each VM size also has a limit on the number of disks that you can attach to the VM. In der Regel ist dies die doppelte Anzahl der Kerne.Typically, this is twice the number of cores. Stellen Sie sicher, dass die gewählte VM-Größe die erforderliche Anzahl von Datenträgern unterstützt.Ensure that the VM size you choose can support the number of disks needed.

Wie schon erwähnt, bieten Storage Premium-Datenträger eine höhere Leistung als Storage Standard-Datenträger.Remember, the Premium Storage disks have higher performance capabilities compared to Standard Storage disks. Wenn Sie also Ihre Anwendung aus einer Azure IaaS-VM mit Storage Standard zu Storage Premium migrieren, benötigen Sie wahrscheinlich weniger Premium-Datenträger, um für Ihre Anwendung dieselbe oder eine höhere Leistung zu erzielen.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.

Nutzung des DatenträgercachesDisk caching

Hochleistungs-VMs mit Azure Storage Premium arbeiten mit einer mehrschichtigen Cachetechnologie mit dem Namen BlobCache.High Scale VMs that leverage Azure Premium Storage have a multi-tier caching technology called BlobCache. BlobCache verwendet für das Zwischenspeichern eine Kombination aus RAM des virtuellen Computers und lokalem SSD-Laufwerk.BlobCache uses a combination of the Virtual Machine RAM and local SSD for caching. Dieser Cache ist für die permanenten Storage Premium-Datenträger und die lokalen VM-Datenträger verfügbar.This cache is available for the Premium Storage persistent disks and the VM local disks. Standardmäßig ist diese Cacheeinstellung auf „Read/Write“ für Betriebssystem-Datenträger und auf und „ReadOnly“ für in Storage Premium gehostete Datenträger festgelegt.By default, this cache setting is set to Read/Write for OS disks and ReadOnly for data disks hosted on Premium Storage. Bei aktiviertem Cache auf den Storage Premium-Datenträgern können die Hochleistungs-VMs überaus hohe Leistungsgrade erreichen, die die zugrunde liegende Datenträgerleistung übersteigen.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.

Warnung

Die Zwischenspeicherung von Datenträgern wird nicht für Datenträger mit einer Größe von 4 TiB und höher unterstützt.Disk Caching is not supported for disks 4 TiB and larger. Wenn mehrere Datenträger an Ihre VM angefügt sind, unterstützt jeder Datenträger mit 4 TiB oder weniger das Zwischenspeichern.If multiple disks are attached to your VM, each disk that is smaller than 4 TiB will support caching.

Durch Ändern der Cacheeinstellung eines Azure-Datenträgers wird der Zieldatenträger getrennt und erneut angefügt.Changing the cache setting of an Azure disk detaches and re-attaches the target disk. Wenn es sich um den Betriebssystemdatenträger handelt, wird der virtuelle Computer neu gestartet.If it is the operating system disk, the VM is restarted. Beenden Sie alle Anwendungen und Dienste, die von dieser Unterbrechung betroffen sein könnten, bevor Sie die Cacheeinstellung des Datenträgers ändern.Stop all applications/services that might be affected by this disruption before changing the disk cache setting.

Weitere Informationen zur Funktionsweise von BlobCache finden Sie im Blogbeitrag Inside Azure Premium Storage .To learn more about how BlobCache works, refer to the Inside Azure Premium Storage blog post.

Es ist wichtig, den Cache für die richtige Gruppe von Datenträgern zu aktivieren.It is important to enable cache on the right set of disks. Ob Sie den Cache auf einem Premium-Datenträger aktivieren oder nicht, hängt vom Workloadmuster ab, das der Datenträger verarbeiten muss.Whether you should enable disk caching on a premium disk or not will depend on the workload pattern that disk will be handling. Die folgende Tabelle zeigt die standardmäßigen Cacheeinstellungen für Betriebssystem und Datenträger.Table below shows the default cache settings for OS and Data disks.

DatenträgertypDisk type Standardeinstellung für den CacheDefault cache setting
Betriebssystem-DatenträgerOS disk ReadWriteReadWrite
DatenträgerData disk ReadOnlyReadOnly

Es folgen die empfohlenen Cacheeinstellungen für Datenträger:Following are the recommended disk cache settings for data disks,

Cacheeinstellung für DatenträgerDisk caching setting Empfehlung zur Verwendung dieser Einstellungrecommendation on when to use this setting
KeineNone Konfigurieren Sie „host-cache“ mit „None“ für Datenträger mit hohem oder ausschließlichem Schreibzugriff.Configure host-cache as None for write-only and write-heavy disks.
ReadOnlyReadOnly Konfigurieren Sie „host-cache“ mit „ReadOnly“ für Datenträger mit reinem Lese- und Lese-/Schreibzugriff.Configure host-cache as ReadOnly for read-only and read-write disks.
ReadWriteReadWrite Konfigurieren Sie „host-cache“ nur dann mit „ReadWrite“, wenn Ihre Anwendung zwischengespeicherte Daten bei Bedarf ordnungsgemäß auf beständige Datenträger schreiben kann.Configure host-cache as ReadWrite only if your application properly handles writing cached data to persistent disks when needed.

ReadOnlyReadOnly
Durch Konfigurieren des „ReadOnly“-Caches für Storage Premium-Datenträger können Sie für Ihre Anwendung eine niedrige Leselatenz und einen sehr hohe Leserate hinsichtlich IOPS und Durchsatz erzielen.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. Hierfür gibt es zwei Gründe:This is due two reasons,

  1. Aus dem Cache erfüllte Leseanforderungen, der sich im Arbeitsspeicher der VM und auf dem lokalen SSD-Laufwerk befindet, sind wesentlich schneller als Lesevorgänge vom Datenträger, der sich in Azure Blob Storage befindet.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. Storage Premium rechnet die aus dem Cache erfüllten Leseanforderungen nicht zur IOPS- und Durchsatzrate des Datenträgers.Premium Storage does not count the Reads served from cache, towards the disk IOPS and Throughput. Aus diesem Grund kann Ihre Anwendung eine höhere Gesamtrate bei IOPS und Durchsatz erzielen.Therefore, your application is able to achieve higher total IOPS and Throughput.

ReadWriteReadWrite
Für die Betriebssystem-Datenträger ist der „ReadWrite“-Cache standardmäßig aktiviert.By default, the OS disks have ReadWrite caching enabled. Wir haben vor Kurzem Unterstützung des „ReadWrite“-Caches auf Datenträgern hinzugefügt.We have recently added support for ReadWrite caching on data disks as well. Wenn Sie den „ReadWrite“-Cache nutzen, benötigen Sie eine ordnungsgemäße Möglichkeit zum Schreiben der Daten aus dem Cache auf beständige Datenträger.If you are using ReadWrite caching, you must have a proper way to write the data from cache to persistent disks. SQL Server übernimmt beispielsweise selbst das Schreiben von Daten im Cache auf beständige Speicherdatenträger.For example, SQL Server handles writing cached data to the persistent storage disks on its own. Das Verwenden eines „ReadWrite“-Caches mit einer Anwendung, die die benötigten Daten nicht beständig speichert, kann zu Datenverlusten führen, sollte die VM abstürzen.Using ReadWrite cache with an application that does not handle persisting the required data can lead to data loss, if the VM crashes.

KeineNone
Die Option None wird aktuell nur für reguläre Datenträger unterstützt.Currently, None is only supported on data disks. Für Betriebssystemdatenträger wird sie nicht unterstützt.It is not supported on OS disks. Wenn Sie None für einen Betriebssystemdatenträger festlegen, wird die Einstellung intern überschrieben und auf ReadOnly festgelegt.If you set None on an OS disk it will override this internally and set it to ReadOnly.

Als Beispiel können Sie diese Leitlinien auf SQL Server in Storage Premium anwenden, indem Sie die folgenden Schritte ausführen:As an example, you can apply these guidelines to SQL Server running on Premium Storage by doing the following,

  1. Aktivieren Sie den „ReadOnly“-Cache auf Storage Premium-Datenträgern, die Datendateien hosten.Configure "ReadOnly" cache on premium storage disks hosting data files.
    a.a. Die schnellen aus dem Cache erfolgenden Lesevorgänge verkürzen die Abfragezeit von SQL Server, da Daten wesentlich schneller aus dem Cache als von den Datenträgern direkt abgerufen werden.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. Das Erfüllen von Leseanforderungen aus dem Cache bedeutet, dass auf den Premium-Datenträgern zusätzlicher Durchsatz verfügbar ist.Serving reads from cache, means there is additional Throughput available from premium data disks. SQL Server kann diesen zusätzlichen Durchsatz für das Abrufen von mehr Datenseiten und andere Vorgänge wie Sichern/Wiederherstellen, Batchladevorgänge und Indexneuerstellungen nutzen.SQL Server can use this additional Throughput towards retrieving more data pages and other operations like backup/restore, batch loads, and index rebuilds.
  2. Konfigurieren Sie die Cacheeinstellung „None“ für Storage Premium-Datenträger, die Protokolldateien hosten.Configure "None" cache on premium storage disks hosting the log files.
    a.a. Protokolldateien zeichnen sich hauptsächlich durch schreibintensive Vorgänge aus.Log files have primarily write-heavy operations. Aus diesem Grund profitieren sie nicht vom „ReadOnly“-Cache.Therefore, they do not benefit from the ReadOnly cache.

Optimieren der Leistung auf Linux-VMsOptimize performance on Linux VMs

Für alle Premium SSDs oder Ultra Disks mit der Cacheeinstellung ReadOnly oder None müssen Sie beim Bereitstellen des Dateisystems „Barriers“ (Sperren) deaktivieren.For all premium SSDs or ultra disks with cache set to ReadOnly or None, you must disable "barriers" when you mount the file system. Sie benötigen keine Sperren für dieses Szenario, da die Schreibvorgänge auf Storage Premium-Datenträgern für diese Cacheeinstellungen beständig sind.You don't need barriers in this scenario because the writes to premium storage disks are durable for these cache settings. Wenn die Schreibanforderung erfolgreich abgeschlossen wurde, wurden Daten in den permanenten Speicher geschrieben.When the write request successfully finishes, data has been written to the persistent store. Verwenden Sie zum Deaktivieren von Sperren eines der folgenden Verfahren.To disable "barriers," use one of the following methods. Wählen Sie das richtige Verfahren für Ihr Dateisystem:Choose the one for your file system:

  • Verwenden Sie zum Deaktivieren von Sperren für reiserFS die Bereitstellungsoption barrier=none.For reiserFS, to disable barriers, use the barrier=none mount option. (Verwenden Sie zum Aktivieren von Sperren barrier=flush.)(To enable barriers, use barrier=flush.)
  • Verwenden Sie zum Deaktivieren von Sperren für ext3/ext4 die Bereitstellungsoption barrier=0.For ext3/ext4, to disable barriers, use the barrier=0 mount option. (Verwenden Sie zum Aktivieren von Sperren barrier=1.)(To enable barriers, use barrier=1.)
  • Verwenden Sie zum Deaktivieren von Sperren für XFS die Bereitstellungsoption nobarrier.For XFS, to disable barriers, use the nobarrier mount option. (Verwenden Sie zum Aktivieren von Sperren barrier.)(To enable barriers, use barrier.)
  • Aktivieren Sie Sperren für Storage Premium-Datenträger mit der Cacheeinstellung ReadWrite, um Beständigkeit für Schreibvorgänge zu erzielen.For premium storage disks with cache set to ReadWrite, enable barriers for write durability.
  • Damit Volumebezeichnungen nach dem Neustart der VM beibehalten werden, müssen Sie „/etc/fstab“ mit den UUID-Verweisen (Universally Unique Identifier) auf die Datenträger aktualisieren.For volume labels to persist after you restart the VM, you must update /etc/fstab with the universally unique identifier (UUID) references to the disks. Weitere Informationen finden Sie unter Hinzufügen eines verwalteten Datenträgers zu einem virtuellen Linux-Computer.For more information, see Add a managed disk to a Linux VM.

Die folgenden Linux-Distributionen wurden für Premium SSDs überprüft.The following Linux distributions have been validated for premium SSDs. Es wird empfohlen, dass Sie Ihre virtuellen Computer auf mindestens eine dieser Versionen (oder eine höhere Version) aktualisieren, um eine bessere Leistung und Stabilität mit Premium SSDs zu erzielen.For better performance and stability with premium SSDs, we recommend that you upgrade your VMs to one of these versions or later.

Für einige Versionen sind die neuesten Linux-Integrationsdienste (LIS v4.0) für Azure erforderlich.Some of the versions require the latest Linux Integration Services (LIS), v4.0, for Azure. Verwenden Sie den in der folgenden Tabelle angegebenen Link, um eine Distribution herunterzuladen und zu installieren.To download and install a distribution, follow the link listed in the following table. Wir fügen der Liste weitere Images hinzu, wenn die jeweilige Überprüfung abgeschlossen ist.We add images to the list as we complete validation. Unser Überprüfungen zeigen, dass die Leistung für jedes Image variiert.Our validations show that performance varies for each image. Die Leistung hängt von den Workloadmerkmalen und Ihren Imageeinstellungen ab.Performance depends on workload characteristics and your image settings. Verschiedene Images werden für verschiedene Arten von Workloads optimiert.Different images are tuned for different kinds of workloads.

DistributionDistribution VersionVersion Unterstützter KernelSupported kernel DetailsDetails
UbuntuUbuntu 12.0412.04 3.2.0-75.110+3.2.0-75.110+ Ubuntu-12_04_5-LTS-amd64-server-20150119-en-us-30GBUbuntu-12_04_5-LTS-amd64-server-20150119-en-us-30GB
UbuntuUbuntu 14.0414.04 3.13.0-44.73+3.13.0-44.73+ Ubuntu-14_04_1-LTS-amd64-server-20150123-en-us-30GBUbuntu-14_04_1-LTS-amd64-server-20150123-en-us-30GB
DebianDebian 7.x, 8.x7.x, 8.x 3.16.7-ckt4-1+3.16.7-ckt4-1+  
SUSESUSE SLES 12SLES 12 3.12.36-38.1+3.12.36-38.1+ suse-sles-12-priority-v20150213suse-sles-12-priority-v20150213
suse-sles-12-v20150213suse-sles-12-v20150213
SUSESUSE SLES 11 SP4SLES 11 SP4 3.0.101-0.63.1+3.0.101-0.63.1+  
CoreOSCoreOS 584.0.0+584.0.0+ 3.18.4+3.18.4+ CoreOS 584.0.0CoreOS 584.0.0
CentOSCentOS 6.5, 6.6, 6.7, 7.06.5, 6.6, 6.7, 7.0   LIS4 erforderlichLIS4 required
Siehe Hinweis im nächsten AbschnittSee note in the next section
CentOSCentOS 7.1+7.1+ 3.10.0-229.1.2.el7+3.10.0-229.1.2.el7+ LIS4 empfohlenLIS4 recommended
Siehe Hinweis im nächsten AbschnittSee note in the next section
Red Hat Enterprise Linux (RHEL)Red Hat Enterprise Linux (RHEL) 6.8+, 7.2+6.8+, 7.2+    
OracleOracle 6.0+, 7.2+6.0+, 7.2+   UEK4 oder RHCKUEK4 or RHCK
OracleOracle 7.0-7.17.0-7.1   UEK4 oder RHCK mit LIS 4.1+UEK4 or RHCK w/LIS 4.1+
OracleOracle 6.4-6.76.4-6.7   UEK4 oder RHCK mit LIS 4.1+UEK4 or RHCK w/LIS 4.1+

LIS-Treiber für OpenLogic CentOSLIS drivers for OpenLogic CentOS

Wenn Sie virtuelle OpenLogic CentOS-Computer ausführen, sollten Sie den folgenden Befehl zum Installieren der neuesten Treiber verwenden:If you're running OpenLogic CentOS VMs, run the following command to install the latest drivers:

sudo rpm -e hypervkvpd  ## (Might return an error if not installed. That's OK.)
sudo yum install microsoft-hyper-v

Starten Sie den virtuellen Computer neu, um die neuen Treiber zu aktivieren.To activate the new drivers, restart the VM.

DatenträgerstripingDisk striping

Wenn an eine Hochleistungs-VM mehrere beständige Storage Premium-Datenträger angefügt werden, können diese Datenträger ein Stripeset bilden, um ihre IOPS-, Bandbreiten- und Speicherkapazitäten zusammenzuführen.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.

Unter Windows können Sie das Feature „Speicherplätze“ verwenden, um Datenträger in einem Stripeset zu verbinden.On Windows, you can use Storage Spaces to stripe disks together. Sie müssen für jeden Datenträger in einem Pool eine Spalte konfigurieren.You must configure one column for each disk in a pool. Andernfalls kann die Gesamtleistung des Stripesetvolume aufgrund einer ungleichen Verteilung des Datenverkehrs auf die Datenträger niedriger sein als erwartet.Otherwise, the overall performance of striped volume can be lower than expected, due to uneven distribution of traffic across the disks.

Wichtig: Im Server-Manager können Sie die Gesamtanzahl der Spalten auf bis zu 8 für ein Stripesetvolume festlegen.Important: Using Server Manager UI, you can set the total number of columns up to 8 for a striped volume. Bei Anfügen von mehr als acht Datenträgern nutzen Sie PowerShell, um das Volume zu erstellen.When attaching more than eight disks, use PowerShell to create the volume. Mithilfe von PowerShell können Sie die Anzahl der Spalten entsprechend der Anzahl der Datenträger festlegen.Using PowerShell, you can set the number of columns equal to the number of disks. Wenn beispielsweise ein einzelnes Stripeset 16 Datenträger enthält, geben Sie im PowerShell-Cmdlet New-VirtualDisk den Wert „16“ für den NumberOfColumns-Parameter an.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.

Unter Linux können Sie hierfür das Hilfsprogramm MDADM verwenden.On Linux, use the MDADM utility to stripe disks together. Detaillierte Anweisungen für das Erstellen von Stripingdatenträgern unter Linux finden Sie unter Konfigurieren von Software-RAID unter Linux.For detailed steps on striping disks on Linux refer to Configure Software RAID on Linux.

StripegrößeStripe Size
Eine wichtige Konfigurationseinstellung beim Datenträgerstriping ist die Stripegröße.An important configuration in disk striping is the stripe size. Die Stripe- bzw. Blockgröße ist die kleinste Datenmenge, die eine Anwendung auf einem Stripesetvolume adressieren kann.The stripe size or block size is the smallest chunk of data that application can address on a striped volume. Die Stripegröße, die Sie konfigurieren, hängt von der Art der Anwendung und ihrem Anforderungsmuster ab.The stripe size you configure depends on the type of application and its request pattern. Bei Wahl der falschen Stripegröße ist eine falsche E/A-Abstimmung möglich, durch die sich die Leistung Ihrer Anwendung verschlechtert.If you choose the wrong stripe size, it could lead to IO misalignment, which leads to degraded performance of your application.

Wenn beispielsweise eine von Ihrer Anwendung generierte E/A-Anweisung größer als die Stripegröße des Datenträgers ist, wird sie vom Speichersystem über Stripe-Einheitsgrenzen hinweg auf mehrere Datenträger geschrieben.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. Wenn auf diese Daten zugegriffen werden soll, muss zum Erfüllen der Anforderung mehr als eine Stripe-Einheit durchsucht werden.When it is time to access that data, it will have to seek across more than one stripe units to complete the request. Die kumulative Wirkung eines solchen Verhaltens kann zu beträchtlichen Leistungseinbußen führen.The cumulative effect of such behavior can lead to substantial performance degradation. Wenn hingegen die Größe der E/A-Anforderung kleiner als die Stripegröße ist und diese zufälliger Art ist, können sich die E/A-Anforderungen auf demselben Datenträger anhäufen, was zu einem Engpass und schließlich zu einer Verschlechterung der E/A-Leistung führt.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.

Wählen Sie abhängig vom Workload Ihrer Anwendung eine geeignete Stripegröße aus.Depending on the type of workload your application is running, choose an appropriate stripe size. Wählen Sie für zufällige kleine E/A-Anforderungen eine kleinere Stripegröße.For random small IO requests, use a smaller stripe size. Wählen Sie hingegen für große sequenzielle E/A-Anforderungen eine größere Stripegröße.Whereas for large sequential IO requests use a larger stripe size. Ermitteln Sie Empfehlungen für die Stripegröße für die Anwendung, die Sie in Storage Premium ausführen.Find out the stripe size recommendations for the application you will be running on Premium Storage. Für SQL Server konfigurieren Sie die Stripegröße mit 64 KB für OLTP-Workloads und 256 KB für Data Warehouse-Workloads.For SQL Server, configure stripe size of 64 KB for OLTP workloads and 256 KB for data warehousing workloads. Weitere Informationen finden Sie unter Optimale Verfahren für die Leistung für SQL Server in Azure Virtual Machines .See Performance best practices for SQL Server on Azure VMs to learn more.

Hinweis

Bei einer VM der DS-Serie können Sie ein Stripeset mit maximal 32 Storage Premium-Datenträgern und bei einer VM der GS-Serie mit maximal 64 Storage Premium-Datenträgern bilden.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.

MultithreadingMulti-threading

Azure hat die Storage Premium-Plattform mit einem hohen Grad an Parallelität ausgelegt.Azure has designed Premium Storage platform to be massively parallel. Aus diesem Grund wird mit einer Multithreadanwendung eine wesentlich höhere Leistung als mit einer Singlethreadanwendung erreicht.Therefore, a multi-threaded application achieves much higher performance than a single-threaded application. Eine Multithreadanwendung teilt ihre Aufgaben auf mehrere Threads auf und steigert die Effizienz ihrer Ausführung durch den maximalen Einsatz der VM- und Datenträgerressourcen.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.

Wenn Ihre Anwendung in einer VM mit einem Kern mithilfe zweier Threads ausgeführt wird, kann die CPU zwischen den beiden Threads umschalten, um für Effizienz zu sorgen.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. Während ein Thread auf den Abschluss eines Datenträger-E/A-Vorgangs wartet, kann die CPU zum anderen Thread umschalten.While one thread is waiting on a disk IO to complete, the CPU can switch to the other thread. Auf diese Weise können zwei Threads mehr erreichen als einem einzelnem Thread möglich ist.In this way, two threads can accomplish more than a single thread would. Wenn die VM mehr als einen Kern hat, verkürzt sich die Ausführungszeit weiter, da jeder Kern Aufgaben parallel ausführt.If the VM has more than one core, it further decreases running time since each core can execute tasks in parallel.

Sie sind ggf. nicht in der Lage, die Weise zu ändern, in der eine Standardanwendung das Singlethreading oder Multithreading implementiert.You may not be able to change the way an off-the-shelf application implements single threading or multi-threading. SQL Server unterstützt beispielsweise das Arbeiten mit mehreren CPUs und Kernen.For example, SQL Server is capable of handling multi-CPU and multi-core. SQL Server entscheidet jedoch selbst, unter welchen Umständen ein oder mehrere Threads zum Verarbeiten einer Abfrage genutzt werden.However, SQL Server decides under what conditions it will leverage one or more threads to process a query. SQL Server kann mithilfe von Multithreading Abfragen ausführen und Indizes erstellen.It can run queries and build indexes using multi-threading. Für eine Abfrage, für die große Tabellen verknüpft und Daten sortiert werden, ehe die Rückgabe an den Benutzer erfolgt, verwendet SQL Server wahrscheinlich mehrere Threads.For a query that involves joining large tables and sorting data before returning to the user, SQL Server will likely use multiple threads. Ein Benutzer kann nicht jedoch steuern, ob SQL Server eine Abfrage mithilfe eines einzelnen oder mehrerer Threads ausführt.However, a user cannot control whether SQL Server executes a query using a single thread or multiple threads.

Es gibt Konfigurationseinstellungen, die Sie ändern können, um dieses Multithreading bzw. die Parallelverarbeitung einer Anwendung zu beeinflussen.There are configuration settings that you can alter to influence this multi-threading or parallel processing of an application. Bei SQL Server ist dies die Einstellung „Max. Grad an Parallelität“.For example, in case of SQL Server it is the maximum Degree of Parallelism configuration. Diese auch MAXDOP genannte Einstellung ermöglicht Ihnen das Konfigurieren der maximalen Anzahl von Prozessoren, die SQL Server bei der Parallelverarbeitung verwenden kann.This setting called MAXDOP, allows you to configure the maximum number of processors SQL Server can use when parallel processing. Sie können MAXDOP für einzelne Abfragen oder Indexvorgänge konfigurieren.You can configure MAXDOP for individual queries or index operations. Dies ist nützlich, wenn Sie bei einer leistungsabhängigen Anwendung die Ressourcen Ihres Systems gleichmäßig auslasten möchten.This is beneficial when you want to balance resources of your system for a performance critical application.

Angenommen, Ihre mit SQL Server arbeitende Anwendung führt gleichzeitig eine umfangreiche Abfrage und einen Indexvorgang aus.For example, say your application using SQL Server is executing a large query and an index operation at the same time. Wir nehmen einmal an, dass der Indexvorgang Priorität vor der umfangreichen Abfrage haben soll.Let us assume that you wanted the index operation to be more performant compared to the large query. In einem solchen Fall können Sie den MAXDOP-Wert des Indexvorgangs höher als den MAXDOP-Wert der Abfrage festlegen.In such a case, you can set MAXDOP value of the index operation to be higher than the MAXDOP value for the query. Auf diese Weise verfügt SQL Server über eine größere Anzahl von Prozessoren, die für den Indexvorgang genutzt werden kann, im Vergleich zur Anzahl der Prozessoren, die ausschließlich für die umfangreiche Abfrage verwendet werden können.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. Beachten Sie, dass Sie nicht die Anzahl der Threads steuern können, die SQL Server für jeden Vorgang verwendet.Remember, you do not control the number of threads SQL Server will use for each operation. Sie können die maximale Anzahl der Prozessoren steuern, die für das Multithreading reserviert werden.You can control the maximum number of processors being dedicated for multi-threading.

Lesen Sie die weiteren Informationen zu Graden an Parallelität in SQL Server.Learn more about Degrees of Parallelism in SQL Server. Hier erfahren Sie mehr zu Einstellungen, mit denen das Multithreading in Ihrer Anwendung und deren Konfiguration zum Optimieren der Leistung beeinflusst werden können.Find out such settings that influence multi-threading in your application and their configurations to optimize performance.

WarteschlangenlängeQueue depth

Die Warteschlangenlänge ist die Anzahl ausstehender E/A-Anforderungen im System.The queue depth or queue length or queue size is the number of pending IO requests in the system. Der Wert der Warteschlangenlänge bestimmt, wie viele E/A-Vorgänge Ihre Anwendung in die Schlange stellen kann, die von den Speicherdatenträgern verarbeitet werden sollen.The value of queue depth determines how many IO operations your application can line up, which the storage disks will be processing. Dieser Wert betrifft alle drei Anwendungsleistungsindikatoren, die wir in diesem Artikel behandelt haben: IOPS, Durchsatz und Latenz.It affects all the three application performance indicators that we discussed in this article viz., IOPS, throughput, and latency.

Warteschlangenlänge und Multithreading stehen in enger Beziehung.Queue Depth and multi-threading are closely related. Der Wert der Warteschlangenlänge gibt an, wie viel Multithreading von der Anwendung erreicht werden kann.The Queue Depth value indicates how much multi-threading can be achieved by the application. Wenn die Warteschlangenlänge hoch ist, kann die Anwendung mehr Vorgänge gleichzeitig ausführen, also mehr Multithreading unterstützen.If the Queue Depth is large, application can execute more operations concurrently, in other words, more multi-threading. Wenn die Warteschlangenlänge niedrig ist, obwohl die Anwendung mit mehreren Threads arbeitet, stehen nicht genügend Anforderungen für die gleichzeitige Ausführung in der Schlange.If the Queue Depth is small, even though application is multi-threaded, it will not have enough requests lined up for concurrent execution.

Standardanwendungen lassen meist nicht das Ändern der Warteschlangenlänge so, denn bei einer falschen Festlegung ist der Schaden größer als der Nutzen.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. Anwendungen legen in der Regel den richtigen Wert für die Warteschlangenlänge fest, um sich eine optimale Leistung zu sichern.Applications will set the right value of queue depth to get the optimal performance. Allerdings ist es wichtig, dieses Konzept zu verstehen, damit Sie Leistungsprobleme bei Ihrer Anwendung beheben können.However, it is important to understand this concept so that you can troubleshoot performance issues with your application. Sie können die Auswirkungen der Warteschlangenlänge beobachten, indem Sie in Ihrem System Benchmarktools ausführen.You can also observe the effects of queue depth by running benchmarking tools on your system.

Einige Programme bieten Einstellungen zum Beeinflussen der Warteschlangenlänge.Some applications provide settings to influence the Queue Depth. Die SQL Server-Einstellung „Max. Grad an Parallelität“ (MAXDOP) wurde beispielsweise im vorherigen Abschnitt vorgestellt.For example, the MAXDOP (maximum degree of parallelism) setting in SQL Server explained in previous section. MAXDOP ist eine Möglichkeit, Warteschlangenlänge und Multithreading zu beeinflussen, obwohl dadurch der SQL Server-Wert der Warteschlangenlänge nicht direkt geändert wird.MAXDOP is a way to influence Queue Depth and multi-threading, although it does not directly change the Queue Depth value of SQL Server.

Hohe WarteschlangenlängeHigh queue depth
Bei einer hohen Warteschlangenlänge werden mehr Vorgänge auf dem Datenträger in die Schlange gestellt.A high queue depth lines up more operations on the disk. Der Datenträger kennt die nächste Anforderungen in seiner Warteschlange vorzeitig.The disk knows the next request in its queue ahead of time. Daher kann der Datenträger Vorgänge im Voraus planen und sie in einer optimalen Sequenz verarbeiten.Consequently, the disk can schedule operations ahead of time and process them in an optimal sequence. Da die Anwendung mehr Anforderungen zum Datenträger überträgt, kann der Datenträger mehr parallele E/A-Vorgänge verarbeiten.Since the application is sending more requests to the disk, the disk can process more parallel IOs. Schlussendlich erzielt die Anwendung dadurch mehr IOPS.Ultimately, the application will be able to achieve higher IOPS. Da die Anwendung mehr Anforderungen verarbeitet, erhöht sich auch der Gesamtdurchsatz der Anwendung.Since application is processing more requests, the total Throughput of the application also increases.

In der Regel erzielt eine Anwendung einen maximalen Durchsatz bei 8-16 und mehr ausstehenden E/A-Vorgängen pro angefügtem Datenträger.Typically, an application can achieve maximum Throughput with 8-16+ outstanding IOs per attached disk. Wenn die Warteschlangenlänge den Wert 1 hat, überträgt die Anwendung nicht genügend E/A-Vorgänge an das System, sodass in einem bestimmten Zeitraum weniger davon verarbeitet werden.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. Das bedeutet weniger Durchsatz.In other words, less Throughput.

Beispiel: Wenn in SQL Server der MAXDOP-Wert für eine Abfrage auf 4 festgelegt wird, erkennt SQL Server, dass bis zu vier Kerne verwendet werden können, um die Abfrage auszuführen.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 bestimmt den besten Wert für die Warteschlangenlänge und die Anzahl der Kerne für die Abfrageausführung.SQL Server will determine what is best queue depth value and the number of cores for the query execution.

Optimale WarteschlangenlängeOptimal queue depth
Eine sehr hohe Warteschlangenlänge hat jedoch auch Nachteile.Very high queue depth value also has its drawbacks. Wenn der Wert zu hoch ist, versucht die Anwendung, eine sehr hohe IOPS-Rate zu erzielen.If queue depth value is too high, the application will try to drive very high IOPS. Außer wenn die Anwendung über beständige Datenträger mit ausreichend bereitgestellten IOPS verfügt, kann sich dies negativ auf die Anwendungslatenz auswirken.Unless application has persistent disks with sufficient provisioned IOPS, this can negatively affect application latencies. Die folgende Formel zeigt die Beziehung zwischen IOPS, Latenz und Warteschlangenlänge.Following formula shows the relationship between IOPS, latency, and queue depth.

Die Warteschlangenlänge darf nicht auf einen beliebig hohen Wert festgelegt werden. Wichtig ist ein optimaler Wert, der der Anwendung genügend IOPS bieten kann, ohne für mehr Latenz zu sorgen.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. Wenn z. B. die Anwendungslatenz 1 Millisekunde sein muss, ist die erforderliche Warteschlangenlänge zum Erzielen von 5.000 IOPS wie folgt: WL = 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.

Warteschlangenlänge für StripesetvolumeQueue Depth for Striped Volume
Für ein Stripesetvolume muss die Warteschlangenlänge so hoch sein, dass jeder Datenträger über eine individuelle Spitzenwarteschlangenlänge verfügt.For a striped volume, maintain a high enough queue depth such that, every disk has a peak queue depth individually. Nehmen wir als Beispiel eine Anwendung mit dem Wert 2 für die Warteschlangenlänge und mit vier Datenträgern im Stripeset.For example, consider an application that pushes a queue depth of 2 and there are four disks in the stripe. Die beiden E/A-Anforderungen werden an zwei Datenträger gerichtet, während die restlichen inaktiv bleiben.The two IO requests will go to two disks and remaining two disks will be idle. Konfigurieren Sie deshalb die Warteschlangenlänge so, dass alle Datenträger ausgelastet werden.Therefore, configure the queue depth such that all the disks can be busy. Folgende Formel veranschaulicht, wie Sie die Warteschlangenlänge von Stripesetvolumes bestimmen.Formula below shows how to determine the queue depth of striped volumes.

DrosselungThrottling

Azure Storage Premium stellt abhängig von den gewählten VM- und Datenträgergrößen die angegebene IOPS- und Durchsatzrate bereit.Azure Premium Storage provisions specified number of IOPS and Throughput depending on the VM sizes and disk sizes you choose. Immer wenn die Anwendung versucht, eine IOPS- oder Durchsatzrate über diese Limits der VM oder des Datenträgers hinaus zu nutzen, erfolgt eine Drosselung durch Storage Premium.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. Dies zeigt sich in Form von Leistungseinbußen in Ihrer Anwendung.This manifests in the form of degraded performance in your application. Folgen sind höhere Latenz, weniger Durchsatz oder weniger IOPS.This can mean higher latency, lower Throughput, or lower IOPS. Wenn Storage Premium keine Drosselung vornimmt, kann Ihre Anwendung vollständig ausfallen, sobald die zur Verfügung stehenden Ressourcen überschritten werden.If Premium Storage does not throttle, your application could completely fail by exceeding what its resources are capable of achieving. Um also Leistungsprobleme aufgrund der Drosselung zu vermeiden, stellen Sie Ihrer Anwendung stets ausreichend Ressourcen zur Verfügung.So, to avoid performance issues due to throttling, always provision sufficient resources for your application. Berücksichtigen Sie, was zuvor in den Abschnitt „VM-Größen“ und „Datenträgergrößen“ erörtert wurde.Take into consideration what we discussed in the VM sizes and Disk sizes sections above. Benchmarktests sind die beste Möglichkeit, um herauszufinden, welche Ressourcen Sie zum Hosten der Anwendung benötigen.Benchmarking is the best way to figure out what resources you will need to host your application.

Nächste SchritteNext steps

Wenn Sie für Ihren Datenträger einen Benchmarktest durchführen möchten, finden Sie weitere Informationen in unserem Artikel Benchmarktests für einen Datenträger.If you are looking to benchmark your disk, see our article on Benchmarking a disk.

Weitere Informationen zu den verfügbaren Datenträgertypen finden Sie unter Auswählen eines Datenträgertyps.Learn more about the available disk types: Select a disk type

Für SQL Server-Benutzer bietet sich das Lesen von Artikeln zu den bewährten Methoden für die Leistung von SQL Server an:For SQL Server users, read articles on Performance Best Practices for SQL Server: