Настройка подсистемы управления процессами (Workflow)Источник: dvprofessionalsblogspot Михаил Захаров
Подсистема "Управление процессами" содержит ряд настроек, которые касаются производительности. Задача установки оптимальных параметров возникает довольно часто. В данной статье описано из каких критериев нужно исходить при выборе значений. Значение параметров приведено в руководстве администратора. Максимальный объем памяти (Мб), который может использовать при работе сервер управления процессами; по умолчанию его значение равно 512 Мб; Время ожидания выполнения функции в потоке (сек) - период задержки перед повторным исполнением функции в циклическом бизнес-процессе; этот период используется, если в настройках функции в поле "Период опроса" не указан другой интервал; Время тика - продолжительность активности сервера бизнес-процессов; Функций за тик - количество функций одного бизнес-процесса, обрабатываемых сервером бизнес-процессов за один период активности; Число процессов в одном пакете - максимальное количество бизнес-процессов в одной "порции" (пакете), которые обрабатываются одновременно; общая продолжительность тика зависит от количества пакетов, однако размер пакета следует ограничивать соразмерно с объемом оперативной памяти компьютера; Размер пула шлюза, где пул шлюзов - это совокупность параллельно работающих экземпляров шлюзов одного типа с одинаковыми настройками, выделяемых для обработки процессов; Размер пула сессий, где пул сессий - это совокупность параллельно работающих сессий с одинаковыми настройками подключения, выделяемых для обработки процессов; Время ожидания выполнения метода Storage Server (сек) - период ожидания ответа сервера, после которого возвращается сообщение об ошибке (Сервер недоступен"). Оценивая возможности подсистемы Workflow необходимо учитывать, что разные функции дают разную нагрузку на систему. Например, ф-ции, которые работают с карточками или любыми данными в базе выполняют соединение с сервером DocsVision и скорость их работы определяется так же производительностью сервера (выполнение запросов в базе, обработка результатов и т.п.). А функции сценарий, практически не задействуют сервер и БД (разве, что, для чтения настроек). Т.о. функция "Мониторинг DocsVision" может выполняться долго, если в поисковом запросе участвует много карточек. А функция задание может выполниться мгновенно если ожидает изменений в карточке. Поэтому, довольно трудно дать формулу, в которую можно подставить число экземпляров, частоту процессора, количество ядер и объем ОЗУ, и в результате получить значение параметров. Какие же профили можно использовать для решения конкретных задач? 1. Если необходимо более часто брать в обработку процессы - уменьшаем число функций за тик. Максимально частой обработке новых процессов соответствует 1 функция за тик (при неизменном желаемом времени тика). 2. Если хочется максимально быстро обрабатывать "длинные" процессы - увеличиваем число функций за тик. Например до 50-100. Но тут уже возникает опасность постоянной обработки какого-нибудь цикла, который не несет полезной нагрузки (например, какая-нибудь функция зацикленная на себя при помощи связи по ошибке) 3. Чтобы не зависеть от функций, которые долго выполняются или вообще подвисают на какой-нибудь операции с внешней системой, можно уменьшить "Время ожидания функции в потоке". С 900 секунд, до 180. Параметры справедливы для машины с любым количеством ядер. Ну разве что не стоит выставлять размер пакета процессов меньше, чем число потоков, которые система может обрабатывать параллельно. Средними настройками, подходящими под большинство решений, являются:
|