Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:Azure SQL Database
Az adatbázis-tranzakciós egység (DTU) a processzor, a memória, az olvasás és az írás vegyes mérését képviselő mértékegység. Az egyes DTU-mértékekhez társított fizikai jellemzők (CPU, memória, IO) egy valós adatbázis-számítási feladatot szimuláló teljesítményteszt használatával vannak kalibrálva. Ez a cikk összefoglalja a DTU-teljesítménytesztet, és információkat oszt meg a sémáról, a használt tranzakciótípusokról, a számítási feladatok mixéről, a felhasználókról és a pacingról, a skálázási szabályokról és a teljesítményteszthez kapcsolódó metrikákról.
A DTU-alapú vásárlási modellre vonatkozó általános információkért tekintse meg a DTU-alapú vásárlási modell áttekintését.
Teljesítményteszt összefoglalása
A DTU-referenciamutató az online tranzakciófeldolgozási (OLTP) számítási feladatokban leggyakrabban előforduló alapszintű adatbázis-műveletek teljesítményének mérésére szolgál. Bár a teljesítménytesztet a felhőalapú számítástechnika szem előtt tartásával tervezték, az adatbázisséma, az adatpopuláció és a tranzakciók úgy lettek kialakítva, hogy széles körben reprezentatívak legyenek az OLTP számítási feladatokban leggyakrabban használt alapvető elemekre.
A teljesítményteszt eredményeinek korrelálása a valós adatbázis teljesítményével
Fontos tisztában lenni azzal, hogy minden referenciamutató reprezentatív és csak tájékoztató jellegű. A referenciaalkalmazással elért tranzakciós arányok nem lesznek azonosak a más alkalmazásokkal elérhető tranzakciós díjakkal. A teljesítményteszt különböző tranzakciótípusok gyűjteményéből áll, amelyek táblák és adattípusok tartományát tartalmazó sémán futnak. Bár a teljesítményteszt ugyanazokat az alapműveleteket gyakorolja, amelyek az összes OLTP-számítási feladat esetében gyakoriak, nem az adatbázis vagy az alkalmazás egyetlen meghatározott osztályát sem képviseli. A teljesítményteszt célja, hogy ésszerű útmutatót nyújtson egy adatbázis relatív teljesítményéhez, amely a számítási méretek közötti fel- vagy leskálázáskor várható.
A valóságban az adatbázisok különböző méretűek és összetettek, különböző számítási feladatokkal találkoznak, és különböző módokon fognak válaszolni. Egy IO-igényes alkalmazás például hamarabb eléri az IO-küszöbértékeket, vagy egy processzorigényes alkalmazás hamarabb eléri a CPU-korlátokat. Nincs garancia arra, hogy egy adott adatbázis ugyanúgy skálázható, mint a teljesítménymutató a terhelés növelése során.
A referenciamutatót és annak módszertanát ebben a cikkben részletesebben ismertetjük.
Séma
A séma úgy lett kialakítva, hogy elég változatos és összetett legyen a műveletek széles körének támogatásához. A teljesítményteszt egy hat táblából álló adatbázison fut. A táblák három kategóriába sorolhatók: rögzített méret, skálázás és növekvő. Két rögzített méretű tábla van; három skálázási táblázat; és egy növekvő táblázatot. A rögzített méretű táblák sorainak száma állandó. A táblák skálázása számossággal rendelkezik, amely arányos az adatbázis teljesítményével, de a teljesítményteszt során nem változik. A növekvő tábla mérete a kezdeti terhelésen skálázási táblázatként van méretezve, de a teljesítményteszt futtatása során a számosság megváltozik a sorok beszúrása és törlése során.
A séma adattípusok kombinációját tartalmazza, beleértve az egész számot, a numerikus számot, a karaktert és a dátumot/időt. A séma elsődleges és másodlagos kulcsokat tartalmaz, idegen kulcsokat azonban nem – vagyis nincsenek hivatkozási integritási korlátozások a táblák között.
Az adatgenerálási program létrehozza a kezdeti adatbázis adatait. Az egész és numerikus adatok különböző stratégiákkal jönnek létre. Bizonyos esetekben az értékek véletlenszerűen oszlanak el egy tartományon. Más esetekben a rendszer véletlenszerűen módosít egy értékhalmazt egy adott eloszlás fenntartása érdekében. A szövegmezők a szavak súlyozott listájából jönnek létre a valósághű megjelenésű adatok létrehozásához.
Az adatbázis mérete egy skálázási tényezőalapján van méretezve. A méretezési tényező (rövidítve SF) határozza meg a méretezési és növekvő táblák számosságát. A Felhasználók és a Pacing című szakaszban leírtak szerint az adatbázis mérete, a felhasználók száma és a maximális teljesítmény egymással arányban skálázható.
Tranzakciók
A számítási feladat kilenc tranzakciótípusból áll, az alábbi táblázatban látható módon. Minden tranzakció úgy van kialakítva, hogy kiemelje az adatbázismotor és a rendszerhardver bizonyos rendszerjellemzőit, és kontrasztos legyen a többi tranzakcióval szemben. Ez a megközelítés megkönnyíti a különböző összetevők általános teljesítményre gyakorolt hatásának felmérését. A "Read Heavy" tranzakció például jelentős számú olvasási műveletet hoz létre a lemezről.
Tranzakció típusa | Leírás |
---|---|
Olvassa el a Lite-t | KIVÁLASZT; memóriában; írásvédett |
Olvassa a Mediumot | SELECT; többnyire a memóriában; csak olvasható |
Sok olvasás | KIVÁLASZT; nem mindig a memóriában; írásvédett |
Lite frissítése | FRISSÍT; memóriában; írás-olvasás |
A Heavy frissítése | FRISSÍTÉS, többnyire nem a memóriában, olvasási és írási műveletek. |
A Lite verzió beszúrása | BEILLESZT; memóriában; írás-olvasás |
Nehéz beszúrása | BEILLESZT; többnyire nem memóriában; írás-olvasás |
Töröl | TÖRÖL; memórián belüli és memórián kívüli keverék; olvasás-írás |
CPU intenzív | KIVÁLASZTÁS; memóriában; viszonylag nagy CPU-terhelés; csak olvasható |
Munkaterhelés keveréke
A tranzakciók véletlenszerűen vannak kiválasztva egy súlyozott eloszlásból, az alábbi teljes keverékkel. A teljes keverék olvasási/írási aránya körülbelül 2:1.
Tranzakció típusa | % keverék |
---|---|
Olvassa el a Lite-t | 35 |
Olvassa a Mediumot | 20 |
Sok olvasás | 5 |
Lite frissítése | 20 |
A Heavy frissítése | 3 |
A Lite verzió beszúrása | 3 |
Nehéz beszúrása | 2 |
Töröl | 2 |
CPU intenzív | 10 |
Felhasználók és ritmus
A teljesítményteszt számítási feladatait egy olyan eszköz hajtja, amely tranzakciókat küld egy kapcsolatkészleten, hogy szimulálja több egyidejű felhasználó viselkedését. Bár az összes kapcsolat és tranzakció gépi generált, az egyszerűség kedvéért ezeket a kapcsolatokat felhasználóként említjük . Bár minden felhasználó az összes többi felhasználótól függetlenül működik, az összes felhasználó ugyanazt a lépéseket hajtja végre, mint az alábbiakban:
- Adatbázis-kapcsolat létrehozása.
- Ismételje meg, amíg nem kap jelzést a kilépésre:
- Válasszon ki egy tranzakciót véletlenszerűen (súlyozott eloszlásból).
- Hajtsa végre a kiválasztott tranzakciót, és mérje meg a válaszidőt.
- Várjon egy időzítési késleltetésre.
- Zárja be az adatbázis-kapcsolatot.
- Kijárat.
A késleltetés (a 2c. lépésben) véletlenszerűen van kiválasztva, de egy átlagosan 1,0 másodperces eloszlással. Így minden felhasználó átlagosan másodpercenként legfeljebb egy tranzakciót generálhat.
Skálázási szabályok
A felhasználók számát az adatbázis mérete határozza meg (méretezési tényező egységekben). Minden öt méretezési tényezőegységhez egy felhasználó tartozik. A késleltetés miatt egy felhasználó átlagosan másodpercenként legfeljebb egy tranzakciót hozhat létre.
Egy 500 -os (SF=500) méretű adatbázis például 100 felhasználóval rendelkezik, és 100 TPS-es maximális sebességet érhet el. A magasabb TPS-arány eléréséhez több felhasználóra és nagyobb adatbázisra van szükség.
Mérés időtartama
Az érvényes teljesítményteszt-futtatáshoz legalább egy óra állandó állapotú mérési időtartam szükséges.
Métrikák
A teljesítményteszt fő mérőszámai az átviteli sebesség és a válaszidő.
- Az átviteli sebesség a teljesítményteszt alapvető teljesítménymérése. Az átviteli sebesség az időegységenkénti tranzakciókban lesz jelentve, az összes tranzakciótípust megszámolva.
- A válaszidő a teljesítmény kiszámíthatóságának mértéke. A válaszidő korlátozása a szolgáltatási osztálytól függően változik, a magasabb szolgáltatási osztályok esetében szigorúbb válaszidő-követelmény van, ahogy az alább látható.
Szolgáltatásosztály | Átvitel mértéke | Válaszidő-követelmény |
---|---|---|
Prémium | Másodpercenkénti tranzakciók | 95. percentilis 0,5 másodpercen |
Szabvány | Tranzakciók percenként | 90. percentilis 1,0 másodpercen |
Alapszintű | Tranzakciók óránként | 80. percentilis 2,0 másodpercen |
Jegyzet
A válaszidő-metrikák a DTU-teljesítménytesztrevonatkoznak. Más számítási feladatok válaszideje számítási feladattól függ, és eltérő lesz.
Kapcsolódó tartalom
- DTU-alapú vásárlási modell áttekintése
- vCore vásárlási modell – Azure SQL Database
- Az Azure SQL Database virtuális mag- és DTU-alapú vásárlási modelljeinek összehasonlítása
- Azure SQL Database migrálása a DTU-alapú modellből a vCore-alapú modellbe
- DTU vásárlási modellt használó önálló adatbázisok erőforráskorlátai – Azure SQL Database
- rugalmas készletek erőforráskorlátai a DTU vásárlási modellel