В 3.0 было так: AOS при запуске стартовал несколько служебных потоков и потом на каждую клиентскую сессию запускал по одному выделенному потоку - это еще описано в статье
Как обнаружить, какой пользователь загружает процессор AOS. Т.е. число потоков, запущенных в процессе AOS'а 3.0, всегда было больше числа активных сессий.
Сейчас решил посмотреть, что происходит в AX 2009, а там в процессе AOS'а, где крутится 71 клиентская сессия, работает всего 21 поток, на AOS'е же, где нет ни одной клиентской сессии, работает 8 потоков. Т.е. предположительно 13-14 "рабочих" потоков на AOS'е обслуживают 70+ клиентских сессий - такая архитектура сильно отличается от прежней, где планирование выполнения бизнес-логики клиентских сессий было фактически возложено на OS. В связи с этим вопрос к тем, кто каким-то образом в курсе, и к тем, кто просто работает на 2009-й:
- описаны ли где-нить архитектурные изменения касаемо того, как AOS выполняет серверный код клиентских сессий?
- есть ли где-либо описание настроек, с помощью которых можно рулить пулом "рабочих" потоков, используемым AOS'ом для выполнения бизнес-логики клиентских сессий, и другими связанными параметрами работы, по аналогии с пулом подключений к СУБД?
- сколько в среднем клиентских сессий у вас работает на одном AOS'е AX 2009?
- какие вычислительные мощности вы используете на один AOS AX 2009? Т.е. сколько и каких процессоров выделено; если дело происходит в виртуалке, то полностью ли физические ядра выделяются одной виртуалке или же частично "перекрываются" с другой (скажем, 2 виртуалки по 4 логических процессора на 6 физических ядер)?
- сколько AOS'ов вы запускаете на одном сервере (в одной виртуалке)?
- какая у вас средняя загрузка процессоров на сервере с AOS'ом? Замечены ли какие-то нелинейные зависимости между загрузкой процов и числом активных сессий?
- если вы используете 4-ку, то как обстоит с этим дело в ней? Выделяется ли там по одному потоку на сессию или же используется пул "рабочих" потоков для обслуживания всех сессий?