DTU-teljesítményteszt
A következőre 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ációja 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. Előfordulhat például, hogy egy IO-igényes alkalmazás 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éretezé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 |
---|---|
Lite olvasása | VÁLASSZA KI; memóriában; írásvédett |
Közepes olvasás | VÁLASSZA KI; többnyire memóriában; írásvédett |
Olvasási nehéz | VÁLASSZA KI; többnyire nem memóriában; írásvédett |
Lite frissítése | FRISSÍTÉS; memóriában; írás-olvasás |
A Heavy frissítése | FRISSÍTÉS; többnyire nem memóriában; írás-olvasás |
Lite beszúrása | BESZÚRÁSA; memóriában; írás-olvasás |
Nehéz beszúrása | BESZÚRÁSA; többnyire nem memóriában; írás-olvasás |
Törlés... | TÖRÖL; a memóriában lévő és nem a memóriában lévő keverék; írás-olvasás |
CPU Heavy | VÁLASSZA KI; memóriában; viszonylag nagy processzorterhelés; írásvédett |
Számítási feladatok mixe
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 | Mix %-a |
---|---|
Lite olvasása | 35 |
Közepes olvasás | 20 |
Olvasási nehéz | 5 |
Lite frissítése | 20 |
A Heavy frissítése | 3 |
Lite beszúrása | 3 |
Nehéz beszúrása | 2 |
Törlés... | 2 |
CPU Heavy | 10 |
Felhasználók és pacing
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ókként tekintjü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 a jelzés nem lép ki:
- 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 türelmi késleltetést.
- Zárja be az adatbázis-kapcsolatot.
- Kilépés.
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.
Metriká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 | Átviteli sebesség mértéke | Válaszidő-követelmény |
---|---|---|
Prémium | Másodpercenkénti tranzakciók | 95. percentilis 0,5 másodpercen |
Standard | Percenkénti tranzakciók | 90. percentilis 1,0 másodpercen |
Basic | Óránkénti tranzakciók | 80. percentilis 2,0 másodpercen |
Megjegyzés:
A válaszidő-metrikák a DTU-teljesítménytesztre vonatkoznak. Más számítási feladatok válaszideje számítási feladattól függ, és eltérő lesz.
További lépések
A modellek megvásárlásáról és a kapcsolódó fogalmakról az alábbi cikkekben talál további információt:
- DTU-alapú vásárlási modell áttekintése
- Virtuális mag 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
- Az Azure SQL Database migrálása a DTU-alapú modellből a virtuális magalapú modellbe
- Erőforráskorlátok önálló adatbázisokhoz a DTU vásárlási modell használatával – Azure SQL Database
- Rugalmas készletek erőforráskorlátai a DTU vásárlási modell használatával