Twój mistrz wykonuje równolegle i twój niewolnik wykonuje w szeregowym. Jeśli twój mistrz może przetworzyć 1,5 godziny wstawek/aktualizacji/wykonań w ciągu jednej prawdziwej godziny, twój niewolnik spadnie z tyłu.
Jeśli nie możesz znaleźć sposobów na poprawę wydajności zapisu na urządzeniu podrzędnym (więcej pamięci, szybsze dyski, usunięcie niepotrzebnych indeksów), osiągnąłeś ograniczenie w swojej architekturze aplikacji. W końcu trafisz na punkt, w którym nie możesz wykonać zmian w czasie rzeczywistym tak szybko, jak twój master może je wykonywać równolegle.
Wiele dużych witryn wyodrębnia swoje bazy danych: rozważ podzielenie jednostki nadrzędnej i niewolniczej na kilka grup głównych i podrzędnych. Następnie podziel bazę klientów na te klastry. Kiedy niewolnik zacznie się spóźniać, nadszedł czas, aby dodać kolejną grupę.
Nie jest tani, ale jeśli nie znajdziesz sposobu na wykonanie instrukcji wykonania replikacji binlog równolegle, prawdopodobnie nie znajdziesz lepszego sposobu na zrobienie tego.
Aktualizacja (2017): MySQL obsługuje teraz parallel slave worker threads. Nadal istnieje wiele zmiennych, które spowodują, że niewolnik zostanie opóźniony, ale niewolnicy nie muszą już pisać w kolejności szeregowej. Wybór kolejności zatwierdzania równoległych wątków podrzędnych jest ważną opcją sprawdzenia, czy dokładny stan urządzenia podrzędnego w którymkolwiek momencie jest krytyczny.
replikacja mysql to stabilne, szybkie i smukłe rozwiązanie w porównaniu do alternatyw. book.com wykorzystuje niewiarygodnie wiele instancji mysql i kaskadowane konfiguracje replikacji z tego, co słyszałem. Jeśli twoja strona jest naprawdę zbyt duża, możesz potrzebować specjalisty, który pomoże ci rozwiązać problem, jeśli twój niewolnik nie jest zbyt mały pod względem sprzętowym. Osobiście mam konfiguracje z 10k + zapytaniami na sekundę, które nie mają problemów z opóźnieniem slave. Być może twoje ustawienia replikacji również nie są doskonałe. – sjas