Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Azure SQL Managed Instance
Utwórz punkt odniesienia wydajności, aby porównać wydajność obciążenia w usłudze SQL Managed Instance z oryginalnym obciążeniem uruchomionym w programie SQL Server.
Tworzenie punktu odniesienia
W idealnym przypadku wydajność jest podobna lub lepsza po migracji, dlatego ważne jest, aby mierzyć i rejestrować wartości wydajności punktu odniesienia w źródle, a następnie porównywać je ze środowiskiem docelowym. Punkt odniesienia wydajności to zestaw parametrów definiujących średnie obciążenie w źródle.
Wybierz zestaw zapytań, które są ważne i reprezentatywne dla obciążenia biznesowego. Mierzenie i dokumentowanie minimalnego/średniego/maksymalnego czasu trwania i użycia procesora CPU dla tych zapytań, a także metryk wydajności na serwerze źródłowym, takich jak średnie/maksymalne użycie procesora CPU, średnie/maksymalne opóźnienie operacji we/wy dysku, przepływność, liczba operacji we/wy na sekundę, średnia/ maksymalna długość życia strony oraz średni maksymalny rozmiar tempdb.
Następujące zasoby mogą pomóc w zdefiniowaniu punktu odniesienia wydajności:
- Monitorowanie użycia procesora CPU
- Monitorowanie użycia pamięci oraz określanie ilości pamięci używanej przez różne składniki, takie jak pula buforów, pamięć podręczna planów, pula magazynu kolumn, In-Memory OLTP itp. Ponadto należy znaleźć średnie i maksymalne wartości licznika wydajności pamięci Oczekiwana długość życia strony.
- Monitoruj użycie operacji wejścia/wyjścia (I/O) dysku w źródłowym wystąpieniu programu SQL Server przy użyciu widoku sys.dm_io_virtual_file_stats lub liczników wydajności.
- Monitoruj wydajność obciążeń i zapytań, sprawdzając dynamiczne widoki zarządzania (lub magazyn zapytań, jeśli migrujesz z programu SQL Server 2016 lub nowszego). Zidentyfikuj średni czas trwania i użycie CPU najważniejszych zapytań w Twoim obciążeniu roboczym.
Przed migracją należy rozwiązać wszelkie problemy z wydajnością źródłowego programu SQL Server. Migrowanie znanych problemów do dowolnego nowego systemu może spowodować nieoczekiwane wyniki i unieważnić dowolne porównanie wydajności.
Porównanie wydajności
Po zdefiniowaniu punktu odniesienia porównaj podobną wydajność obciążenia z docelowym wystąpieniem zarządzanym SQL. W celu zapewnienia dokładności ważne jest, aby środowisko usługi SQL Managed Instance było porównywalne ze środowiskiem programu SQL Server, jak to możliwe.
Istnieją różnice w infrastrukturze usługi SQL Managed Instance, które sprawiają, że dopasowanie wydajności jest dokładnie mało prawdopodobne. Niektóre zapytania mogą działać szybciej niż oczekiwano, podczas gdy inne mogą być wolniejsze. Celem tego porównania jest sprawdzenie, czy wydajność obciążenia w wystąpieniu zarządzanym jest zgodna z wydajnością SQL Server (średnio) oraz zidentyfikowanie zapytań krytycznych z wydajnością, które nie odpowiadają oryginalnej wydajności.
Porównanie wydajności może spowodować następujące wyniki:
Wydajność obciążenia w wystąpieniu zarządzanym jest równa lub lepsza od wydajności obciążenia w źródłowym programie SQL Server. W takim przypadku pomyślnie potwierdzisz, że migracja zakończyła się pomyślnie.
Większość parametrów wydajności i zapytań w obciążeniu działa zgodnie z oczekiwaniami, z pewnymi wyjątkami, co powoduje obniżenie wydajności. W tym przypadku zidentyfikuj różnice i ich znaczenie. Jeśli istnieją ważne zapytania o obniżonej wydajności, zbadaj, czy bazowe plany SQL uległy zmianie lub czy zapytania przekraczają limity zasobów. Można to złagodzić, stosując pewne wskazówki dotyczące zapytań krytycznych (na przykład zmiana poziomu zgodności, starszy estymator kardynalności) bezpośrednio lub przy użyciu przewodników planu zapytań. Upewnij się, że statystyki i indeksy są aktualne i równoważne w obu środowiskach.
Większość zapytań jest wolniejsza w wystąpieniu zarządzanym w porównaniu ze źródłowym wystąpieniem programu SQL Server. W takim przypadku spróbuj zidentyfikować główne przyczyny różnicy, takie jak osiągnięcie limitu zasobów, np. limitów I/O, pamięci lub limitów prędkości dzienników instancji. Jeśli nie ma żadnych limitów zasobów powodujących różnicę, spróbuj zmienić poziom zgodności bazy danych lub zmienić ustawienia bazy danych, takie jak starsze szacowanie kardynalności, i ponownie uruchom test. Zapoznaj się z zaleceniami dostarczonymi przez zarządzane wystąpienie lub widoki Query Store, aby zidentyfikować zapytania z regresją wydajności.
Usługa SQL Managed Instance ma wbudowaną funkcję automatycznej korekty planu, która jest domyślnie włączona. Ta funkcja zapewnia, że zapytania, które działały prawidłowo w przeszłości, nie pogorszą się w przyszłości. Jeśli ta funkcja nie jest włączona, uruchom obciążenie ze starymi ustawieniami, aby usługa SQL Managed Instance mogła poznać punkt odniesienia wydajności. Następnie włącz tę funkcję i ponownie uruchom obciążenie przy użyciu nowych ustawień.
Wprowadź zmiany w parametrach testu lub uaktualnienia do wyższych warstw usług, aby osiągnąć optymalną konfigurację wydajności obciążenia, która odpowiada Twoim potrzebom.
Monitorowanie wydajności
Usługa SQL Managed Instance udostępnia zaawansowane narzędzia do monitorowania i rozwiązywania problemów, które należy używać do monitorowania wydajności instancji. Oto niektóre kluczowe metryki do monitorowania:
- Użycie CPU na instancji w celu określenia, czy liczba przydzielonych rdzeni wirtualnych jest odpowiednia dla twojego obciążenia.
- Oczekiwana długość życia strony w wystąpieniu zarządzanym w celu określenia, czy potrzebujesz więcej pamięci.
- Statystyki, takie jak
INSTANCE_LOG_GOVERNORlubPAGEIOLATCH, które identyfikują problemy z we/wy pamięci masowej, szczególnie w warstwie ogólnego przeznaczenia, gdzie może być konieczne przydzielenie plików z wyprzedzeniem, aby uzyskać lepszą wydajność operacji we/wy.
Rozważania
Podczas porównywania wydajności należy wziąć pod uwagę następujące wymagania:
Ustawienia są zgodne między źródłem a celem. Sprawdź, czy różne ustawienia wystąpień, bazy danych i
tempdbsą równoważne między dwoma środowiskami. Różnice w konfiguracji, poziomach zgodności, ustawieniach szyfrowania, flagach śledzenia itp., mogą wpływać na wydajność.Magazyn jest skonfigurowany zgodnie z najlepszymi rozwiązaniami. Na przykład, w przypadku Ogólnego przeznaczenia może być konieczne wstępne przydzielenie rozmiaru plików, aby poprawić wydajność.
Istnieją kluczowe różnice w środowisku , które mogą powodować różnice wydajności między wystąpieniem zarządzanym a programem SQL Server. Zidentyfikuj czynniki ryzyka związane ze środowiskiem, które mogą przyczynić się do wystąpienia problemu z wydajnością.
Magazyn zapytań i automatyczne dostrajanie powinny być włączone w wystąpieniu zarządzanym SQL, ponieważ ułatwiają one mierzenie wydajności obciążenia i automatyczne eliminowanie potencjalnych problemów z wydajnością.
Treści powiązane
- Jak określić, dlaczego wydajność obciążenia w usłudze Azure SQL Managed Instance różni się od programu SQL Server?
- Najważniejsze przyczyny różnic wydajności między usługą SQL Managed Instance i programem SQL Server
- Najlepsze rozwiązania i zagadnienia dotyczące wydajności magazynu dla usługi Azure SQL Managed Instance (ogólnego przeznaczenia)
- Monitorowanie wydajności w czasie rzeczywistym dla usługi Azure SQL Managed Instance (jest to zarchiwizowane, czy jest to zamierzony cel?)