Потоки и пулы потоков SberMobile Server
Здесь перечислены наиболее важные потоки и пулы потоков, используемые SberMobile Server. Это помогает опытным системным администраторам и разработчикам модулей/решений основательно понимать статус внутреннего сервера и устранять проблемы во время работы.
Получить доступ к текущему статусу и трассировкам стека всех потоков сервера (включая описанные здесь) можно через переменные действий и статуса корневого контекста (такие переменные, как Все потоки, Статистика пулов потоков и Статистика потоков доступны через действие Просмотр статуса сервера).
Префикс имени потока | Информация о потоке и пуле потоков |
| Потоки действий выполняют действия сервера. Такой поток может либо выполнять код действия на стороне сервера, либо блокироваться в ожидании ответа пользователя на UI процедуру. |
| Пул потоков обработки команд клиентов обрабатывает команды десктопных и API-клиентов, а именно, Get/Set Variable, Call Function и Subscribe/Unsubscribe Event. После начала обработки команды имя потока обработки меняется так, чтобы отражать суть команды, по следующем шаблону:
|
| Клиентские потоки обслуживают подключения десктопных и API-клиентов. Для каждого подключения создается отдельный поток. |
| Пул потоков операций контекста используется для ускорения параллельно выполняемых действий контекстов сервера. Он используется, в большей степени, при запуске и остановке сервера. Например, каждый ресурс (такой, как тревога) в контексте контейнера инициализируется в отдельной задаче, которая предъявляется пулу исполнителей операций контекстов. Именно поэтому проверка статуса пулов потоков может очень пригодиться для диагностики производительности сервера при запуске и остановке. |
| Потоки диспетчера событий получают события из очередей событий и вызывает слушателей событий, которые эти события обрабатывают. Таким образом, проверка статуса диспетчеров событий может быть хорошей идеей при увеличении очереди событий или при общем запаздывании обработки событий, с точки зрения пользователя. Основной поток диспетчера событий сервера называется |
| Имя основного потока SberMobile Server. |
| Потоки синхронизирующих устройств выполняют синхронизацию устройств. Потоки вызывают драйвера устройств и увязывают данные между драйвером и контекстом устройства. Проверка состояния потоков синхронизатора следует проводить для диагностики запаздывания синхронизации устройств и других связанных проблем. Это особенно касается пользовательских драйверов устройств, созданных на базе набора для разработки драйверов. |
| Потоки данного пула - это потоки таймера, который отвечает за начало периодической синхронизации устройств. |