Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Настройки WCS по умолчанию в большой степени универсальны и могут нуждаться в подстройке под определенный сценарий клиента.

Настройка сборщика мусора

Важной частью Java VM  является сборщик мусора (Garbage Collector). При запуске сборщик мусора резко увеличивает нагрузку на сервер и может приостановить выполнение остальных задач, поэтому рекомендуется минимизировать его запуски при помощи следующих настроек в файле wcs-core.properties

#Disable heuristic rules
-XX:+UseCMSInitiatingOccupancyOnly

#Reduce Old Gen threshold
-XX:CMSInitiatingOccupancyFraction=70

# Use System.gc() concurrently in CMS
-XX:+ExplicitGCInvokesConcurrent

# Disable System.gc() for RMI, for 10000 hours
-Dsun.rmi.dgc.client.gcInterval=36000000000
-Dsun.rmi.dgc.server.gcInterval=36000000000

Настройка оперативной памяти

При стриминге в памяти создается и уничтожается много объектов с данными. Поэтому рекомендуется выделять под Java memory heap не менее, чем 1/2 физической памяти сервера. Например, если объем оперативной памяти сервера составляет 32 Гб, рекомендуется выделить 16 Гб при помощи следующих настроек в файле wcs-core.properties

-Xmx16g
-Xms16g

Кроме того, если не используются REST hooks, можно оптимизировать работу с памятью за счет отключения взаимодействия между ядром и административным модулем при помощи настройки в файле flashphoner.properties

disable_manager_rmi=true

Настройка UDP

При стриминге медиаданные передаются UDP-пакетами. UDP-пакеты могут отбрасываться, если, например, сервер не успевает разобрать очередь пакетов, что ведет к ухудшению качества изображения, фризам. Для того, чтобы этого избежать, необходимо подстроить буферы UDP-сокетов настройками в файле flashphoner.properties

rtp_receive_buffer_size=13107200
rtp_send_buffer_size =13107200

а также настроить системные очереди командой

ip link set txqueuelen 2000 dev eth0

Для того, чтобы диагностировать проблему с UDP, необходимо отследить сброс UDP-пакетов командой

dropwatch -l kas
>start
  • No labels