Megosztás a következőn keresztül:


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:

  1. Adatbázis-kapcsolat létrehozása.
  2. 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.
  3. Zárja be az adatbázis-kapcsolatot.
  4. 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: