Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:manual:portal:optimization_of_portal_generation_time [2019/06/06 14:04] belkin [Распределенное формирование отчетов портала] |
ru:manual:portal:optimization_of_portal_generation_time [2019/12/26 16:32] (текущий) belkin [Распределенное формирование отчетов портала] |
||
---|---|---|---|
Строка 7: | Строка 7: | ||
===== Расчет времени формирования портала ===== | ===== Расчет времени формирования портала ===== | ||
- | Необходимо сформировать портал полностью один раз, чтобы рассчитать время формирования портала. Портал считается сформированным полностью, когда сформирована его структура и все отчеты, кроме отчетов по требованию (отчеты со приоритетом = 0). Показателем того, что все отчеты сформированы служит значение "100%" параметра "Сформировано" на вкладке "Консоль" вкладки "Администрирование" на портале (Рис.1). | + | Необходимо сформировать портал полностью один раз, чтобы рассчитать время формирования портала. Портал считается сформированным полностью, когда сформирована его структура и все отчеты, кроме отчетов по требованию (отчеты с приоритетом = 0). Показателем того, что все отчеты сформированы служит значение "100%" параметра "Сформировано" на вкладке "Консоль" вкладки "Администрирование" на портале (Рис.1). |
[{{ ru/manual/portal/optimization_of_portal_generation_time/optimization_of_portal_generation_time_0001.png?nolink |Рисунок 1}}] | [{{ ru/manual/portal/optimization_of_portal_generation_time/optimization_of_portal_generation_time_0001.png?nolink |Рисунок 1}}] | ||
Строка 26: | Строка 26: | ||
- Провести оптимизацию времени формирования структуры портала и оптимизацию времени формирования отчетов портала (описание см. в одноименном разделе ниже). | - Провести оптимизацию времени формирования структуры портала и оптимизацию времени формирования отчетов портала (описание см. в одноименном разделе ниже). | ||
- Использовать распределенное формирование отчетов портала (см. описание в одноименном разделе ниже). | - Использовать распределенное формирование отчетов портала (см. описание в одноименном разделе ниже). | ||
- | - Использование для формирования портала реплик рабочей базы данных. | + | - Использование для формирования портала реплик рабочей базы данных (см. описание в статье базы знаний по Business Studio [[https://www.businessstudio.ru/wiki/faq/doku.php/ru/other/replica|Настройка репликации для базы данных Business Studio]]). |
- Задание приоритета формирования отчетов (описание см. в одноименном разделе ниже). | - Задание приоритета формирования отчетов (описание см. в одноименном разделе ниже). | ||
==== Оптимизация времени формирования структуры ==== | ==== Оптимизация времени формирования структуры ==== | ||
Для оптимизации необходимо: | Для оптимизации необходимо: | ||
- | - Оптимальным образом задать права для пользователей, а именно там, где это возможно, права на справочники и классы выдавать через группы Active Directory (см. [[ru/manual/portal/setting#права_пользователей_в_портале|Права пользователей в портале]]. | + | - Оптимальным образом задать права для пользователей, а именно там, где это возможно, права на справочники и классы выдавать через группы Active Directory (см. [[ru/manual/portal/setting#права_пользователей_в_портале|Права пользователей в портале]]). |
- Уменьшить количество выгружаемых на портал объектов, если это является возможным. \\ Этого можно добиться: | - Уменьшить количество выгружаемых на портал объектов, если это является возможным. \\ Этого можно добиться: | ||
* Формируя портал по группе, в которую включить только нужный для портала набор объектов (регулируется с помощью параметра "Группа фильтра" в Окне свойств портала). | * Формируя портал по группе, в которую включить только нужный для портала набор объектов (регулируется с помощью параметра "Группа фильтра" в Окне свойств портала). | ||
Строка 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 ядер) ^^ |
- | | Ввод показателей | 1 | 1 | | + | ^ ::: ^ Основной сервер ^ Вспомогательный сервер 1 \\ (виртуальный, 4 ядра) ^ Вспомогательный сервер 2 \\ (виртуальный, 4 ядра) ^ |
- | | Формирование отчетов | 4 | 6 | | + | | Ввод показателей | 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), возможно, узким местом стала: |