Skalowanie zasobów puli elastycznej w usłudze Azure SQL Database
Dotyczy:Azure SQL Database
W tym artykule opisano sposób skalowania zasobów obliczeniowych i magazynowych dostępnych dla elastycznych pul i pulowanych baz danych w usłudze Azure SQL.
Zmienianie zasobów obliczeniowych (rdzeni wirtualnych lub jednostek DTU)
Po początkowym wybraniu liczby rdzeni wirtualnych lub jednostek eDTU można skalować elastyczną pulę w górę lub w dół dynamicznie na podstawie rzeczywistych doświadczeń przy użyciu dowolnej z poniższych metod:
Wpływ zmiany warstwy usługi lub zmiany rozmiaru obliczeniowego
Zmiana warstwy usługi lub rozmiaru obliczeniowego elastycznej puli jest zgodna z podobnym wzorcem co w przypadku pojedynczych baz danych i obejmuje głównie usługę wykonującą następujące kroki:
Utwórz nowe wystąpienie obliczeniowe dla puli elastycznej
Zostaje utworzone nowe wystąpienie obliczeniowe dla elastycznej puli z żądanym poziomem usługi i rozmiarem obliczeniowym. W przypadku niektórych kombinacji warstwy usług i zmian rozmiaru obliczeniowego należy utworzyć replikę każdej bazy danych w nowym wystąpieniu obliczeniowym, które obejmuje kopiowanie danych i może mieć duży wpływ na ogólne opóźnienie. Niezależnie od tego, bazy danych pozostają w trybie online w tym kroku, a połączenia nadal są kierowane do baz danych w oryginalnym wystąpieniu obliczeniowym.
Przełącz routing połączeń do nowej instancji obliczeniowej
Istniejące połączenia z bazami danych w oryginalnym wystąpieniu obliczeniowym są porzucane. Wszystkie nowe połączenia są ustanawiane z bazami danych w nowym wystąpieniu obliczeniowym. W przypadku niektórych kombinacji zmian warstwy usługi i rozmiaru obliczeniowego pliki bazy danych są odłączane i ponownie dołączane podczas przełączania. Niezależnie od tego przełącznik może spowodować krótką przerwę w działaniu usługi, gdy bazy danych są ogólnie niedostępne przez mniej niż 30 sekund i często przez tylko kilka sekund. Jeśli istnieją aktywne długotrwałe transakcje, gdy połączenia zostaną porzucone, czas trwania tego kroku może potrwać dłużej, aby odzyskać przerwane transakcje. Przyspieszone Odzyskiwanie Bazy Danych może zmniejszyć wpływ wynikający z przerywania długotrwałych transakcji.
Ważne
Żadne dane nie są tracone w żadnym kroku przepływu pracy.
Opóźnienie zmiany poziomu usługi lub przeskalowania rozmiaru obliczeniowego
Szacowane opóźnienie zmiany warstwy usługi, skalowanie rozmiaru obliczeniowego pojedynczej bazy danych lub elastycznej puli, przenoszenie bazy danych do elastycznej puli lub przenoszenie bazy danych między pulami elastycznymi jest sparametryzowane w następujący sposób:
Opóźnienie skalowania elastycznej puli | Do puli elastycznej w warstwie podstawowej, standardowej, ogólnego przeznaczenia | Premium Krytyczna dla Biznesu elastyczna pula | Do elastycznej puli hiperskala |
---|---|---|---|
Z elastycznej puli Podstawowej, Standardowej, Uniwersalnej | Proporcjonalnie do liczby baz danych | • Opóźnienie proporcjonalne do przestrzeni bazy danych używanej z powodu kopiowania danych. • Zazwyczaj mniej niż 1 minuta na GB używanego miejsca. |
Nie dotyczy — bazy danych należy dodać indywidualnie do elastycznych pul Hiperskala. Opóźnienie skalowania dla każdej bazy danych udokumentowane w Skalowanie zasobów pojedynczej bazy danych. |
Z elastycznej puli zasobów Premium, kluczowej dla działania firmy | • Opóźnienie proporcjonalne do przestrzeni bazy danych używanej z powodu kopiowania danych. • Zazwyczaj mniej niż 1 minuta na GB używanego miejsca. |
• Opóźnienie proporcjonalne do przestrzeni bazy danych używanej z powodu kopiowania danych. • Zazwyczaj mniej niż 1 minuta na GB używanego miejsca. |
Nie dotyczy — bazy danych należy dodać indywidualnie do elastycznych pul w warstwie Hiperskala. Opóźnienie skalowania dla każdej bazy danych zostało udokumentowane w artykule Skalowanie zasobów pojedynczej bazy danych. |
Z puli elastycznej hiperskali | Brak | Brak | • Stałe opóźnienie czasu niezależne od używanego miejsca. • Zazwyczaj mniej niż 2 minuty. |
Uwaga
- Podczas zmieniania warstwy usługi lub skalowania zasobów obliczeniowych dla dowolnej elastycznej puli innej niż Hiperskala suma miejsca używanego we wszystkich bazach danych w puli powinna służyć do obliczenia oszacowania. Opóźnienie skalowania dla elastycznych pul hiperskala jest niezależne od używanego miejsca.
- W przypadku pul elastycznych Standardowych i Ogólnego Przeznaczenia, opóźnienie przenoszenia bazy danych do/z puli elastycznej lub między pulami elastycznymi będzie proporcjonalne do rozmiaru bazy danych, jeśli pula elastyczna korzysta z magazynu Premium File Share (PFS). Aby określić, czy pula używa magazynu PFS, wykonaj następujące zapytanie w kontekście dowolnej bazy danych w puli. Jeśli wartość w kolumnie AccountType jest równa
PremiumFileStorage
lubPremiumFileStorage-ZRS
, pula używa magazynu PFS.
SELECT s.file_id,
s.type_desc,
s.name,
FILEPROPERTYEX(s.name, 'AccountType') AS AccountType
FROM sys.database_files AS s
WHERE s.type_desc IN ('ROWS', 'LOG');
Uwaga
- Właściwość nadmiarowości strefowej pozostanie domyślnie taka sama podczas skalowania elastycznej puli z warstwy Business Critical do warstwy General Purpose.
- Opóźnienie operacji skalowania jest proporcjonalne do rozmiaru bazy danych, gdy zmieniana jest nadmiarowość strefy w elastycznej puli ogólnego przeznaczenia.
- Zmiana istniejącej elastycznej puli innej niż Hiperskala na wersję Hiperskala nie jest obsługiwana. Aby uzyskać więcej informacji, zobacz Hiperskalowe pule elastyczne. Zamiast tego należy każdą bazę danych dodać indywidualnie do elastycznych pul typu Hyperscale.
- Zmiana edycji puli elastycznej Hyperscale na edycję inną niż Hyperscale nie jest obsługiwana. Aby uzyskać więcej informacji, zobacz Hiperskalowalne pule elastyczne.
Napiwek
Aby monitorować operacje w toku, zobacz: Zarządzanie operacjami przy użyciu interfejsu API REST SQL, Zarządzanie operacjami przy użyciu interfejsu wiersza polecenia, Monitorowanie operacji przy użyciu języka T-SQL i tych dwóch poleceń programu PowerShell: Get-AzSqlElasticPoolActivity i Stop-AzSqlElasticPoolActivity.
Dodatkowe zagadnienia dotyczące zmieniania warstwy usługi lub ponownego skalowania rozmiaru obliczeniowego
- Podczas zmniejszania liczby rdzeni wirtualnych lub jednostek eDTU dla puli elastycznej, zajmowana przestrzeń puli musi być mniejsza niż maksymalny limit danych w docelowej warstwie usługi i zasobach obliczeniowych puli.
- W przypadku zwiększenia liczby jednostek eDTU dla elastycznej puli, jeśli spełniony jest poniższy warunek, może wystąpić dodatkowy koszt magazynowania:
- Maksymalny rozmiar danych w puli jest obsługiwany przez pulę docelową i
- Maksymalny rozmiar danych puli przekracza przewidzianą przestrzeń magazynową puli docelowej.
- Jeśli na przykład pula 100 eDTU w warstwie Standardowa o maksymalnym rozmiarze danych 100 GB zostanie zmniejszona do puli 50 eDTU w warstwie Standardowa, zostanie zastosowany dodatkowy koszt magazynowania, ponieważ pula docelowa obsługuje maksymalny rozmiar danych wynoszący 100 GB, a jego uwzględniona ilość miejsca do magazynowania wynosi tylko 50 GB. Dlatego dodatkowa ilość miejsca do magazynowania wynosi 100 GB – 50 GB = 50 GB. Aby uzyskać informacje na temat cen dodatkowego magazynu, zobacz Cennik usługi SQL Database. Jeśli rzeczywista ilość używanego miejsca jest mniejsza niż uwzględniona ilość miejsca do magazynowania, można uniknąć tego dodatkowego kosztu przez zmniejszenie maksymalnego rozmiaru danych do uwzględnionej kwoty.
Rozliczenia podczas ponownego skalowania
Opłaty są naliczane za każdą godzinę, przez którą baza danych istnieje przy użyciu najwyższej warstwy usług i rozmiaru obliczeniowego zastosowanego w tej godzinie, niezależnie od użycia lub tego, czy baza danych była aktywna przez mniej niż godzinę. Jeśli na przykład utworzysz pojedynczą bazę danych i usuniesz ją pięć minut później, rachunek odzwierciedla opłatę za jedną godzinę bazy danych.
Zmienianie wielkości magazynowania elastycznej puli
Rozmiar magazynu (maksymalny rozmiar danych) dla puli elastycznej można określić przy użyciu usługi Azure Portal, programu PowerShell, Azure CLI lub interfejsu API REST. Kiedy zwiększysz maksymalny rozmiar danych elastycznej puli, określona wartość nie może przekroczyć maksymalnego limitu rozmiaru danych zgodnie z docelowym poziomem usługi puli. Podczas zmniejszania maksymalnego rozmiaru danych określona nowa wartość musi być równa lub większa niż suma miejsca przydzielonego we wszystkich bazach danych w puli.
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 miejscem na pliki dla baz danych w usłudze Azure SQL Database.
Model zakupów oparty na rdzeniach wirtualnych
- Rozmiar magazynu (maksymalny rozmiar danych) dla pul elastycznych w warstwach General Purpose lub Business Critical można określić do limitów rozmiaru danych opisanych w sekcji Limity zasobów dla pul elastycznych przy użyciu modelu zakupu rdzeni wirtualnych. Maksymalny rozmiar danych dla puli elastycznej można zwiększyć lub zmniejszyć w wielokrotnościach 1 GB.
- Cena przechowywania dla elastycznej puli to maksymalny określony rozmiar danych, pomnożony przez cenę jednostkową poziomu usługi. Aby uzyskać szczegółowe informacje na temat cen magazynu, zobacz Cennik usługi SQL Database.
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 miejscem na pliki dla baz danych w usłudze Azure SQL Database.
Model zakupów oparty na jednostkach DTU
- Cena eDTU dla elastycznej puli obejmuje pewną ilość przestrzeni dyskowej bez dodatkowych kosztów. Dodatkowe miejsce do przechowywania danych poza określoną ilością można przydzielić za dodatkową opłatą, do maksymalnego limitu rozmiaru danych odpowiadającego liczbie przydzielonych jednostek eDTU. Aby uzyskać informacje o uwzględnionych ilościach magazynu i maksymalnych limitach rozmiaru danych, zobacz Limity zasobów dla pul elastycznych przy użyciu modelu zakupów jednostek DTU.
- Cena dodatkowego magazynu dla elastycznej puli to dodatkowa ilość miejsca do magazynowania pomnożona przez dodatkową cenę jednostkową warstwy usług. Aby uzyskać szczegółowe informacje na temat ceny dodatkowego magazynu, zobacz Cennik usługi SQL Database.
- Prawidłowe wartości maksymalnego rozmiaru danych dla elastycznej puli w warstwie Standardowej lub Premium mogą być jedną z następujących wartości: 50 GB, 100 GB, 150 GB, 200 GB, 250 GB, 300 GB, 400 GB, 500 GB, 750 GB, 800 GB, 1,024 GB, 1,200 GB, 1,280 GB, 1,536 GB, 1,600 GB, 1,792 GB, 2,000 GB, 2,048 GB, 2,304 GB, 2,500 GB, 2,560 GB, 2,816 GB, 3,000 GB, 3,072 GB, 3,328 GB, 3,584 GB, 3,840 GB, 4,096 GB. Zadany maksymalny rozmiar danych nie może przekroczyć maksymalnego limitu rozmiaru danych ustalonego dla przydzielonych jednostek eDTU.
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 miejscem na pliki dla baz danych w usłudze Azure SQL Database.
Monitorowanie lub anulowanie zmian skalowania
Można monitorować i anulować operację zmiany warstwy usług lub operacji skalowania zasobów obliczeniowych.
Na stronie Przegląd elastycznej puli SQL przejdź do obszaru Powiadomienia i wybierz kafelek wskazujący, że trwa operacja:
Na wynikowej stronie Wdrażanie jest w toku wybierz pozycję Anuluj.
Uprawnienia
Aby skalować pulę elastyczną za pośrednictwem portalu Azure, PowerShell, Azure CLI lub interfejsu API REST, należy posiadać uprawnienia RBAC platformy Azure, w szczególności rolę Azure RBAC "Współautor", "Współautor bazy danych SQL" lub "Współautor serwera SQL". Aby uzyskać więcej informacji, zobacz Wbudowane role RBAC platformy Azure.