A. Решение проблем и рекомендации

Компания «Майкроимпульс» оказывает услуги профессиональной технической поддержки по проектам, включая услуги по администрирования и настройке серверов Smarty, порталов, систем управления БД, а также осуществляет настройку репликации данных, балансировки нагрузки, кеширования, резервирования и прочее.

Подробную информацию о стоимости технической поддержки можно получить у своего менеджера.

Кроме того, задать свой вопрос или найти решение той или иной проблемы можно на официальном техническом сообществе http://forum.micro.im

A.1. Проблемы в работе сервера Middleware и сопутствующих системах и их решение

Не отображается список телеканалов на устройстве абонента

Возможные причины и решения:

  • Для абонента/аккаунта не установлены тарифные пакеты, содержащие необходимый набор каналов и стриминг-сервисов.
  • В составе подключенных для абонента/аккаунта тарифных пакетов не найдено ни одного доступного стриминг-сервиса.
  • Кеш списка телеканалов пуст, необходимо выполнить команду cache_channel_list, см. в Кеширование списка телеканалов.
  • После установки обновления не выполнена команда flushall, что привело к порче кеша. См. в Установка обновлений Smarty.

В работе приложения у абонента возникают ошибки и/или при включении приставки возникает ошибка авторизации

Возможные причины и решения:

  • После установки обновления не выполнена команда flushall, что привело к порче кеша. См. в Установка обновлений Smarty.
  • Если используется единственный сервер Redis и в директории для сохранения дампа закончилось место, то это может приводить к ошибкам «MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk». Необходимо освободить свободное место и отключить опцию stop-writes-on-bgsave-error, см. в Настройка кеширования.

В телепрограмме на устройстве абонента не отображаются значки доступности записи телепередач

Проблема: при включенном и настроенном сервисе PVR абоненту недоступно включение передач из записи.

Возможные причины и решения:

  • Для абонента/аккаунта не установлен тарифный пакет, содержащий соответствующий и доступный стриминг-сервис.
  • Созданы технические работы, затрагивающие работу сервиса, см. в Технические работы.

Высокая нагрузка на CPU на сервере MongoDB

Проблема: потребление CPU на сервере MongoDB близко к 100% по всем ядрам, недоступны отчеты телесмотрения.

Возможные причины и решения:

В ходе установки обновления Smarty возник всплеск нагрузки на сервер Middleware и СУБД

Возможные причины и решения:

  • Если в момент обновления планировщиком была запущена команда импорта EPG, то попытка выполнить команду flushall может привести к конфликту инвалидации объектов, т.к. один процесс их создает, а другой инвалидирует. Это может привести к массовой инвалидации объектов в кеше. Для предотвращения такой ситуации при установке обновления необходимо завершать фоновые команды epg_import и cache_channel_list. См. в Установка обновлений Smarty.

При массовом количестве абонентов возникает повышенная нагрузка на CPU и она не уменьшается

Возможные причины и решения:

  • Недостаточно воркеров uwsgi или nginx. Необходимо провести оптимальную настройку сервера приложений и веб-сервера согласно общим рекомендациям под высокую нагрузку.
  • Недостаточно оперативной памяти или CPU. См. в Системные требования. Временным решением проблемы может быть включение кеша nginx, для этого необходимо для наиболее частых запросов задействовать обработчик @cached в конфиге nginx, например:
location /tvmiddleware/api/channel/list/ {
  try_files $uri @cached;
}
location /tvmiddleware/api/program/list/ {
  try_files $uri @cached;
}

Периодически возникает всплек нагрузки на сеть на сервере Middleware

Возможные причины и решения:

  • Включена опция «Включить автообновление данных без перезагрузки устройства» в настройках устройства (см. в Настройки STB и виджетов). Если данная нагрузка нежелательна, то необходимо отключить опицю. Тогда полный список телеканалов и EPG не будет осуществляться.
  • При некорректной работе сети или использовании виртуализации может возникать ситуация задерживания пакетов в очередях, что при освобождении очереди может привести к всплеску запросов, и как следствие - к всплескам трафика. Необходимо устранить сетевые проблемы и обеспечить быструю передачу данных.

Некоторые страницы панели администратора открываются с существенной задержкой, также возникают задержки в работе устройств

Возможные причины и решения:

  • Проверьте доступность сервера СУБД для сервера Smarty. Необходимо обеспечить минимальное время отклика для быстрой работы системы. Также может помочь отключение DNS resolving на сервере БД, например для MySQL: http://pe-kay.blogspot.ru/2011/08/problem-of-high-number-of.html)

Сервер приложений uwsgi не загружается, Smarty недоступна

Возможные причины и решения:

  • Нет прав на запись для пользователя www-data в директорию /var/log/microimpuls или /var/log/microimpuls/smarty. Необходимо разрешить запись в эти директории.
  • Другая причина - см. в логи /var/log/uwsgi/.

Команда импорта EPG epg_import останавливается, EPG не импортируется из панели администратора

Возможные причины и решения:

  • Нет прав на запись в директорию /usr/share/nginx/html/microimpuls/smarty/media. Необходимо назначить пользователя и группу www-data на директорию smarty, выполнив команду: chown -R www-data:www-data /usr/share/nginx/html/microimpuls.
  • Другая причина - см. в логи /var/log/microimpuls/smarty/smarty_epg.log.

В приложении абонента не отображаются иконки телеканалов и картинки передач

Возможные причины и решения:

  • Некорректно установлено значение опции MEDIA_BASE_URL (см. в Описание основных параметров), либо некорректно настроен nginx. Для отладки необходимо открыть портал в браузере и с помощью инструментов разрабочика (например, Firebug) отследить запросы к картинкам.

В приложении абонента спустя некоторое время сбиваются часы и EPG

Возможные причины и решения:

  • Если на устройстве используется синхронизация времени с NTP, то при разрыве соединения с NTP-серверов время может испортиться. Необходимо обеспечить корректную работу и доступность NTP-сервера. Время на сервере Middleware также должно быть синхронизировано со временем на серверах PVR.

Не работает опрос серверов MicroTS, возникают ошибки при взаимодействии Smarty с видео-серверами Microimpuls

Проблема: данные мониторинга не собираются, не отображается мониторинг транскодирования потоков, заданий записи и др.

Возможные причины и решения:

  • Порт JSON-RPC API соответствующих сервисов недоступен для сервера Smarty. Необходимо обеспечить их доступность.
  • Установлена неверная версия пакета python-jsonrpctcp. Необходимо установить пакет из репозитория Microimpuls, см. в Установка Smarty и модулей.

Сторонее приложение, использующее TVMiddleware API, не может получить доступ с другого домена из-за политики CORS

Возможные причины и решения:

  • В файле конфигурации Smarty необходимо прописать исключение CORS для этого домена в опции CORS_ORIGIN_WHITELIST, тогда в заголовках HTTP для запросов с этого домена будут выданы необходимые разрешения. Пример: CORS_ORIGIN_WHITELIST = ( „example.com“, )

Не загружаются обложки и описание фильма с сервиса Кинопоиск

Возможные причины и решения:

  • При частом использовании функции скачивания информации с сервиса Кинопоиск в панели администратора IP-адрес сервера Smarty может быть заблокирован системой защиты от ботов Кинопоиска. Для решения этой проблемы необходимо снизить активность запросов либо обратиться в службу технической поддержки сервиса Кинопоиск.

Медленно обрабатываются запросы к Billing API, медленно сохраняются изменения в панели администратора при редактировании тяжелых объектов

Возможные причины и решения:

  • При длительной работе Smarty накапливает много данных в кэше для быстрой работы приложений. При редактировании данных администратором, при обработке API-запросов от биллинга может возникнуть необходимость инвалидации данных по большому числу связанных объектов, что вызывает длительную работу сервера для обработки такого запроса. Чтобы данные операции производились в фоновом режиме и не тормозили работу необходимо включить поддержку потоков, установив опцию enable-threads в значение true в файле конфигурации uwsgi, после чего перезапустить uwsgi.

A.2. Рекомендации

Рекомендуемые параметры ядра

Изменения нужно вносить в файл /etc/sysctl.conf:

kernel.shmmax = 2473822720
kernel.shmall = 4097152000
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_keepalive_time = 10
net.ipv4.tcp_fin_timeout = 5

Затем выполнить команду для применения изменений:

sysctl -p