Настройка удаления данных
При работе приложение служб Notification Services накапливает данные в таблицах событий, уведомлений и распространения, а также в таблицах управления, чьи компоненты службы Notification Services используют для координации работы. Если эти данные не удалены из базы данных приложения, то это может привести к значительному увеличению объема базы данных и сказаться на производительности приложения. Чтобы избежать этого, можно настроить процесс автоматического удаления данных, который называют очисткой.
Процесс удаления данных
Процесс удаления данных служб Notification Services называется чистильщиком. Чистильщик удаляет данные об устаревших событиях, уведомлениях и заголовках пакетов из следующих таблиц в базе данных приложения:
- NSQuantum1
- NSRuleFirings1
- NSимя_класса_событияEventBatches
- NSимя_класса_событияEvents
- NSимя_класса_уведомленияNotificationBatches
- NSимя_класса_уведомленияNotifications
- NSDistributorWorkItems
- NSDistributionLog
Из системы удаляются только обработанные пакеты событий и данные уведомлений, которые были отправлены, просрочены или для которых после сбоев нет запланированных попыток доставки.
Чистильщик ограничивает количество удаляемых записей на основании максимального количества записей в таблице. Это ограничивает продолжительность интервалов удаления данных и позволяет чистильщику работать без избыточного потребления системных ресурсов, а также сократить время обработки приложения.
Важно! |
---|
При удалении данных используются значительные системные ресурсы баз данных. Запускайте процесс удаления данных только в период низкой нагрузки на систему. |
Срок хранения
При настройке чистильщика укажите срок хранения данных событий и уведомлений. Когда чистильщик начинает работу, считывается показание системных часов на сервере баз данных, затем определяются все данные с просроченным сроком хранения.
При определении срока хранения необходимо определить, как долго требуется хранить данные событий и уведомлений. При удалении также удаляются данные из журнала распространения, поэтому перед тем, как срок этих данных превысит срок хранения, с ними необходимо выполнить все требуемые действия.
По умолчанию срок хранения составляет семь дней.
Расписание
При настройке чистильщика задайте для него расписание. Расписание может содержать несколько времен и длительностей запуска.
- Время запуска в UTC (универсальное глобальное время или время по Гринвичу) определяет, когда следует запускать чистильщика.
- Продолжительность определяет интервал работы чистильщика. По умолчанию продолжительность составляет шесть часов или длится до следующего времени запуска.
Важно! |
---|
По умолчанию нет расписания удаления данных. Если не определить расписание удаления данных, то службы Notification Services не удаляют устаревшие данные из базы данных приложения. |
Раз в минуту выполняется проверка необходимости запуска чистильщика. Это может привести к отклонению в одну минуту между заданным и фактическим временем запуска.
Когда чистильщик завершает выполнение элемента задания, выполняется проверка системных часов на предмет превышения длительности процесса. Также выполняется проверка в базе данных и определяется, отключено или нет соответствующее приложение. Если произошло одно из этих событий, то чистильщик останавливается, записывает сообщение в журнал событий и ожидает следующего запланированного интервала очистки.
При определении расписания очистки рекомендуется выбирать время запуска в интервалах низкой нагрузки на приложение и сервер баз данных. Если таких интервалов нет, то можно запускать процесс удаления данных более часто, чтобы при каждой очистке удалялось меньше данных. Это позволит снизить влияние на производительность приложения.
Настройка процесса удаления данных
При определении приложения посредством XML настройте процесс удаления данных в файле определения приложения (ADF). При определении приложения программным путем для настройки процесса удаления данных используйте управляющие объекты служб Notification Services.
- Vacuum Element (ADF)
- свойство VacuumRetentionAge (NMO)
- свойство VacuumSchedules (NMO)
См. также
Основные понятия
Указание настроек выполнения приложения
Удаление устаревших данных приложения