SberMobile Server не отвечает

Иногда бывают такие ситуации, когда доступ к серверу не возможен, но он тем не менее запущен. Вы можете видеть, что процесс запущен, но когда пытаетесь получить доступ к Web UI или подключиться к нему, используя SberMobile IIoT Platform Client, запрос превышает лимит времени.

Такое поведение может быть обусловлено несколькими причинами:

  • SberMobile Server не имеет достаточной памяти

  • SberMobile Server использует своп-память

  • SberMobile Server вызывает большую нагрузку на процессор

  • SberMobile Server запущен с ошибками

  • Доступ к SberMobile Server блокируется брандмауэром

Если не удается установить соединение с SberMobile Server, следует:

  • Убедиться, что SberMobile Server запущен (например, найти в системном трее иконку SberMobile Server). См. раздел Проблемы запуска SberMobile Server, чтобы найти и устранить неисправность при запуске сервера.

  • Проверить, что firewall, запущенный на ПК SberMobile Server, не блокирует входящие подключению. Firewall должен разрешать входящие подключения на TCP порт 6460(SberMobile IIoT Platform Client), TCP порт 8443 (безопасные соединений Web UI) и TCP порт 8080 (Web UI незащищенное соединения). Попробуйте полностью отключить firewall.

  • Убедиться, что Вы задали правильный адрес и порт SberMobile Server в настройках подключения к серверу (если используется SberMobile IIoT Platform Client) или адресная строка браузера  (для Web UI).

  • Если IP-адрес сервера задан в глобальных настройках SberMobile Server, убедитесь, что Вы пытаетесь подключиться к серверу, используя этот адрес.

  • Возможно, что SberMobile Server принимает входящие соединения не  на стандартных портах. Проверьте в глобальных настройках сервера текущий номер порта клиента и номера порта Web UI (защищенной и незащищенный).

У SberMobile Server недостаточно памяти

Недостаток памяти - самая распространенная причина низкой производительности сервера и его зависания. Сервер никогда не будет использовать больше памяти, чем определено параметром -Xmx, расположенным в файлах server_*.vmoptions. Чем ближе реальное использование памяти к этому лимиту, тем больше процессорного времени тратится на Сбор мусора Java (очистку памяти). Если сервер попытается занять больше памяти, чем разрешено параметром -Xmx, он потратит все процессорное время, пытаясь освободить память, и по сути, прекратит отвечать.

Постарайтесь увеличить значение параметра -Xmx до 50% оперативной памяти серверной машины, если база данных сервера находится на той же машине, и до 75% оперативной памяти при использовании автономного сервера базы данных.

Более подробно см. главу Использование памяти.

SberMobile Server использует своп-память

SberMobile Server основан на платформе Java, чье управление динамической памятью очень чувствительно к свопингу. Проще говоря, если содержимое памяти, выделенное приложением Java, передается операционной системой в пространство свопинга, производительность приложения значительно снижается, что приводит к отсутствию всякого ответа.

Максимальный размер памяти, используемый SberMobile Server, определяется параметром -Xmx, расположенным в файлах server_*.vmoptions. Если это значение выставлено слишком высоко, сервер выделит много памяти, а лежащая в основе операционная система, скорее всего, перенесет определенные части в низкопроизводительное пространство свопинга.

Используйте диагностические инструменты использования свопа (такие как smem для Linux), чтобы убедиться, что SberMobile Server не использует пространство свопинга. Если использует, снизьте значение параметра -Xmx (убедившись при этом, что у сервера достаточно памяти для этого) или увеличьте оперативную память машины сервера.

SberMobile Server вызывает большую нагрузку на процессор

Может случится так, что SberMobile Server потребляет почти 100% процессорного времени. Такая ситуация часто вызвана неправильными настройками системных объектов, скорее всего, задан короткий период опроса или других действий с частой периодичностью выполнения.

Чтобы найти основную причину большой нагрузки на процессор, следует последовательно деактивировать типы системных ресурсов. Если нагрузка на процессор снижается до нормального значения после деактивации ресурсов определенного типа, включайте их обратно один за другим, чтобы определить ресурс, чьи настройки вызывают избыточную нагрузку на процессор.

  • Временно отключите все устройства. Настройки синхронизации устройства могут вызывать частый опрос, который расходует много процессорного времени.

  • Отключите все тревоги. У какого-то триггера тревог может быть слишком короткий период проверки, или же может вызываться операция, требующая для выполнения больших ресурсов (например, запрос).

  • Отключите все датчики. Один из них может слишком часто выполнять операцию подсчета, или же может вызываться операция, требующая для выполнения больших ресурсов.

  • Отключите все запланированные задачи. У задачи могут быть триггеры, которые вызывают ее слишком частое выполнение, или же сама задача может потреблять много процессорного времени, даже если выполняется лишь единожды.

  • Отключите все инструментальные панели. Даже будучи запущенными на компьютере оператора, инструментальные панели могут ссылаться на серверные операции, приводящие к высокой загрузке процессора.

Может оказаться сложным контролировать сервер при высокой нагрузке на процессор. Чтобы этого избежать, попробуйте запустить SberMobile Server в безопасном режиме. Затем удалите или подстройте ресурсы, снижающие производительность процессора, и перезапустите сервер в нормальном режиме.

Сервер запущен с ошибками

Проверьте файл журнала, чтобы найти причину сбоя в работе сервера. Если файл журнала не помогает разрешить проблему:

  • Выключите сервер (см. выключение сервера)

  • Перезапустите сервер в режиме консоли (используйте исполняемый файл thalamus_server_console)

  • Проверьте консольный вывод на наличие появившихся ошибок

Доступ блокируется firewall

Может случится так, что запуск SberMobile Server осуществлен успешно, но вы не можете подключиться к нему, используя SberMobile IIoT Platform Client или браузер. В файле журнала не видно неуспешных попыток подключения. В этом случае попробуйте отключить firewall, запущенный на ПК SberMobile Server. Он может мешать серверу принимать подключения клиента.

Если SberMobile Server запущен как сервис, возможно, придется вручную добавлять следующие порты в список исключений для firewall для того, чтобы  разрешить SberMobile Server принимать подключения на данных портах: