Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:manual:portal:optimization_of_portal_generation_time:optimize_portal_generation_time:distributed_generation_of_portal_reports [2022/04/13 14:56] aliev |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Распределенное формирование отчетов портала ====== | ||
- | Распределенное формирование отчетов портала на нескольких серверах (см. [[ru/manual/portal/distributed|Распределенное формирование портала]]) используется, чтобы распараллелить и, таким образом, ускорить формирование отчетов. | ||
- | |||
- | Служебные процессы с ролью "Формирование отчетов" формируют отчеты в фоновом режиме. Служебные процессы с ролью "Формирование отчетов по требованию" формируют отчеты только по запросам пользователей. Наличие таких служебных процессов позволяет быстрее получать отчеты, которые к моменту обращения к ним еще не были сформированы или у которых истекло время жизни. | ||
- | == == | ||
- | **Внимание!** Оптимальное суммарное количество процессов с ролями "Формирование отчетов" и "Формирование отчетов по требованию" на одном сервере – 4. Это связано с ограничениями приложений Microsoft Office. Большее количество таких процессов может приводить к замедлению формирования отчетов. | ||
- | ==== ==== | ||
- | Служебные процессы с ролью "Ввод показателей", кроме ввода показателей, нужны для авторизации пользователей и для распределения заданий при формировании отчетов((С версии BS 4.2.7058)). Они должны запускаться на основном сервере. | ||
- | Рекомендуется иметь 1 такой процесс на каждые 4-6 процессов с ролью "Формирование отчетов". Общее количество служебных процессов обычно равно количеству ядер процессора на сервере (за исключением основного сервера, где 2 ядра необходимо оставить для работы веб-сервера). Для мощных процессоров их может быть больше, количество подбирается экспериментально по показаниям счетчиков производительности за период формирования портала: средняя загрузка процессора не должна превышать 80%, а максимальный объем выделенной виртуальной памяти не должен превышать объема ОЗУ (то же касается и сервера с SQL Server). | ||
- | |||
- | Учитывая оптимальное количество формирователей отчетов на одном сервере, в определенных случаях целесообразно использовать виртуальные машины. | ||
- | |||
- | Пример комбинации служебных процессов для 8-ядерных серверов | ||
- | |||
- | <startTableBox> | ||
- | ^ Роль служебного процесса ^ Физический сервер \\ (8 ядер) ^ Физический сервер \\ (8 ядер) ^^ | ||
- | ^ ::: ^ Основной сервер ^ Вспомогательный сервер 1 \\ (виртуальный, 4 ядра) ^ Вспомогательный сервер 2 \\ (виртуальный, 4 ядра) ^ | ||
- | | Ввод показателей | 2 | - | - | | ||
- | | Формирование отчетов | 3 | 4 | 4 | | ||
- | | Формирование отчетов по требованию | 1 | 0 | 0 | | ||
- | <endTableBox|Таблица 1. Пример комбинации служебных процессов для 8-ядерных серверов> | ||
- | |||
- | //Пример расчета необходимого числа серверов формирования по данным о времени формирования портала. \\ | ||
- | Для упрощения будем считать, что на всех серверах (в том числе и на основном сервере портала) одинаковое число служебных процессов с ролью "Формирование отчетов" и одинаковое число служебных процессов с ролью "Формирование отчетов по требованию". Пусть имеется только один (основной) сервер, а общее время формирования портала составляет M = 2.5 суток = 60 часов. Требуется уменьшить его до T = 10 часов, чтобы портал можно было переформировывать ежедневно после рабочего дня, и он был готов к началу следующего рабочего дня. Тогда можно приближенно (без учета времени формирования структуры портала) вычислить количество серверов как M/T = 60/10 = 6. Т.е. помимо 1 основного сервера портала потребуется 5 вспомогательных серверов.// | ||
- | |||
- | Если использование распределенного формирования не даёт требуемого результата (например, ожидали сокращение времени формирования в 5 раз, а сократилось только в 2), возможно, узким местом стала: | ||
- | * Большая нагрузка на компоненты сервера (система хранения, сетевой адаптер, оперативная память). Для подтверждения этой гипотезы необходимо обратиться к системному администратору, для диагностики можно использовать информацию из следующей статьи: https://www.businessstudio.ru/wiki/faq/doku.php/ru/techsupport/sysmon \\ Если гипотеза подтвердится, то решение проблемы находится в компетенции системного администратора. | ||
- | * Большая нагрузка на базу данных MS SQL, по которой формируется портал. Для подтверждения этой гипотезы необходимо обратиться к системному администратору. \\ Если гипотеза подтвердится, то для решения этой проблемы можно использовать репликацию баз данных и для каждого сервера портала использовать свою реплику основной базы данных. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | [<contextnavigator>] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | {(rater>id=ru_manual_portal_optimization_of_portal_generation_time_optimize_portal_generation_time_distributed_generation_of_portal_reports|name=Распределенное формирование отчетов портала|type=vote|trace=ip|img=:taggic.png|headline=off)} |