Ограничения на подключение Kurento

Попытка загрузить тестовую установку Kurento (видео+аудиопоток WebRTC подается из браузера и веб-камеры и принимается/воспроизводится браузерами, работающими в Choromium, внутри Xvfb внутри инстансов EC2, запущенных массово). Используемое приложение представляет собой небольшую модификацию примера «один-два-много», в то время как исходная версия обеспечивает тот же результат.

Примерно до 800 подключенных зрителей все работает нормально, но затем соединения начинают давать сбои, например:

Fri Jun 17 2016 10:05:31 GMT+0000 (UTC) connecting presenter 4 with viewer 817
Fri Jun 17 2016 10:05:31 GMT+0000 (UTC) connecting presenter 4 with viewer 819
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) some error connecting presenter 4 with viewer 812 : Error: Request has timed out
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) some error connecting presenter 4 with viewer 806 : Error: Request has timed out
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) some error connecting presenter 4 with viewer 807 : Error: Request has timed out
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) some error connecting presenter 4 with viewer 810 : Error: Request has timed out
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) some error connecting presenter 4 with viewer 811 : Error: Request has timed out
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) some error connecting presenter 4 with viewer 809 : Error: Request has timed out
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) gather candidates error
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) gather candidates error
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) gather candidates error
Fri Jun 17 2016 10:05:50 GMT+0000 (UTC) gather candidates error

что в источнике

presenter[presenterId].webRtcEndpoint.connect(webRtcEndpoint, function(error) {
                            if (error) {
                                    console_log("some error connecting presenter "+presenterId+
                                            " with viewer "+sessionId+" : "+error);
                                    stop(sessionId);
                                    return callback(error);
                            }

так 800 подключений - это предел Куренто? сетевой интерфейс 10 Гбит и вообще не загружен, трафик ‹1 Гбит/с. Машина представляет собой 16-ядерный Xeon с 128 ГБ оперативной памяти.

если попробовать машину попроще (четырехъядерный Xeon с 32 ОЗУ и 1 гбитным интерфейсом) работает нормально до 500 подключений, потом загрузка сети и процессора достигает 60% (что ожидаемо, так и должно быть) и я не решаюсь загрузите его больше, но нет неудачных соединений или чего-то еще. Я ожидал, что по крайней мере 2000 будет работать на машине в 4 раза более мощной, но на 800 это не работает...

возможно ли вообще масштабирование выше 800 подключений?


person Mikhail Novikov    schedule 17.06.2016    source источник
comment
Я читал о некоторых людях, жалующихся на повышенные задержки при гораздо более низких нагрузках. Я не могу это подтвердить, задержки остаются низкими, пока эта штука не сломается. Загрузка процессора также остается достаточно низкой.   -  person Mikhail Novikov    schedule 17.06.2016
comment
У нас есть такое же требование, чтобы транслировать экран на 500+ человек одновременно, но нам не хватает качества и мы не можем получить результаты, соответствующие ожиданиям. Так что не могли бы вы помочь нам, какая конфигурация сервера необходима и как мы можем использовать Kurento для разработки.   -  person Ronak Patel    schedule 26.12.2018


Ответы (1)


Найдите elasticRTC, если вы хотите повысить масштабируемость с помощью kurento. Еще несколько инструкций по созданию настройки с использованием elasticRTC.

person Akshay Kasar    schedule 21.06.2016