Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:manual:portal:optimization_of_portal_generation_time [2019/11/18 09:50] belkin [Рекомендации по оптимизации времени формирования портала] |
ru:manual:portal:optimization_of_portal_generation_time [2019/12/26 16:32] (текущий) belkin [Распределенное формирование отчетов портала] |
||
---|---|---|---|
Строка 48: | Строка 48: | ||
Распределенное формирование отчетов портала на нескольких серверах (см. [[ru/manual/portal/setting#распределенное_формирование_портала|Распределенное формирование портала]]) используется, чтобы распараллелить и, таким образом, ускорить формирование отчетов. | Распределенное формирование отчетов портала на нескольких серверах (см. [[ru/manual/portal/setting#распределенное_формирование_портала|Распределенное формирование портала]]) используется, чтобы распараллелить и, таким образом, ускорить формирование отчетов. | ||
- | Служебные процессы с ролью "Формирование отчетов" формируют отчеты в фоновом режиме. Служебные процессы с ролью "Формирование отчетов по требованию" формируют отчеты только по запросам пользователей. Наличие таких служебных процессов позволяет быстрее получать отчеты, которые к моменту обращения к ним еще не были сформированы или у которых истекло время жизни. Служебные процессы с ролью "Ввод показателей", кроме ввода показателей, нужны для авторизации пользователей и для распределения заданий при формирования отчетов((С версии BS 4.2.7058)). Они должны запускаться на основном сервере. | + | Служебные процессы с ролью "Формирование отчетов" формируют отчеты в фоновом режиме. Служебные процессы с ролью "Формирование отчетов по требованию" формируют отчеты только по запросам пользователей. Наличие таких служебных процессов позволяет быстрее получать отчеты, которые к моменту обращения к ним еще не были сформированы или у которых истекло время жизни. |
+ | |||
+ | == Внимание! == | ||
+ | Оптимальное суммарное количество процессов с ролями "Формирование отчетов" и "Формирование отчетов по требованию" на одном сервере – 4. Это связано с ограничениями приложений Microsoft Office. Большее количество таких процессов может приводить к замедлению формирования отчетов. | ||
+ | ==== ==== | ||
+ | \\ | ||
+ | Служебные процессы с ролью "Ввод показателей", кроме ввода показателей, нужны для авторизации пользователей и для распределения заданий при формировании отчетов((С версии BS 4.2.7058)). Они должны запускаться на основном сервере. | ||
Рекомендуется иметь 1 такой процесс на каждые 4-6 процессов с ролью "Формирование отчетов". Общее количество служебных процессов обычно равно количеству ядер процессора на сервере (за исключением основного сервера, где 2 ядра необходимо оставить для работы веб-сервера). Для мощных процессоров их может быть больше, количество подбирается экспериментально по показаниям счетчиков производительности за период формирования портала: средняя загрузка процессора не должна превышать 80%, а максимальный объем выделенной виртуальной памяти не должен превышать объема ОЗУ (то же касается и сервера с SQL Server). | Рекомендуется иметь 1 такой процесс на каждые 4-6 процессов с ролью "Формирование отчетов". Общее количество служебных процессов обычно равно количеству ядер процессора на сервере (за исключением основного сервера, где 2 ядра необходимо оставить для работы веб-сервера). Для мощных процессоров их может быть больше, количество подбирается экспериментально по показаниям счетчиков производительности за период формирования портала: средняя загрузка процессора не должна превышать 80%, а максимальный объем выделенной виртуальной памяти не должен превышать объема ОЗУ (то же касается и сервера с SQL Server). | ||
+ | |||
+ | Учитывая оптимальное количество формирователей отчетов на одном сервере, в определенных случаях целесообразно использовать виртуальные машины. | ||
Пример комбинации служебных процессов для 8-ядерных серверов | Пример комбинации служебных процессов для 8-ядерных серверов | ||
<startTableBox> | <startTableBox> | ||
- | ^ Роль служебного процесса ^ Основной сервер ^ Вспомогательные серверы ^ | + | ^ Роль служебного процесса ^ Физический сервер \\ (8 ядер) ^ Физический сервер \\ (8 ядер) ^^ |
- | | Ввод показателей | 2 | 0 | | + | ^ ::: ^ Основной сервер ^ Вспомогательный сервер 1 \\ (виртуальный, 4 ядра) ^ Вспомогательный сервер 2 \\ (виртуальный, 4 ядра) ^ |
- | | Формирование отчетов | 3 | 7 | | + | | Ввод показателей | 2 | - | - | |
- | | Формирование отчетов по требованию | 1 | 1 | | + | | Формирование отчетов | 3 | 4 | 4 | |
+ | | Формирование отчетов по требованию | 1 | 0 | 0 | | ||
<endTableBox|Таблица 1. Пример комбинации служебных процессов для 8-ядерных серверов> | <endTableBox|Таблица 1. Пример комбинации служебных процессов для 8-ядерных серверов> | ||
- | //Пример расчета необходимого числа серверов формирования по данным о времени формирования портала | + | //Пример расчета необходимого числа серверов формирования по данным о времени формирования портала. \\ |
- | Для упрощения будем считать, что на всех серверах (в том числе и на основном сервере портала) одинаковое число служебных процессов с ролью "Формирование отчетов" и одинаковое число служебных процессов с ролью "Формирование отчетов по требованию". | + | Для упрощения будем считать, что на всех серверах (в том числе и на основном сервере портала) одинаковое число служебных процессов с ролью "Формирование отчетов" и одинаковое число служебных процессов с ролью "Формирование отчетов по требованию". Пусть имеется только один (основной) сервер, а общее время формирования портала составляет M = 2.5 суток = 60 часов. Требуется уменьшить его до T = 10 часов, чтобы портал можно было переформировывать ежедневно после рабочего дня, и он был готов к началу следующего рабочего дня. Тогда можно приближенно (без учета времени формирования структуры портала) вычислить количество серверов как M/T = 60/10 = 6. Т.е. помимо 1 основного сервера портала потребуется 5 вспомогательных серверов.// |
- | Пусть общее время формирования портала заняло M = 2.5 суток = 60 часов. Требуется уменьшить его до T = 10 часов, чтобы портал можно было переформировывать ежедневно после рабочего дня и он был готов к началу следующего рабочего дня. Тогда можно приближенно (без учета времени формирования структуры портала) вычислить количество серверов как M/T = 60/10 = 6. | + | |
- | Т.е. помимо 1 основного сервера портала потребуется 5 дополнительных серверов формирования.// | + | |
Если использование распределенного формирования не даёт требуемого результата (например, ожидали сокращение времени формирования в 5 раз, а сократилось только в 2), возможно, узким местом стала: | Если использование распределенного формирования не даёт требуемого результата (например, ожидали сокращение времени формирования в 5 раз, а сократилось только в 2), возможно, узким местом стала: |