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.