Udostępnij za pośrednictwem


The System Has a Performance Issue

Razem następujących pięciu wymiarów można mierzyć wydajność replikacja:

  • opóźnienie: czas potrzebny na zmianę danych być propagowane między węzłami w topologia replikacja.

  • Przepustowość: Kwota działanie replikacja (mierzony w poleceniach dostarczane przez pewien czas) system może utrzymać w czasie.

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

  • Czas trwania synchronizacji: jak długo trwa danego synchronizacji do wykonania.

  • Zużycie zasób: sieci i zasobów używanych z przetwarzania replikacja.

opóźnienie i przepustowość są najbardziej odpowiednich do replikacja transakcyjnej, ponieważ systemy oparte na replikacja transakcyjnej zazwyczaj wymagają czasu oczekiwania w niskiej i wysokiej wydajności.współbieżność i czas trwania synchronizacji są najbardziej odpowiednie do scalania replikacja, ponieważ systemy oparte na replikacja łączenia często mają dużą liczbę subskrybentów i Wydawca może być znaczna liczba równoczesnych synchronizacji z tymi subskrybentów.

Po skonfigurowaniu replikacja, zaleca się opracowanie poziomów odniesienia dla wydajności, które pozwala określić zachowanie replikacja z obciążenia, który jest typowym dla aplikacji i topologii i.Użyj Monitor replikacja i Monitor systemu, aby określić typowe liczb do pięciu wymiarów z powyższej listy, wydajność replikacja.Po ustanowieniu numerów linii bazowej, progi zestaw i alerty w Monitor replikacja.Aby uzyskać więcej informacji zobacz Monitoring Performance with Replication Monitor, Ustawianie progi i ostrzeżeń w Monitor replikacja, a Using Alerts for Replication Agent Events. Aby uzyskać więcej informacji o narzędziach, których można używać do rozwiązywania problemów z replikacja Zobacz Troubleshooting Tools (Replication).

Wyjaśnienie i Akcja użytkownika

Wydajność replikacja zależy od następujących czynników:

  • Sprzęt serwera i sieci

  • Projekt bazy danych

  • Dystrybutor konfiguracja

  • Projekt publikacja i opcje

  • Filtr projektu i używać

  • Opcje subskrypcja

  • Opcje migawka

  • Parametry agenta

  • Konserwacja

Jeśli występują problemy z wydajnością, zaleca się odczytu poprzez sugestie w następujących paragrafach i zastosować zmiany w obszarach, które mają wpływ na problemy, które są wystąpią.Na przykład:

  • Jeśli korzystasz z replikacja łączenia i zauważono w Monitor replikacja, że jeden filtr artykuł jest księgowanie duży procent czas synchronizacji: Sprawdź, czy za pomocą filtrowania odpowiednie opcje i indeksowanych kolumnach w filtrze.

  • Jeśli w przypadku korzystania z replikacja transakcyjnej, występują duże opóźnienia podczas wykonywania partia operacji na opublikowanych tabel: należy wziąć pod uwagę replikowanie wykonanie procedura przechowywana w celu wykonania partia operacji przez subskrybent.

Wszystkie typy replikacja

Dla wszystkich typów replikacja należy wziąć pod uwagę następujące zagadnienia.Aby uzyskać więcej informacji zobacz Enhancing General Replication Performance.

  • Serwer i sieć

    • Set the minimum and maximum amount of memory allocated to Microsoft SQL Server Database Engine.

    • Zapewnienia właściwego podziału bazy danych, plików danych i plików dziennika.Za pomocą osobnego dysku dla dziennik transakcji dla wszystkich baz danych biorących udział w replikacja.

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

    • Za pomocą komputerów wieloprocesorowych.

    • Za pomocą szybkiej sieci.Jeśli sieć jest powolne, należy określić odpowiednią siecią, ustawienia i parametry agenta.Aby uzyskać więcej informacji zobacz A Slow Network Is Causing Problems.

  • Projekt bazy danych

    • Należy uwzględnić najważniejsze wskazówki dotyczące projektowania bazy danych.

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

    • Należy zachować ostrożność w logice aplikacji w wyzwalaczy.

    • Ogranicz używanie typów danych Large Object (LOB).

  • Projekt publikacja i opcje

    • Opublikować tylko te dane, które są wymagane.

    • Minimalizowanie konfliktów przez zachowanie publikacja projektu i aplikacji.

    • Za pomocą filtrów wiersza judiciously.

    • Zmniejsz poziomy verbose agentów replikacja, z wyjątkiem podczas wstępnego testowania monitorowania i debugowania.

  • Opcje subskrypcja

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

    • Jeśli subskrybentów jest zbyt daleko zaporą, należy wziąć pod uwagę reinicjowanie subskrypcja.

  • Opcje migawka

    • Uruchom agenta Migawka tylko wtedy, gdy to konieczne, a w godzinach poza szczytem.

    • Użyj folderu jednej migawka dla publikacja.

    • Lokalizację folderu migawka na dysku lokalnym na Dystrybutor, który nie jest używany do przechowywania bazy danych lub plików dziennika.

    • Po utworzeniu baza danych subskrypcja przez subskrybent, należy rozważyć, określając model odzyskiwanie prostych lub zarejestrowane zbiorczej.

    • W przypadku małej przepustowości sieci za pomocą migawka alternatywnego folderu i skompresowanych migawek na nośniku wymiennym.

    • Użycie –MaxBCPThreads parametr agenta migawka, Agent korespondencji seryjnej i dystrybucji agenta.Użycie –UseInprocLoader parametr agenta dystrybucji i agenta korespondencji seryjnej.

Transakcyjne replikacja

Dla replikacja transakcyjnej należy wziąć pod uwagę następujące zagadnienia.Aby uzyskać więcej informacji zobacz Enhancing Transactional Replication Performance.

  • Projekt bazy danych

    • Minimalizowanie rozmiaru transakcji w projekcie aplikacji.
  • Dystrybutor konfiguracja

    • Skonfiguruj dystrybutor w dedykowanym serwerze.

    • zestaw odpowiedni rozmiar baza danych dystrybucji.

  • Projekt publikacja i opcje

    • Równoległe wykonywanie procedura przechowywana, podczas wprowadzania aktualizacje partia opublikowanych tabel.

    • Artykuły umieszczonych na wiele publikacji.

  • Opcje subskrypcja

    • Jeśli masz wiele publikacji na tym samym Wydawca (jest to zachowanie domyślne), należy używać agentów niezależnych zamiast udostępnionego agentów.

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

  • Parametry agenta

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

    • Użycie –SubcriptionStreams parametr dla agenta dystrybucji.

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

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

    • Zmniejszenie wartości -PollingInterval parametr dla Agent odczytywania dziennika.

replikacja łączenia

Do replikacja łączenia należy wziąć pod uwagę następujące zagadnienia.Aby uzyskać więcej informacji zobacz Enhancing Merge Replication Performance.

  • Projekt bazy danych

    • Indeks kolumny w wierszu filtry i filtry łączyć.

    • Należy wziąć pod uwagę over-normalizing tabel, które zawierają typów danych Large Object (LOB).

  • Projekt publikacja

    • Za pomocą publikacja poziom zgodności 90RTM)SQL Server 2005) lub nowszym.

    • Za pomocą ustawienia przechowywania odpowiedniej publikacja.

    • Użyj tylko do pobrania, artykułach w tych tabelach, które są zmieniane tylko w Wydawca.

  • Filtr projektu i używać

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

    • Partycje precomputed za pomocą sparametryzowanych filtrów (funkcja ta jest używana domyślnie).

    • Jeśli dane są filtrowane, ale nie są współużytkowane przez użytkowników za pomocą nonoverlapping partycji.

    • Nie należy tworzyć złożone filtr łączenia hierarchii.

    • zestaw join_unique_key Opcja 1 umożliwia logiczne.

  • Uwagi dotyczące wstępnie obliczona partycja

    • Kiedy instancje zawierają partii zmiany danych, projektowanie aplikacji ostrożnie.Zmiany danych w tabela nadrzędnej w filtrze łączyć zostanie wykonane przed odpowiednie zmiany w tabelach podrzędność.

    • Partie zawierają wiele zmian w danych, zmniejsz liczbę zmian we wsadzie i uruchomić agenta Scal między instancje.Jeśli nie zostanie zakończone, należy zwiększyć wartość generation_leveling_threshold w publikacja.

  • Uwagi dotyczące subskrypcja

    • Wymuszenie harmonogramy synchronizacji subskrypcja.
  • Parametry agenta

    • Jeśli subskrypcja jest synchronizowany za pośrednictwem szybkiego połączenia, a zmiany są wysyłane z Wydawca i subskrybent, należy użyć –ParallelUploadDownload parametr dla agenta korespondencji seryjnej.
  • Opcje migawka

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

    • Wstępnie wygenerować migawek i/lub pozostawić subskrybentów do generowania migawka żądanie i aplikacji w pierwszym czas ich synchronizowania.

  • Konserwacja

    • Od czasu do czasu Reindeksacja tabele systemowe replikacja łączenia.

    • Za pomocą monitora synchronizacji wydajności Historia synchronizacji karcie Monitor replikacja.

See Also

Concepts