Udostępnij za pośrednictwem


System ma problem z wydajnością

Wydajność replikacji może być mierzona wzdłuż pięć następujących wymiarach:

  • Czas oczekiwania: czas potrzebny na zmianę danych rozpropagowane między węzłami w topologia replikacja.

  • Przepustowość: Kwota aktywności replikacja (mierzone w poleceniach, wydana w okresie czas) system może podtrzymać nad czas.

  • Współbieżność: Liczba procesów replikacja, które mogą działać jednocześnie w systemie.

  • Czas trwania synchronizacji: jak długo trwa zakończenie danego synchronizacji.

  • Zużycie zasobów: zasobów sieci i sprzętu używanych z przetwarzania replikacja.

opóźnienie i przepustowość są najbardziej odpowiednie do replikacja transakcyjna, ponieważ systemy oparte na replikacja transakcyjna wymagają małego opóźnienia i wysoką wydajnością.Współbieżności i czas trwania synchronizacji są najbardziej odpowiednie do replikacja scalająca, ponieważ komputery oparte na replikacja scalająca często mają dużą liczbą abonentów, a Wydawca może mieć znaczącą liczbę równoczesnych synchronizacje z tych subskrybentów.

Po skonfigurowaniu replikacja zaleca się opracowanie planu bazowego wydajności umożliwia określenie zachowania z obciążenia, typowy dla aplikacji i topologii replikacja.Za pomocą Monitora systemu i Monitor replikacja określić numery typowe dla pięciu wymiarów wydajność replikacja wymienionych powyżej.Po ustanowieniu numery linii bazowej, progi zestaw i alerty w Monitor replikacji.Aby uzyskać więcej informacji, zobacz Monitorowanie wydajności Monitor replikacji, Ustawienie wartości progowe i ostrzeżenia w Monitor replikacji, i Za pomocą alertów dla zdarzenia agenta replikacji.Aby uzyskać więcej informacji o narzędziach, których można używać do rozwiązywania problemów z replikacja, zobacz Rozwiązywanie problemów, narzędzia (replikacji).

Wyjaśnienie i akcji użytkownika.

Wydajność replikacji dotyczy następujących czynników:

  • Sprzęt serwera i sieci

  • Projekt bazy danych

  • Konfiguracja dystrybutora

  • Projekt publikacji i opcje

  • Przesączyć projektu i

  • Opcje subskrypcji

  • Opcje migawki

  • Parametry Agent

  • Konserwacja

Jeśli występują problemy z wydajnością, zaleca się lektura sugestie w poniższych sekcjach i zastosować zmiany w obszarach, które wpływają na problemy wystąpią.Na przykład:

  • Jeśli używasz replikacja scalająca i zauważono w Monitor replikacji że pojedyncze filtrowane artykułu jest księgowanie duży procent synchronizacji czas: Sprawdź, czy za pomocą filtrowania odpowiednie opcje i że kolumny, filtru są indeksowane.

  • Jeśli używasz replikacja transakcyjna i występują duże opóźnienia podczas wykonywania operacji wsadowych na opublikowanych tabel: należy rozważyć wykonanie procedura składowana, aby wykonać replikację partia operacji przez subskrybenta.

Wszystkie rodzaje replikacji

Należy rozważyć następujące obszary dla wszystkich typów replikacja.Aby uzyskać więcej informacji, zobacz Zwiększenie ogólnej wydajności replikacji.

  • Serwer i sieć

    • Set the minimum and maximum amount of memory allocated to Microsoft Aparat baz danych programu SQL Server.

    • Zapewnienia właściwego przydziału plików danych do bazy danych i plików dziennika.Użyj osobny dysk dla dziennika transakcji dla wszystkich uczestniczących w replikacja baz danych.

    • Należy rozważyć dodanie pamięci do serwerów używanych w replikacja, szczególnie dystrybutora.

    • Za pomocą komputerów wieloprocesorowych.

    • Użyj szybkiego sieci.Jeśli sieć jest powolne, należy określić odpowiednią siecią, ustawienia i parametry agenta.Aby uzyskać więcej informacji, zobacz Przyczyną problemów powolnej sieci.

  • Projekt bazy danych

    • Stosuj najważniejsze wskazówki dotyczące projektowania bazy danych.

    • Należy rozważyć ustawienie opcji bazy danych READ_COMMITTED_SNAPSHOT.

    • Zachowaj ostrożność z logikę aplikacji wyzwalaczy.

    • Ogranicz używanie typów danych do dużego obiektu LOB.

  • Projekt publikacji i opcje

    • Opublikować dane wymagane.

    • Minimalizowanie konfliktów poprzez zachowanie projektowanie oraz stosowanie publikacja.

    • Za pomocą filtrów wiersza rozważny.

    • Zmniejszenie poziomów verbose agenci replikacja, z wyjątkiem podczas wstępnego badania, monitorowania lub debugowania.

  • Opcje subskrypcji

    • Użyj ściągać subskrypcje, gdy istnieje duża liczba subskrybentów.

    • Jeśli subskrybentów są zbyt daleko za, należy rozważyć możliwość ponownego zainicjowania subskrypcja.

  • Opcje migawki

    • Uruchom agenta migawkę tylko wtedy, gdy to konieczne i szczytem.

    • Użyj folderu migawka jednej publikacja.

    • Umieścić folderu migawka na dysku lokalnego dystrybutora, który nie jest używany do przechowywania bazy danych lub plików dziennika.

    • Podczas tworzenia baza danych subskrypcja przez subskrybenta, warto określić modelu odzyskiwanie proste lub bulk-logged.

    • Użyj folderu migawka alternatywnego i skompresowany migawek na nośniku wymiennym małej przepustowości sieci.

    • Użyj –MaxBCPThreads parametr agenta migawki, Agent scalanie i dystrybucji agenta.Użyj –UseInprocLoader parametr agenta dystrybucji i scalanie agenta.

Replikacji transakcyjnej

Następujące obszary należy uznać za replikacja transakcyjna.Aby uzyskać więcej informacji, zobacz Zwiększanie wydajności replikacji transakcyjnej.

  • Projekt bazy danych

    • Zminimalizować rozmiar transakcji w projekcie aplikacji.
  • Konfiguracja dystrybutora

    • Skonfiguruj dystrybutora w dedykowanym serwerze.

    • Ustaw odpowiedni rozmiar baza danych dystrybucji.

  • Projekt publikacji i opcje

    • Replikuj wykonanie procedura składowana, dokonując aktualizacje partia opublikowanych tabel.

    • Wiele publikacji rozkładane do artykułów.

  • Opcje subskrypcji

    • Użyj czynników niezależnych zamiast agentów udostępnionego, jeśli masz wiele publikacji na tym samym Wydawca (jest to zachowanie domyślne).

    • Uruchomić agentów stale zamiast na bardzo często harmonogramów.

  • Parametry Agent

    • Użyj –MaxCmdsInTran parametr dla Agent odczytywania dziennika.

    • Użyj –SubcriptionStreams parametr agenta dystrybucji.

    • Zwiększ wartość - readbatchsize parametr dla Agent odczytywania dziennika.

    • Zwiększ wartość - commitbatchsize parametr agenta dystrybucji.

    • Zmniejsz wartość - pollinginterval parametr dla Agent odczytywania dziennika.

Scalania replikacji

Należy rozważyć następujące obszary replikacja scalająca.Aby uzyskać więcej informacji, zobacz Zwiększanie wydajności replikacji scalania.

  • Projekt bazy danych

    • Indeks kolumny w wierszu filtrów i filtrów łączyć.

    • Należy rozważyć over-normalizing tabel, które zawierają duże obiektu LOB typów danych.

  • Projekt publikacji

    • Użyj poziom zgodności publikacja 90RTM (SQL Server 2005) lub nowszej wersja.

    • Użyj ustawienia przechowywania w odpowiedniej publikacja.

    • Użyj tylko do pobierania artykułów na te tabele, które są zmieniane tylko w Wydawca.

  • Przesączyć projektu i

    • Ograniczyć złożoność klauzul filtru wiersza.

    • Precomputed partycji za pomocą sparametryzowanych filtrów (Ta funkcja jest używany domyślnie).

    • Porządkuje partycji należy użyć, jeśli dane są filtrowane, ale nie są współużytkowane przez użytkowników.

    • Nie należy tworzyć złożone filtr łączyć hierarchie.

    • Ustaw join_unique_key opcji 1 Jeśli umożliwia logiczne.

  • Uwagi dotyczące partycji precomputed

    • Podczas partie zawierają wiele zmian danych, projektowanie aplikacji ostrożnie.Zmiany danych w tabela nadrzędnej w filtr łączyć powinna być dokonana przed odpowiadające zmiany w tabelach podrzędność.

    • Partie zawierają wiele zmian danych, zmniejszyć liczbę zmian w partia i uruchom agenta scalić między instancje.Jeśli nie można wykonać, zwiększ wartość generation_leveling_threshold w publikacja.

  • Uwagi dotyczące subskrypcji

    • Przestawiania harmonogramów synchronizacji subskrypcja.
  • Parametry Agent

    • Jeśli subskrypcja jest synchronizowane za pośrednictwem szybkiego połączenia i zmiany są wysyłane z Wydawca i abonenta, użyj –ParallelUploadDownload parametr scalać agenta.
  • Opcje migawki

    • Tworzenie kolumna ROWGUIDCOL w dużych tabelach przed do generowania migawka początkowa.

    • Wstępnie wygenerować migawek i/lub subskrybentów pozwalają żądanie migawka wytwarzania i stosowania pierwszego czas ich synchronizowania.

  • Konserwacja

    • Czasami Reindeksacja tabele systemowe replikacja scalająca.

    • Wydajność synchronizacji monitor za pomocą Historii synchronizacji karcie Monitor replikacji.

Zobacz także

Koncepcje