Warstwy usług w modelu zakupów opartym na jednostkach DTU

DOTYCZY: Azure SQL Database

Warstwy usług w modelu zakupów opartym na jednostkach DTU różnią się zakresem rozmiarów obliczeniowych z stałą ilością dołączonego magazynu, stałym okresem przechowywania kopii zapasowych i stałą ceną. Wszystkie warstwy usług w modelu zakupów opartym na jednostkach DTU zapewniają elastyczność zmieniania rozmiarów zasobów obliczeniowych przy minimalnych przestojach; Jednak istnieje przełączenie w okresie, w którym łączność z bazą danych zostanie utracona na krótki czas, co można ograniczyć przy użyciu logiki ponawiania prób. Pojedyncze bazy danych i elastyczne pule są rozliczane godzinowo na podstawie warstwy usługi i rozmiaru zasobów obliczeniowych.

Ważne

Usługa Azure SQL Managed Instance nie obsługuje modelu zakupów opartego na jednostkach DTU.

Uwaga

Aby uzyskać informacje o warstwach usług opartych na rdzeniu wirtualnych, zobacz Warstwy usług oparte na rdzeniu wirtualnych. Aby uzyskać informacje o poszczególnych warstwach usług opartych na jednostkach DTU i warstwach usług opartych na rdzeniu wirtualnych, zobacz modele zakupów.

Porównanie warstw usług opartych na jednostkach DTU

Wybór warstwy usługi zależy przede wszystkim od wymagań dotyczących ciągłości działania, magazynu i wydajności.

Podstawowa Standardowa (Standard) Premium
Obciążenie docelowe Tworzenie i produkcja Tworzenie i produkcja Tworzenie i produkcja
Umowa SLA czasu pracy 99,99% 99,99% 99,99%
Maksymalny okres przechowywania kopii zapasowych 7 dni 35 dni 35 dni
Procesor CPU Niski Niski, Średni, Wysoki Średni, Wysoki
Liczba IOPS (przybliżona)* 1–4 IOPS na jednostkę DTU 1–4 IOPS na jednostkę DTU >25 IOPS na jednostkę DTU
Opóźnienie operacji we/wy (przybliżone) 5 ms (odczyt), 10 ms (zapis) 5 ms (odczyt), 10 ms (zapis) 2 ms (odczyt/zapis)
Indeksowanie magazynu kolumn Nie dotyczy S3 i powyższe Obsługiwane
Oltp w pamięci NIE DOTYCZY NIE DOTYCZY Obsługiwane

* Wszystkie odczyt i zapis we/wy odczytu i zapisu dla plików danych, w tym we/wy w tle (punkt kontrolny i zapis z opóźnieniem)

Ważne

Cele usługi Podstawowa, S0, S1 i S2 zapewniają mniej niż jeden rdzeń wirtualnych (CPU). W przypadku obciążeń intensywnie obciążanych procesorem zalecany jest cel usługi S3 lub większy.

W celach usługi Podstawowa, S0 i S1 pliki bazy danych są przechowywane w usłudze Azure Standard Storage, która używa nośnika magazynu opartego na dysku twardym (HDD). Te cele usługi najlepiej nadają się do tworzenia, testowania i innych rzadko używanych obciążeń, które są mniej wrażliwe na zmienność wydajności.

Porada

Aby wyświetlić rzeczywiste limity nadzoru nad zasobami dla bazy danych lub elastycznej puli, należy sys.dm_user_db_resource_governance widoku.

Uwaga

Możesz uzyskać bezpłatną bazę danych w usłudze Azure SQL Database warstwie usługi Podstawowa w połączeniu z bezpłatnym kontem platformy Azure, aby poznać platformę Azure. Aby uzyskać więcej informacji, zobacz Tworzenie zarządzanej bazy danych w chmurze przy użyciu bezpłatnego konta platformy Azure.

Limity jednostek DTU i magazynu pojedynczej bazy danych

Rozmiary obliczeniowe są wyrażane w jednostkach transakcji bazy danych (DTU) dla pojedynczych baz danych i elastycznych jednostkach transakcji bazy danych (eDKU) dla pul elastycznych. Aby uzyskać więcej informacji na temat jednostek DTU i eDKU, zobacz Model zakupów oparty na jednostce DTU.

Podstawowa Standardowa (Standard) Premium
Maksymalny rozmiar magazynu 2 GB 1 TB 4 TB
Maksymalna liczba jednostek DTU 5 3000 4000

Ważne

W pewnych okolicznościach może być konieczne zmniejszenie bazy danych w celu odzyskania nieużywanego miejsca. Aby uzyskać więcej informacji, zobacz Zarządzanie przestrzenią plików w Azure SQL Database.

Limity eDTU puli elastycznej, magazynu i bazy danych w puli

Podstawowa Standardowa Premium
Maksymalny rozmiar magazynu na bazę danych 2 GB 1 TB 1 TB
Maksymalny rozmiar magazynu na pulę 156 GB 4 TB 4 TB
Maksymalna liczba eDKU na bazę danych 5 3000 4000
Maksymalna liczba eDKU na pulę 1600 3000 4000
Maksymalna liczba baz danych na pulę 500 500 100

Ważne

Więcej niż 1 TB magazynu w warstwie Premium jest obecnie dostępne we wszystkich regionach z wyjątkiem: Chiny Wschodnie, Chiny Północne, Niemcy Środkowe i Niemcy Północno-Wschodnie. W tych regionach maksymalna wielkość magazynu w warstwie Premium jest ograniczona do 1 TB. Aby uzyskać więcej informacji, zobacz bieżące ograniczenia poziomów P11–P15.

Ważne

W pewnych okolicznościach może być konieczne zmniejszenie bazy danych w celu odzyskania nieużywanego miejsca. Aby uzyskać więcej informacji, zobacz Zarządzanie przestrzenią plików w programie Azure SQL Database.

Test porównawczy jednostek DTU

Charakterystyki fizyczne (procesor CPU, pamięć, we/wy) skojarzone z każdą miarą DTU są skalibrowane przy użyciu testu porównawczego, który symuluje rzeczywiste obciążenie bazy danych.

Korelowanie wyników testu porównawczego z rzeczywistą wydajnością bazy danych

Ważne jest, aby zrozumieć, że wszystkie testy porównawcze są reprezentatywne i tylko wskazujące. Wskaźniki transakcji osiągnięte za pomocą aplikacji porównawczej nie będą takie same jak te, które mogą zostać osiągnięte w przypadku innych aplikacji. Test porównawczy obejmuje kolekcję różnych typów transakcji uruchamianych względem schematu zawierającego zakres tabel i typów danych. Test porównawczy wykonuje te same podstawowe operacje, które są wspólne dla wszystkich obciążeń OLTP, ale nie reprezentuje żadnej konkretnej klasy bazy danych ani aplikacji. Celem testu porównawczego jest dostarczenie uzasadnionego przewodnika po względnej wydajności bazy danych, która może być oczekiwana podczas skalowania w górę lub w dół między rozmiarami obliczeniowymi. W rzeczywistości bazy danych mają różne rozmiary i złożoność, napotykają różne kombinacje obciążeń i reagują na różne sposoby. Na przykład aplikacja intensywnie obciążana we/wy może szybciej przekroczyć progi we/wy lub aplikacja intensywnie obciążana procesorem CPU może szybciej przekroczyć limity procesora CPU. Nie ma gwarancji, że dowolna określonej bazy danych będzie skalowana w taki sam sposób, jak test porównawczy pod rosnącym obciążeniem.

Test porównawczy i jego metodologia zostały opisane bardziej szczegółowo poniżej.

Podsumowanie testu porównawczego

Test porównawczy mierzy wydajność kombinacji podstawowych operacji bazy danych, które występują najczęściej w obciążeniach przetwarzania transakcji online (OLTP). Mimo że test porównawczy został zaprojektowany z myślą o przetwarzaniu w chmurze, schemat bazy danych, populacja danych i transakcje zostały zaprojektowane tak, aby ogólnie reprezentatywne dla podstawowych elementów najczęściej używanych w obciążeniach OLTP.

Schemat

Schemat został zaprojektowany tak, aby zapewniał wystarczającą różnorodność i złożoność do obsługi szerokiego zakresu operacji. Test porównawczy jest uruchamiany względem bazy danych złożonej z sześciu tabel. Tabele można podzielone na trzy kategorie: stały rozmiar, skalowanie i wzrost. Istnieją dwie tabele o stałym rozmiarze: trzy tabele skalowania; i jedną rosnącą tabelę. Tabele o stałym rozmiarze mają stałą liczbę wierszy. Tabele skalowania mają kardynalność proporcjonalną do wydajności bazy danych, ale nie zmienia się podczas testu porównawczego. Rozmiar tabeli rosnącej jest taki jak tabela skalowania przy początkowym obciążeniu, ale następnie kardynalność zmienia się w trakcie uruchamiania testu porównawczego w przypadku wstawienia i usunięcia wierszy.

Schemat zawiera kombinację typów danych, w tym liczb całkowitych, liczbowych, znakowych i daty/godzin. Schemat zawiera klucze podstawowe i pomocnicze, ale nie wszystkie klucze obce — to oznacza, że nie ma żadnych ograniczeń integralności referencyjnej między tabelami.

Program generowania danych generuje dane dla początkowej bazy danych. Dane całkowite i liczbowe są generowane przy użyciu różnych strategii. W niektórych przypadkach wartości są dystrybuowane losowo w zakresie. W innych przypadkach zestaw wartości jest losowo permutowany, aby zapewnić zachowanie określonej dystrybucji. Pola tekstowe są generowane na podstawie ważonej listy słów, aby generować realistyczne dane.

Rozmiar bazy danych jest oparty na "współczynniku skali". Współczynnik skali (skrócony jako SF) określa kardynalność skalowania i rosnących tabel. Jak opisano poniżej w sekcji Użytkownicy i pacing, rozmiar bazy danych, liczba użytkowników i maksymalna wydajność są skalowane proporcjonalnie do siebie nawzajem.

Transakcje

Obciążenie składa się z dziewięciu typów transakcji, jak pokazano w poniższej tabeli. Każda transakcja ma na celu wyróżnienie określonego zestawu cech systemowych aparatu bazy danych i sprzętu systemowego, z wysokim kontrastem z innymi transakcjami. Takie podejście ułatwia ocenę wpływu różnych składników na ogólną wydajność. Na przykład transakcja "Read Heavy" generuje znaczną liczbę operacji odczytu z dysku.

Typ transakcji Opis
Przeczytaj Temat WYBIERZ; w pamięci; tylko do odczytu
Średni odczyt WYBIERZ; głównie w pamięci; tylko do odczytu
Read Heavy WYBIERZ; przeważnie nie jest w pamięci; tylko do odczytu
Aktualizacja Systemu Windows AKTUALIZACJA; w pamięci; odczyt/zapis
Update Heavy AKTUALIZACJA; przeważnie nie jest w pamięci; odczyt/zapis
Wstaw Wstaw INSERT; w pamięci; odczyt/zapis
Insert Heavy INSERT; przeważnie nie jest w pamięci; odczyt/zapis
Usuń USUŃ; połączenie w pamięci, a nie w pamięci; odczyt/zapis
CPU Heavy WYBIERZ; w pamięci; stosunkowo duże obciążenie procesora CPU; tylko do odczytu

Mieszany obciążenie

Transakcje są wybierane losowo z rozkładu ważonego z następującą ogólną kombinacją. Ogólny współczynnik odczytu i zapisu wynosi około 2:1.

Typ transakcji % mieszanych
Przeczytaj Temat 35
Średni odczyt 20
Read Heavy 5
Aktualizacja Systemu Windows 20
Update Heavy 3
Wstaw Wstaw 3
Insert Heavy 2
Usuń 2
CPU Heavy 10

Użytkownicy i tempo

Obciążenie testów porównawczych jest oparte na narzędziu, które przesyła transakcje za pomocą zestawu połączeń w celu symulowania zachowania wielu równoczesnych użytkowników. Mimo że wszystkie połączenia i transakcje są generowane przez maszynę, dla uproszczenia te połączenia są oznaczane jako "użytkownicy". Mimo że każdy użytkownik działa niezależnie od wszystkich innych użytkowników, wszyscy użytkownicy wykonują ten sam cykl kroków, jak pokazano poniżej:

  1. Nawiąz połączenie z bazą danych.
  2. Powtarzaj tę czynność, aż zasygnalizuje zamknięcie:
    • Wybierz losową transakcję (z rozkładu ważonego).
    • Wykonaj wybraną transakcję i zmierz czas odpowiedzi.
    • Poczekaj na opóźnienie pacingu.
  3. Zamknij połączenie z bazą danych.
  4. Wyjścia.

Opóźnienie tempa (w kroku 2c) jest wybierane losowo, ale z rozkładem, który ma średnio 1,0 sekundy. W związku z tym każdy użytkownik może średnio wygenerować co najwyżej jedną transakcję na sekundę.

Reguły skalowania

Liczba użytkowników jest określana na podstawie rozmiaru bazy danych (w jednostkach współczynnika skali). Co pięć jednostek współczynnika skalowania ma jednego użytkownika. Ze względu na opóźnienie pacingu jeden użytkownik może wygenerować średnio co najwyżej jedną transakcję na sekundę.

Na przykład współczynnik skali 500 (SF = 500) bazy danych będzie miał 100 użytkowników i może osiągnąć maksymalną szybkość 100 TPS. Aby można było uzyskać wyższą szybkość tps, wymagana jest większa liczba użytkowników i większa baza danych.

Czas trwania pomiaru

Prawidłowy przebieg testu porównawczego wymaga czasu trwania pomiaru w stanie stabilnym co najmniej jednej godziny.

Metryki

Kluczowe metryki w te testach porównawczych to przepływność i czas odpowiedzi.

  • Przepływność jest podstawową miarą wydajności w te benchmarku. Przepływność jest zgłaszana w transakcjach na jednostkę czasu, licząc wszystkie typy transakcji.
  • Czas odpowiedzi jest miarą przewidywalności wydajności. Ograniczenie czasu odpowiedzi różni się w zależności od klasy usługi, a wyższe klasy usług mają bardziej rygorystyczne wymagania dotyczące czasu odpowiedzi, jak pokazano poniżej.
Klasa usługi Miara przepływności Wymaganie dotyczące czasu odpowiedzi
Premium Transakcje na sekundę 95. percentyl przy 0,5 s
Standardowa (Standard) Transakcje na minutę 90. percentyl przy 1,0 s
Podstawowa Transakcje na godzinę 80. percentyl przy 2,0 s

Uwaga

Metryki czasu odpowiedzi są specyficzne dla testu porównawczego jednostek DTU. Czasy odpowiedzi dla innych obciążeń są zależne od obciążenia i będą się różnić.

Następne kroki

  • Aby uzyskać szczegółowe informacje na temat określonych rozmiarów obliczeniowych i rozmiarów magazynu dostępnych dla pojedynczych baz danych, zobacz SQL Database limity zasobów oparte na jednostce DTU dla pojedynczych baz danych.
  • Aby uzyskać szczegółowe informacje na temat określonych rozmiarów obliczeniowych i rozmiarów magazynu dostępnych dla pul elastycznych, zobacz SQL Database limity zasobów oparte na jednostkach DTU.