MainRadiotalkCustom
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Сильная загрузка сервера

 

23
Владимир @Riffi
Добрый день, форумчане.
Столкнулся со следующей проблемой:

Конфигурация сервера:
[list=*]
[*]VDS[/*]
[*]Ubuntu Linux 12.04
Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz, 2 cores
512Mb ОЗУ[/*]
[/list]

Система вещания:
[list=*]
[*]Icecast2
2 канала Ices[/*]
[/list]

Проблема:
Периодически очень большая нагрузка на процессор:

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

На обоих каналах в ices стоит перекодирование "на-лету".

Так и должно быть, или нагрузка на процессор ненормально высока:?

89
Ok_go_love @Ok_go_love
Количество потребляемых ices ресурсов и количество слушателей - величины, которые друг с другом никак не коррелируют. Icecast - да, на него влияет количество слушателей.

888
Falcon @Falcon
Из собственного опыта:
1)Меня смущает куча процессов icecast, которые висят. Если у вас 2 канала, то их прекрасно можно уместить на двух маунтах на одном сервере.
2)Айсесы с перекодировкой на лету любят кушать проц. Но нагрузка в этом случае перманентна.
Что касается самой проблемы - то сталкивались с подобным на хостинге, когда копий айсеса у нас было около 20-30 штук.
Оказывается, что все айсесы непрерывно пишут файл cue, который отображает текущий статус проигрывания трека (на какой секунде проигрывания и т.д.).
В ТОПе это как раз и выглядело как процесс, который кушает все CPU.
Решается довольно просто:
in stream.c comment out the line calling ices_cue_update

И после чего пересборка и переустановка ices

23
Владимир @Riffi
Большое спасибо за ответ!
Ices пересоберу.

По поводу icecast.
Оба канала живут в одном конфиге icecast, видимо htop так отображает несколько потоков процесса,
потому что ps -aux|grep icecast выводит только один процесс.

888
Falcon @Falcon
На скрине выше - не один процесс.
У них у всех разные PID. У меня htop выводит ровно столько icecast`ов, сколько запущено.

23
Владимир @Riffi
Странно все это:
Вывод top:


Вывод atop


Вывод ps

382
Grigorij @gyurgin_1
Да не обращайте Вы внимания на htop, ps -ax|grep icecast или еще лучше top -n1 -b|grep iceast ТОЧНО выдадут количество запущенных процессов. Пересобирайте ices и смотрите.

23
Владимир @Riffi
После комментирования логирования информации о потоке, действительно стало лучше: