19.2.3.2 Мониторинг потоков обработки репликации
В реплике с несколькими потоками таблицы Performance Schema replication_applier_status_by_coordinator и replication_applier_status_by_worker отображают информацию о статусе координационного потока реплики и потоков обработки приложений соответственно. Для реплики с несколькими каналами потоки для каждого канала идентифицируются.
Координационный поток реплики с несколькими потоками также регулярно выводит статистику в журнал ошибок реплики, если уровень подробности настроен на отображение информационных сообщений. Статистика выводится в зависимости от объёма событий, назначенных координационным потоком потокам обработки приложений, с максимальной частотой один раз в 120 секунд. Сообщение содержит следующую статистику для соответствующего канала репликации или по умолчанию (не имеющего имени):
- Прошедшие секунды
Разница во времени в секундах между текущим временем и последним временем вывода этой информации в журнал ошибок.
- Назначенные события
Общее количество событий, помещенных в очередь координационным потоком во все потоки обработки приложений с момента запуска координационного потока.
- Очереди потоков обработки заполнены сверх уровня переполнения
Текущее количество событий, помещенных в очередь любого из потоков обработки приложений сверх уровня переполнения, который установлен на 90% от максимальной длины очереди в 16384 события. Если это значение равно нулю, ни один из потоков обработки приложений не работает на пределе своей производительности.
- Ожидание из-за заполненной очереди потока обработки
Количество раз, когда координационный поток должен был ждать для планирования события, так как очередь потока обработки приложений была заполнена. Если это значение равно нулю, ни один из потоков обработки приложений не исчерпал свои возможности.
- Ожидание из-за общего размера
Количество раз, когда координационный поток должен был ждать для планирования события, так как был достигнут предел
replica_pending_jobs_size_max. Эта системная переменная задаёт максимальный объём памяти (в байтах), доступный для очередей потоков обработки приложений, содержащих события, ещё не применённые. Если необычно большое событие превышает этот размер, транзакция удерживается до тех пор, пока все потоки обработки приложений не освободят свои очереди, а затем обрабатывается. Все последующие транзакции удерживаются до тех пор, пока большая транзакция не будет завершена.- Ожидание из-за конфликтов времени
Количество наносекунд, которое координационный поток должен был ждать для планирования события, так как транзакция, от которой зависело событие, ещё не была подтверждена. Если
replica_parallel_typeустановлен наDATABASE(а не наLOGICAL_CLOCK), это значение всегда равно нулю.- Ожидание (количество) при занятых потоках
Количество раз, когда координационный поток простаивал в течение короткого периода времени, что может произойти в двух ситуациях. Первая ситуация - когда координационный поток назначает событие и обнаруживает, что очередь потока обработки приложений заполнена сверх уровня недополнения в 10% от максимальной длины очереди, в этом случае он простаивает не более 1 миллисекунды. Вторая ситуация - когда
replica_parallel_typeустановлен наLOGICAL_CLOCK, и координационный поток должен назначить первое событие транзакции в очередь потока обработки приложений, он делает это только для рабочей очереди с пустой очередью, поэтому если нет пустых очередей, координационный поток простаивает, пока одна не освободится.- Ожидание при занятых потоках
Количество наносекунд, которое координационный поток простаивал, ожидая пустой очереди потока обработки приложений (то есть во второй ситуации, описанной выше, когда
replica_parallel_typeустановлен наLOGICAL_CLOCKи первое событие транзакции должно быть назначено).
© 2025 Oracle
Licensed under the GPLv2 License.