Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł jest przeznaczony dla każdego, kto planuje wdrożyć lokalną bramę danych w scenariuszu krytycznym dla działania firmy. Lokalna brama danych ma kluczowe znaczenie dla działania firmy, jeśli jest niezbędna do normalnego działania firmy i obsługuje dane krytyczne dla działania firmy.
Jeśli bramy krytyczne dla działania firmy nie są prawidłowo zarządzane, mogą wystąpić nieudane zapytania lub niska wydajność. W przypadku prawidłowego planowania, skalowania i utrzymania rozwiązania bramy krytycznej dla działania firmy można zminimalizować prawdopodobieństwo wystąpienia problemu wpływającego na firmę.
Terminologia
W tym artykule są używane następujące ważne terminy:
- Brama: lokalna aplikacja bramy danych zainstalowana na komputerze.
- Serwer bramy: komputer z systemem Windows (maszyna wirtualna lub komputer fizyczny/serwer), który ma zainstalowaną lokalną aplikację bramy danych.
- Klaster bramy: zestaw bram, które współpracują ze sobą (i mogą być ze zrównoważonym obciążeniem).
- Członek bramy: brama, która jest częścią klastra bramy.
Na poniższej ilustracji przedstawiono relację między pojęciami zdefiniowanymi powyżej.
Zalecenia dotyczące bram krytycznych dla działania firmy
W przypadku bram o znaczeniu krytycznym dla działania firmy bramy muszą być wdrażane i zarządzane prawidłowo, aby zapewnić wysoką dostępność, dobrą wydajność i skalowalność z możliwością utrzymania. Nieprawidłowe wdrażanie bram może spowodować niską wydajność, nieudane zapytania i trudności w diagnozowaniu potencjalnych problemów. Może to również utrudniać skalowanie bram pionowo i poziomo w miarę wzrostu użycia.
Aby zapewnić optymalną skalowalność, wydajność i przepływność, postępuj zgodnie z zaleceniami w następnych sekcjach.
Znajdź wszystkie klucze odzyskiwania bramy
Upewnij się, że wszystkie klucze odzyskiwania bramy są znane i przechowywane w bezpiecznym miejscu. Bez klucza odzyskiwania nie można odzyskać ani zdegradować bram. To ograniczenie jest z założenia. Jeśli utracisz klucze odzyskiwania, jedyną opcją jest utworzenie nowych bram i ponowne utworzenie źródeł danych. Ponadto nie można dodawać nowych bram do klastra bez klucza odzyskiwania, co ograniczyłoby skalowalność w przyszłości.
Przechowuj klucze odzyskiwania w bezpiecznym miejscu tak samo jak w przypadku przechowywania poświadczeń administracyjnych, takich jak bezpieczne hasło, do których mogą uzyskiwać dostęp tylko autoryzowani administratorzy.
Jeśli obecnie nie znasz wszystkich kluczy odzyskiwania bramy, jest to znaczące ryzyko biznesowe. Natychmiast utwórz nowe klastry bram i rozpocznij migrację zestawów roboczych do nowych klastrów bram.
Obciążenia programistyczne i obciążenia krytyczne dla działania firmy
Oddziel obciążenia programistyczne od krytycznych dla działania firmy, konfigurując co najmniej jeden klaster bramy programistycznej i co najmniej jeden klaster bramy produkcyjnej.
Użyj klastra bramy programistycznej, aby przetestować nowe modele semantyczne, raporty, zapytania itd. Po zweryfikowaniu nowego obciążenia zmigruj go do klastra krytycznego dla działalności biznesowej. Ten proces zapobiega temu, aby nowe, nietestowane lub eksperymentalne obciążenia miały negatywny wpływ na wydajność obciążeń produkcyjnych.
Zaleca się także wykorzystanie klastrów bram deweloperskich do testowania nowych aktualizacji bram, zanim zastosujesz aktualizacje do klastrów bram o krytycznym znaczeniu dla działalności firmy. Nowe aktualizacje bramy powinny być wdrażane przez co najmniej 24 godziny w klastrach bram deweloperskich przed ich zastosowaniem w klastrach bram o znaczeniu krytycznym dla działania firmy.
Używanie wielu klastrów bram
Jeśli tworzysz klaster bramy dla dużej liczby użytkowników w organizacji, musisz utworzyć wiele klastrów bramy na podstawie jednostek biznesowych lub mniejszych, aby ograniczyć potencjalny wpływ na wydajność do niewielkiej grupy użytkowników.
Nie zalecamy użycia pojedynczego klastra bramy o znaczeniu krytycznym dla działania firmy (chyba że firma jest mała). W scenariuszu klastra pojedynczej bramy jeden użytkownik może wysłać zapytanie, które powoduje znaczący wpływ na wydajność całego ruchu w bramie. Jeśli brama jest używana w całej firmie, może to wpływać na wydajność całej firmy. Ponadto, gdy klaster bramy jest używany w całej firmie, może być trudniejsze do zidentyfikowania, które zapytanie może powodować problem z wydajnością podczas korzystania z funkcji monitorowania wydajności bramy .
Korzystaj z funkcji wysokiej dostępności i równoważenia obciążenia brami
Zawsze używaj funkcji wysokiej dostępności i równoważenia obciążenia bramy dla każdego klastra bramy o znaczeniu krytycznym dla biznesu.
- Wysoka dostępność: eliminuje pojedynczy punkt awarii.
- Równoważenie obciążenia: automatycznie dystrybuuje obciążenie na wszystkich serwerach bramy w klastrze.
Skonfiguruj co najmniej dwie bramy na klaster bram w przypadku, gdy jedna z bram przestanie działać z jakiegokolwiek powodu. Ta konfiguracja gwarantuje, że awaria pojedynczej bramy nie spowoduje awarii całego klastra bramy. Ponadto w bramach można włączyć limity procesora (CPU), pamięci i współbieżności, aby lepiej rozłożyć obciążenie między klaster bram.
Planowanie i utrzymanie skalowalności klastra bramy
Skonfigurowanie klastra bramy sieciowej zgodnie z naszymi zalecanymi wytycznymi dotyczącymi sprzętu i oprogramowania zapewnia dobrą wydajność klastra. Bramy, które nie są prawidłowo skalowane, mogą powodować niską wydajność. Istnieje wiele czynników, które należy wziąć pod uwagę, aby uzyskać optymalną wydajność w klastrze bramowym.
Określenie specyfikacji sprzętowych serwera bramy
Specyfikacje serwera bramy (procesor CPU, pamięć, dysk itd.) są ważnym czynnikiem, ponieważ w większości przypadków przekształcenia Power Query są stosowane do danych na serwerze bramy. W związku z tym serwer bramy musi mieć wystarczającą ilość zasobów, pamięci i mocy obliczeniowej, aby obsłużyć wszystkie przekształcenia danych.
Jeśli musisz wybrać rozmiar serwera, istnieją dwie metryki, które są najważniejsze: pamięć i procesor CPU. Potrzebujesz zarówno dużo pamięci, jak i mocy procesora, aby przeprowadzać kroki przekształcania danych Power Query na bramce. Ważne jest, aby serwer bramy sieciowej był wystarczająco mocny, aby obsługiwać największe obciążenie. Jeśli serwer bramy nie może obsłużyć obciążenia, zapytanie bezpośrednie lub odświeżanie danych zakończy się niepowodzeniem. Ważne jest również, aby zrozumieć, ile zapytań jest wykonywanych w tym samym czasie.
Te różne opcje zapytania mają inny wpływ na serwer bramy.
| Typ zapytania | Współczynnik limitu |
|---|---|
| Importowanie | Pamięć |
| Zapytanie bezpośrednie | Procesor |
| LiveConnect | Procesor |
Podczas importowania cały zestaw danych musi być odpytywane i przetwarzane, co jest dużym obciążeniem pamięci. Import ten często trwa dłużej. Zapytania DirectQueries i połączenia LiveConnections często intensywnie obciążają procesor. W większości przypadków zapytania bezpośrednie są wykonywane wiele razy, aby przetwarzać tylko niewielką część danych. Ponieważ przetwarzana jest tylko niewielka część danych, te zapytania bezpośrednie nie są zwykle zadaniem z dużą ilością pamięci. Jednak ze względu na to, że zapytania są wykonywane wiele razy na żądanie, może to być intensywne wykorzystanie procesora CPU.
W zależności od obciążenia rozważ optymalizację serwera bramy pod kątem pamięci lub CPU.
Kiedy należy skalować klaster bramy
Skalowanie jest ważnym aspektem klastra bramy o strategicznym znaczeniu dla przedsiębiorstwa. W miarę wzrostu użycia klastra bramy należy skalować go w górę i/lub w poziomie, aby zapewnić dobrą wydajność. Zalecamy rozpoczęcie skalowania klastra bram w poziomie, jeśli wcześniej skalowano bramy w klastrze w górę.
Skalowanie i dystrybucja obciążenia ruchu między poszczególnymi węzłami w klastrze to złożony proces, który różni się w zależności od poszczególnych scenariuszy. Chociaż nie ma ostatecznego modelu, aby upewnić się, że cały ruch bramy jest przewidywalnie obsłużony, limity wymienione poniżej wskazują na potrzebę skalowania. Ogólnie rzecz biorąc, zalecamy skalowanie na zewnątrz (dodawanie węzłów do klastra) preferencyjnie do skalowania w górę (zwiększenie użycia procesora CPU, pamięci RAM lub miejsca na dysku w poszczególnych węzłach). Skalowanie w górę zwykle jest bardziej efektywne w przypadku możliwości całego systemu do obsługi dodatkowego ruchu. Skalowanie poziome ma również pozytywny wpływ na łączną przepustowość, którą klaster może przetworzyć, podczas gdy skalowanie pionowe zwykle nie ma. Jeśli co najmniej jeden węzeł bramowy wykazuje oznaki osiągnięcia następujących progów, rozbudowa klastra powinna być zdecydowanie brana pod uwagę.
Procesor: Procesor osiąga temperaturę powyżej 80% przez dłuższy czas, jednakże okazjonalne, krótkie (poniżej 5 minut) skoki temperatury nie są nietypowe.
Pamięć RAM: dostępna pamięć spada poniżej 20% regularnie.
Dysk: Wolne miejsce na dysku często spada poniżej 5 GB. Ten spadek może również wskazywać na konieczność skonfigurowania buforowania lub buforowania katalogów bardziej strategicznie.
Współbieżność: uruchamianie ponad 40 zapytań jednocześnie w jednym węźle.
Ponieważ odświeżanie i zapytania rozproszone między węzłami bramy mogą mieć znacznie różne profile, zalecamy również przeprowadzenie dodatkowej kontroli w przypadku zadań długotrwałych lub intensywnie korzystających z pamięci. Optymalizacja zapytań w takich przypadkach może mieć ogromny wpływ na wydajność i skalowalność, nie tylko w przypadku poszczególnych raportów i odświeżeń, ale w całym systemie. Zalecamy izolowanie omawianych odświeżeń w pojedynczym, dedykowanym klastrze bramy, aby dokładnie ocenić charakterystykę wydajności i przeprowadzić optymalizację z wykorzystaniem diagnostyki planu zapytań, wskaźników łączenia oraz wszelkich innych opublikowanych zaleceń dotyczących wydajności. Ta izolacja minimalizuje ilość pobranych danych oraz ilość potrzebnego przetwarzania. Ta izolacja może być również używana jako długoterminowa strategia do odseparowania długotrwałych zadań ETL w dedykowanym klastrze bramkowym w celu zmniejszenia konfliktów z innymi typowymi procesami odświeżania w całej organizacji.
Skalowanie klastra bramowego
Skalowanie w górę polega na zwiększeniu specyfikacji (CPU, pamięci, dysku itd.) serwerów bramowych.
Skalowanie w górę może być wymagane, jeśli osiągnięto maksymalne wykorzystanie CPU lub pamięci, gdy brama wykonuje jedno lub więcej zapytań. Zapytanie można wykonać tylko na jednym serwerze bramy, dlatego serwer bramy musi mieć wystarczającą ilość dostępnych zasobów, aby przetworzyć całe zapytanie wraz z wynikowymi danymi.
Skalowanie poziome klastra bram
Skalowanie w poziomie jest wymagane, jeśli serwer bramy ma już wysokie specyfikacje (innymi słowy, serwer bramy został już skalowany w górę) lub osiągnięto limity tego, co pojedynczy serwer bramy może obsłużyć z powodu liczby równoczesnych zapytań. Zwiększenie obciążenia w całym zestawie członków bramy jest dobrym wskaźnikiem, że skalowanie klastra przez dodanie węzłów jest właściwym działaniem. Kiedy skalować klaster bramy zawiera określone progi wskazujące, kiedy czas na skalowanie. Aby uzyskać więcej informacji na temat skalowania w poziomie, przejdź do tematu Korzystanie z funkcji wysokiej dostępności i równoważenia obciążenia bramy.
Skalowanie poprzez tworzenie nowych klastrów bramowych
Jeśli użycie zasobów klastra bramy jest wysokie lub wyjątkowo duża liczba użytkowników korzysta z klastra bramy, można utworzyć nowy klaster bramy. Następnie można zmigrować część obciążenia do nowego klastra bram. Jeśli duża liczba użytkowników korzysta z jednego klastra bramy, prawdopodobieństwo, że użytkownik może wysłać zapytanie, które powoduje znaczny wpływ na wydajność w całym klastrze bramy, znacznie wzrasta.
Wyjątkowo duża liczba użytkowników korzystających z jednego klastra bramy jest wskaźnikiem, że należy utworzyć nowy klaster bramy.
Monitorowanie i rozwiązywanie problemów z wydajnością bramy
Ważne jest, aby monitorować ogólną wydajność bram krytycznych dla działania firmy przy użyciu funkcji monitorowania wydajności bramy . Za pomocą tej funkcji można również rozwiązywać problemy z wydajnością, identyfikować wąskie gardła oraz znajdować zapytania wpływające na ogólną wydajność bramy. Ta funkcja jest również istotnym narzędziem, które pomaga w określeniu, kiedy skalować klaster bram.
Jeśli zidentyfikujesz zapytanie jako mające duży wpływ na bramę, co spowoduje niską ogólną wydajność, może być możliwe ponowne zapisywanie zapytania, aby było bardziej wydajne i zminimalizować wpływ na wydajność.
Jeśli firma Microsoft identyfikuje niską wydajność spowodowaną przez bramę lub składnik związany z bramą, taki jak przeciążona pojemność usługi Power BI Premium, przeciążony składnik musi zostać usunięty przez skalowanie lub zmniejszenie obciążenia. Firma Microsoft nie bada niskiej wydajności w przypadku przeciążenia bramy lub składnika związanego z bramą.