mkc Опубликовано 3 августа, 2011 · Жалоба Доброго времени суток! Проблема следующая, сервер вещает IPTV юникастом по следующей схеме - 3 сетевые карты, в первую приходит только мультикаст от контент-провайдера, вторая смотрит на ядро с серым IP для локалки, третья во вне для стороннего проекта. на машине крутится UDPXY который преобразует мультикаст в http и отдает на локалхост, далее на внешку ( на карту 2 и 3 ) отвечает nginx ( 1.0.5 ) - он преобразует ссылки и работает мультиплексом для уменьшения нагрузки на UDPXY который не расчитан на мои нагрузки ( в прайме - от 400 листенеров ). Железо - Intel® Core™ i7 CPU 930 @ 2.80GHz, 12Gb RAM, карты Intel Corporation 82572EI Gigabit Ethernet Controller Проблема такая - в прайме при 300-320 листенерах загрузка процов 8-12%%, память - 3.4-3.7Gb, поток на отдачу - под полкой - но проблема не в этом - система тормозит жутко и картинка у пользователей постоянно стопарится даже в локалке, где поток с интерфейса не более 300 мегабит. Выяснил, что завышены показатели CS в vmstat - доходит до 51-52к : Низкий нагруз ( 60 листенеров ): [root@tv ~]# vmstat 5 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 10168064 102668 1326268 0 0 26 268 1761 3276 1 3 95 0 0 0 0 0 10142048 102684 1348812 0 0 0 2158 18256 37649 1 5 93 0 0 0 0 0 10115752 102692 1371388 0 0 0 4602 18082 38208 1 5 94 0 0 0 0 0 10175164 102704 1311244 0 0 0 5850 18048 38735 1 5 93 0 0 1 0 0 10318692 102720 1164820 0 0 0 3976 18906 39721 1 5 93 0 0 2 0 0 10302084 102728 1179200 0 0 0 5780 18426 39005 1 5 93 0 0 0 0 0 10279896 102736 1198264 0 0 0 1961 17894 37812 1 5 94 0 0 ^C [root@tv ~]# ps ax | grep udpxy | wc -l 60 [root@tv ~]# Нагруз повыше ( 110 листенеров ): [root@tv ~]# ps ax | grep udpxy | wc -l 110 [root@tv ~]# vmstat 5 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 3 0 212364 83676 10266064 0 0 16 1460 104 1423 2 9 87 2 0 1 2 0 202164 83680 10350208 0 0 666 28082 22010 64084 2 9 82 7 0 0 0 0 157392 83668 10407648 0 0 564 17350 22036 63558 2 9 84 5 0 7 0 0 442756 83668 10113704 0 0 327 43397 20229 62714 2 8 74 16 0 2 2 0 295504 83668 10244548 0 0 638 25410 22211 62403 3 9 87 2 0 1 0 0 568336 83676 9985872 0 0 476 14016 21622 63809 3 9 85 3 0 Вопрос: как оптимизировать ядро через sysctl чтобы решить данную проблему. И вообще - насколько я прав, что проблема в этом? Заранее благодарен за помощь) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Vetal13 Опубликовано 3 августа, 2011 · Жалоба UDPXY который не расчитан на мои нагрузки ( в прайме - от 400 листенеров ). Откуда информация на сколько расчитан udpxy ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mkc Опубликовано 3 августа, 2011 · Жалоба Откуда информация на сколько расчитан udpxy ? общаемся с разработчиком - с Павлом Черенковым - та версия которая крутится у меня уже исправлена от ряда проблем - это его слова Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Vetal13 Опубликовано 3 августа, 2011 (изменено) · Жалоба Откуда информация на сколько расчитан udpxy ? общаемся с разработчиком - с Павлом Черенковым - та версия которая крутится у меня уже исправлена от ряда проблем - это его слова Спасибо, буду знать Мы udpxy ( версия из портов) для себя немного модифицировали, путем увеличения буферов, поменяли вывод имени в процессах, прикрутил управление доступом. В максимуме пока было 250 коннектов на 1.2Гбит/сек трафика (Бой Кличка с Хейем :-) ) Проблем тоже нет. Изменено 3 августа, 2011 пользователем Vetal13 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mkc Опубликовано 3 августа, 2011 · Жалоба и у Вас не было проблем с падением в <defunct> ? на таком количестве листенеров?))) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Vetal13 Опубликовано 3 августа, 2011 (изменено) · Жалоба и у Вас не было проблем с падением в <defunct> ? на таком количестве листенеров?))) В родной версии ограничение на 16 соединений, сразу сделали замену в udpxy-1.0-Chipmunk-16/uopt.h static const int MAX_CLIENT_COUNT = 512; static const ssize_t MAX_MCACHE_LEN = 2048 * 1024 * 10; За год зависал всего раза 3, по вечерам больше 100 постоянных коннектов 8.1-STABLE FreeBSD amd64 в sysctl.conf net.inet.icmp.icmplim=4000 kern.coredump=0 kern.maxfiles=1000000 kern.ipc.nmbclusters=1256000 kern.ipc.maxsockbuf=16384000 net.inet.udp.recvspace=4096000 net.inet.tcp.sendspace=1648576 Изменено 3 августа, 2011 пользователем Vetal13 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mkc Опубликовано 3 августа, 2011 · Жалоба в udpxy-1.0-Chipmunk-20 по-умолчанию static const int MAX_CLIENT_COUNT = 5000; и все равно была проблема вылета, пока Павел не выдал альфу 21 правленную под нагрузку Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...