Ответ в первом приближении можно найти достаточно просто. Для этого необходимо замерить использование 3х классических ресурсов: используемое процессорное время, используемая память, обращение к системе ввода-вывода.
Рассмотрим конфигурацию, которая описана здесь http://dvprofessionals.blogspot.com/2009/08/blog-post_21.html
Основные процессы:
- sqlservr
- DocsVision StorageServer
- DocsVision Workflow Server
- ExecLogic
- ExecLogic*32
- w3wp
Распределение процессорного времени
Счетчик: Process | % processor time
Что видно. Основной потребитель - сервер баз данных. Особой постоянной нагрузки нет, только пики. Но если нужно оптимизировать этот ресурс, то MS SQL Server можно перенести на другой сервер.
Использование памяти.
Счетчик: Process | Working Set
Основной потребитель - процесс ExecLogic*32 (это процесс, который непосредственно обрабатывает функции бизнес-процессов. В данном случае 32 разрядные функции).
Это не критично - данному процессу можно ограничить память при помощи настройки в Консоли настройки.
Помимо этого, следующим процессам можно ограничить объем потребляемой памяти:
ExecLogic - в консоли настройки
w3wp - настройка рециклинга (Recycling) в пуле приложений IIS (Application pool)
sqlservr - настройкой памяти в свойствах сервера MS SQL Server.
Использование системы ввода-вывода
Счетчик: Process | IO Data operations /sec
Данный счетчик фиксирует не только обращения к диску, но и сетевые операции. И тут лидерами будут ExecLogic32 и DocsVision StorageServer, из-за частых сетевых вызовов.
Отдельно полезно будет посмотреть длину средней очереди к диску. Но этот счетчик не относится к конкретному процессу, а характеризует производительность в целом.
Какой можно сделать вывод. Для данной конкретной конфигурации не требуется разделения на несколько серверов. Однако, при росте первым кандидатом на переезд будет MS SQL Server.
Будет полезно, если кто-либо из гуру по системному администрированию покритикует методики измерения в комментариях. Читать дальше
4 коммент.:
А что значит высокая занятость процессора StorageServer'ром? Версия 4.1. Проц 2хIntel Xeon E5430(2.66 Ghz) Загрузка часто доходит до 100%
Два предположения:
1. Проверка прав. Сервер делает это при возврате результатов поиска, или других наборов данных.
2. Обработка сетевых соединений. Для проверки можно переключить на HTTP. В этом случае данный протокол будет обрабатываться веб-сервисом StorageServerService.asmx, и нужно проверить загрузку процессора процессом w3wp
Пробовал переключатся на HTTP. Создается несколько процессов w3wp каждый из которых отъедает по 15-25%
Каждый отдельный процесс w3wp - это пул приложений: Application Pool. Следовательно только один из них относится к DocsVision. Для проверки можно остановить остальные пулы, если приложения, работающие на них не очень критичны.
Отправить комментарий