Оптимизация нагрузки при использовании Quartz

Данный материал предназначен для продвинутых пользователей. Если у вас есть вопросы по применению, обратитесь в Техническую поддержку BPMSoft.

Симптомы

Quartz создает большую нагрузку на базу данных.

Решение

  1. Для решения проблемы в первую очередь рекомендуется создать пользовательские планировщики, чтобы распределить нагрузку между ними.
  2. После чего выполнить перенос таблиц, работающих с Quartz, в отдельную таблицу в рамках одной базы данных.
  3. Если существуют ограничения в ресурсах основной базы данных, рекомендуется выполнить перенос таблиц, работающих с Quartz, в отдельную базу данных.

Это дает следующие преимущества:

  • Изоляцию блокировок: каждый планировщик работает со своими данными;
  • Повышение производительности: каждый планировщик сканирует только свои записи;
  • Безопасность: очистка одного планировщика не влияет на другие.

Перенос таблицы Quartz в рамках одной базы данных

Для перевода планировщика на другие таблицы в рамках одной базы данных выполните следующие шаги:

  1. Создайте новые таблицы для Quartz по аналогии с существующими (начинаются с qrtz_), но с собственным префиксом (например, custom_qrtz_: custom_qrtz_triggers и т. д.).
  2. В блоке quartz для конкретного планировщика добавьте настройку для указания префикса таблицы:
<add key="quartz.jobStore.tablePrefix" value="custom_qrtz_" />

Перенос таблицы Quartz в отдельную базу данных

Для переноса таблицы выполните следующие шаги:

  1. В файле ConnectionStrings.config добавьте новую строку с названием, например, quartzDb:
<add name="quartzDb" connectionString="Server=..."/>
  1. В конфигурационном файле Web.config, который лежит в корневом каталоге приложения, в секции quartz, укажите новое название в параметре quartz.dataSource.SchedulerDb.connectionStringName:
<add key="quartz.dataSource.SchedulerDb.connectionStringName" value="quartzDb" />
Примечание. Значение параметра должно полностью совпадать с именем атрибута, заданному в шаге 1.
  1. Изменения нужно внести на всех экземплярах, чтобы сохранить кластерный режим.
  2. В базе данных, куда вы планируете перенаправить Quartz, должна быть идентичная основному приложению структура таблиц.
  3. Чтобы сохранить запланированные задания, необходимо заполнить таблицы данными.

Если потребуется перенос данных, рекомендуется следующий план действий:

  1. Остановите сайт и пул приложения BPMSoft.
  2. Создайте новую базу данных для Quartz и перенести туда структуру и данные (можно просто скопировать основную базу данных сайта).
  3. Внесите изменения в файлы ConnectionStrings.config и Web.config сайта.
  4. Запустите сайт и пул приложения BPMSoft. Проверьте, что плановые задания выполняются корректно.

Если планировщик не запускается с первого раза и в логах нет ошибок, попробуйте перезайти под пользователем Supervisor:

  1. Войдите в систему под пользователем Supervisor.
  2. Нажмите кнопку «Выход».
  3. Повторно войдите в систему под пользователем Supervisor.

Рекомендуем изучить

Диагностика и решение проблем планировщика Quartz
Создание пользовательского планировщика Quartz

Материал был полезен для вас?
Вебинар: 22 апреля в 11:00
Приглашаем вас на вебинар «BPMSoft – от выбора к реальным процессам», где покажем, как компании на практике сокращают time-to-market и масштабируют бизнес с помощью решений BPMSoft.
Регистрация на мероприятие
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Оставить заявку
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Демонстрационная версия BPMSoft
Заполните заявку для получения бесплатного доступа к демонстрационному стенду на 14 дней.
Типовое внедрение
Внедрите BPMSoft CRM в свою компанию всего за 8 рабочих дней по фиксированной цене! Заполните заявку для уточнения условий.
Заказать презентацию
Наш менеджер свяжется с Вами в ближайшее время.
Рассчитать стоимость
Задать вопрос
Карта сценариев использования ИИ для управления маркетингом, продажами и сервисом
Заполните форму и мы отправим исследование на E-mail
Присоединяйтесь к партнерской сети BPMSoft
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время
Тип партнерства*
Управление полным жизненным циклом клиента: от генерации лидов и продаж до внедрения, поддержки и продления подписки.
Разработка собственного Приложения – производного программного обеспечения, созданного на платформе BPMSoft (Базовое ПО).
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Стать образовательным партнёром
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Заявка на консультацию
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Подписка
Спасибо!
Ваша заявка принята.
Наш сотрудник свяжется с вами в течение 1-2 рабочих дней.
Внимание!
Обнаружена ошибка.
Проверьте вашу почту
Для завершения подписки перейдите по ссылке в письме, которое мы только что отправили. Если письма нет во «Входящих», проверьте папку «Спам».
Telegram Подписаться
Уважаемые клиенты! Предупреждаем о случаях недобросовестной конкуренции и мошенничестве в сети Интернет.
Подробнее