Hallo zusammen,
dreimal hatte ich hier in den letzten 3.5 Jahren, schon über das Thema Azure SQL Database – Performance Level berichtet. Seitdem hat sich wieder einiges getan und ich habe mich deshalb entschieden, den Artikel von damals zu aktualisieren bzw. zu ergänzen und erneut zu veröffentlichen.
Als erstes stellt sich natürlich sofort die Frage:
Warum ist das Thema Performance Levels wichtig für uns?
Die Frage ist eigentlich einfach zu beantworten, denn der Performance Level ist das Entscheidungskriterium für die Auswahl eines Azure SQL Database Service Tiers.
Wie definiert sich ein Performance Level?
Ein Performance Level definiert sich nur noch, über die Anzahl zulässiger DTUs (Database Throughput Units). Das zweite Kriterium das bisher verwendet wurde, die Transaction Rate (eine Metric aus dem Azure SQL Database Benchmark (ASDB) zur Erfassung des maximalen Transaktionsdurchsatz pro Stunde, Minute oder Sekunde), wird nicht mehr herangezogen.
Wie definiert sich eine DTU?
DTUs zu definieren ist etwas schwierig, da man sie zwar beschreiben aber als reales Objekt nicht greifen kann. DTUs sind Leistungseinheiten, denen ein bestimmter Prozentsatz der Gesamtleistung des Datenbankservers in puncto CPU, Memory und Read bzw. Write Rates zugeordnet werden. Die angebotenen Performance Level enthalten zwischen 5 DTU (in der Basic Edition) und 4000 DTUs (in der Premium Edition Stufe P15). Je höher die Anzahl der DTUs, um so größer ist die Leistungsfähigkeit der Datenbank.
Jeder Performance Level hat aber auch sog. Limitations:
Die maximale Größe der Datenbank ist je Level begrenzt:
- Basic – 2 GB
- Standard (S0 – S12) – 250 GB
- Premium (P1 – P6) – 500 GB
- Premium (P11 + P15) – 4 TB
- Premium RS – 500 GB
Wenn wir gerade beim Thema Datenbank Größe sind, es gibt mit dem Max. In-Memory OLTP Storage Value noch eine zweite Größenbeschränkung die zum Einsatz kommt. Ich werde diese Limitation hier allerdings nicht weiter vertiefen, denn die Größenbeschränkung gibt es nur bei Performance Level im Premiumbereich.
[neu] Bei der Größenbeschränkung der Datenbanken gab es letzte Woche eine interessante Änderung. Ab sofort habt ihr bei den Standard Leveln S3 – S12, den Premium Leveln P1 – P6 und den Premium RS Leveln die Möglichkeit eure Datenbank schrittweise (jeweils in 250 GB Schritten), bis zu einer möglichen Gesamtgröße von 1 TB, zu vergrößern. Dieses Feature wird als Storage AddOn bezeichnet.
Nächste Limitation ist der Point in Time Restore (PITR) Faktor. Dieser beschreibt einen möglichen Wiederherstellungszeitraum für die Datenbank. Der PITR beträgt für die Performance Level im einzelnen:
- Basic – bis zu einer Millisekunde innerhalb der letzten 7 Tage
- Standard – bis zu einer Millisekunde innerhalb der letzten 35 Tage
- Premium – bis zu einer Millisekunde innerhalb der letzten 35 Tage
- Premium RS – bis zu einer Millisekunde innerhalb der letzten 35 Tage
Auch die Anzahl der gleichzeitig aktiven Anforderungen (Max. Concurrent Workers), der gleichzeitig aktiven Logins (Max. Concurrent Logins) und gleichzeitigen Sitzungen (Max. Sessions) ist je Level begrenzt. (Details könnt ihr der Tabelle im nächsten Abschnitt entnehmen)
Welche Performance Level gibt es?
Insgesamt gibt es zwanzig Performance Levels: Für die Basic Edition ist die Leistungsstufe Basic (oder einfach nur B), für die Standard Edition sind die Leistungsstufen S0, S1, S2, S3, S4, S6, S7, S9 und S12, für die Premium Edition die Leistungsstufen P1, P2, P4, P6, P11 und P15 und für die Premium RS Edition die Leistungsstufen PRS1, PRS2, PRS4 und PRS6 verfügbar.
Die frühere Leistungsstufe P3 wurde modifiziert und in P6 umbenannt. Die Leistungsstufen P15 wurde eingeführt, um ein spezielles High End – Angebot für IT Workloads mit extrem schneller Transaktionsverarbeitung, wie z.B. Echtzeitanalysen, bereitzustellen.
Schauen wir uns die Details an:
Performance Level | DTU | Max. Concurrent Workers | Max. Concurrent Logins | Max. Sessions |
Basic | 5 | 30 | 30 | 300 |
S0 | 10 | 60 | 60 | 600 |
S1 | 20 | 90 | 90 | 900 |
S2 | 50 | 120 | 120 | 1200 |
S3 | 100 | 200 | 200 | 2400 |
S4 | 200 | 400 | 400 | 4800 |
S6 | 400 | 800 | 800 | 9600 |
S7 | 800 | 1600 | 1600 | 19200 |
S9 | 1600 | 3200 | 3200 | 30000 |
S12 | 3000 | 6000 | 6000 | 30000 |
P1 | 125 | 200 | 200 | 30000 |
P2 | 250 | 400 | 400 | 30000 |
P4 | 500 | 800 | 800 | 30000 |
P6 | 1000 | 1600 | 1600 | 30000 |
P11 | 1750 | 2400 | 2400 | 30000 |
P15 | 4000 | 6400 | 6400 | 30000 |
PRS1 | 125 | 200 | 200 | 30000 |
PRS2 | 250 | 400 | 400 | 30000 |
PRS4 | 500 | 800 | 800 | 30000 |
PRS6 | 1000 | 1600 | 1600 | 30000 |
Performance Level in grün markiert, sind ebenfalls neu seit letzter Woche.
Schöne Grüße
Oliver