jameel Опубликовано 1 апреля, 2010 · Жалоба Доброго времени суток всем! Столкнулись со следующей проблемой: имеется роутер обслуживающий два канала в инет (PC, Linux), общая пропускная способность каналов более 400 Мбит (и постоянно растет). На роутере работает шейпер и НАТ. По вечерам наблюдается сильная загрузка процессоров обработкой прерываний (si под 100%), что значительно увеличивает время прохождение пакетов через роутер (до 20 мс). Задумались над тем, что бы приобрести на место PC-шного роутера аппаратный. Можете посоветовать железку которой бы с запасом хватило для решения данной задачи? Заранее спасибо за советы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 1 апреля, 2010 · Жалоба Поставить толковую сетевую. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
rvl Опубликовано 1 апреля, 2010 · Жалоба озвучьте pps вариант с установкой igb не рассматриваете? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jameel Опубликовано 1 апреля, 2010 (изменено) · Жалоба Поставить толковую сетевую. Стоит двухпортовый серверный Intel (PCI-X). Куда еще толковее? озвучьте ppsвариант с установкой igb не рассматриваете? Более 100к. Что такое igb? На самом деле не проблема временно решить ситуацию. В прошлый раз мы решили данную проблему увеличением тактовой частоты процессора. Мы и в этот раз конечно же можем установить более мощный проц - но это не решит проблему, а лишь отложит ее на некоторое время. Поэтому мы и изучаем вариант с аппаратным роутером. Изменено 1 апреля, 2010 пользователем jameel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
rvl Опубликовано 1 апреля, 2010 · Жалоба Более 100к. ерунда Что такое igb? The igb driver provides support for PCI Express Gigabit Ethernet adapters based on the Intel 82575 and 82576 Ethernet controller chips. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jameel Опубликовано 1 апреля, 2010 · Жалоба Более 100к. ерунда Что такое igb? The igb driver provides support for PCI Express Gigabit Ethernet adapters based on the Intel 82575 and 82576 Ethernet controller chips. У нас используется 82571 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 1 апреля, 2010 · Жалоба Более 100к. ерунда Поясните. Для 400 мегабит 100кппс даст размер пакета в 500 байт в среднем, что вполне нормально:>>> 400e6/8/100e3 500.0 Что именно Вам кажется ерундой? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
rvl Опубликовано 1 апреля, 2010 · Жалоба Что именно Вам кажется ерундой? желание ентерпрайза, топикстартер ожидает советов в виде 2900 серии хотя прозреваю большую нагрузку по прерываниям и что было бы достаточным увеличение rx/tx-дескрипторов использование igb в плане прерываний было бы более интересным решением Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 1 апреля, 2010 · Жалоба 2ТС А сколько прерываний-то на 100кппс? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jameel Опубликовано 1 апреля, 2010 · Жалоба Что именно Вам кажется ерундой? желание ентерпрайза, топикстартер ожидает советов в виде 2900 серии хотя прозреваю большую нагрузку по прерываниям и что было бы достаточным увеличение rx/tx-дескрипторов использование igb в плане прерываний было бы более интересным решением Мы просто изучаем варианты ;) Я уверен, что можно поднять планку выше 100к. Вопрос в другом - надолго ли хватит такого решения? И как скоро мы опять вернемся к этой же проблеме, учитывая то, что каждый месяц мы набираем по 5-10 кппс? И что лучше - купить новые сетевые, поставить новый драйвер и через год упереться в планку 200 кппс или же выложить кучу бабла на "энерпрайз" и забыть о проблеме на 3 года. 2ТСА сколько прерываний-то на 100кппс? На Core2Duo 8600 (3,33 Ггц) в пике 95-100% si на обоих ядрах 209: 1995898645 1994749304 PCI-MSI eth0 225: 3990342310 1389054458 PCI-MSI eth1 233: 3951485802 2945315039 PCI-MSI eth2 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 1 апреля, 2010 · Жалоба 2ТСА сколько прерываний-то на 100кппс? На Core2Duo 8600 (3,33 Ггц) в пике 95-100% si на обоих ядрах 209: 1995898645 1994749304 PCI-MSI eth0 225: 3990342310 1389054458 PCI-MSI eth1 233: 3951485802 2945315039 PCI-MSI eth2 Прерываний в секунду. Абсолютные значения ни о чём не говорят. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
LionSprings Опубликовано 1 апреля, 2010 · Жалоба на igb сетевухах с процами E5410@2.33GHz 450кппс и 700 мегабит роутит и шейпит 9000 хомячков с загрузкой 7-8%. В пике до 18 поднимается. предыдущий тазик с 571 сетевухами сдох на нагрузке раза в 3 меньшей. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jameel Опубликовано 1 апреля, 2010 · Жалоба 2ТСА сколько прерываний-то на 100кппс? На Core2Duo 8600 (3,33 Ггц) в пике 95-100% si на обоих ядрах 209: 1995898645 1994749304 PCI-MSI eth0 225: 3990342310 1389054458 PCI-MSI eth1 233: 3951485802 2945315039 PCI-MSI eth2 Прерываний в секунду. Абсолютные значения ни о чём не говорят. Это сейчас, когда нагрузки нет. Надо будет глянуть вечером vmstat 1 10 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 544644 226844 945924 0 0 0 1 10 9 1 56 42 0 0 0 0 543528 226844 945924 0 0 0 0 37860 233 0 51 49 0 0 0 0 542660 226844 945924 0 0 0 48 37258 273 0 50 49 0 0 0 0 541668 226844 945924 0 0 0 0 38093 251 0 51 48 0 1 0 0 540940 226844 945924 0 0 0 4 38727 359 0 54 45 0 0 0 0 540568 226844 945924 0 0 0 0 38450 283 0 48 52 0 0 0 0 539824 226844 945924 0 0 0 0 38565 571 10 47 43 0 0 0 0 539576 226844 945928 0 0 0 0 38382 274 0 50 49 0 0 0 0 539204 226844 945928 0 0 0 0 38305 254 0 47 53 0 0 0 0 538956 226844 945928 0 0 0 0 38738 317 1 50 50 0 на igb сетевухах с процами E5410@2.33GHz 450кппс и 700 мегабит роутит и шейпит 9000 хомячков с загрузкой 7-8%. В пике до 18 поднимается. предыдущий тазик с 571 сетевухами сдох на нагрузке раза в 3 меньшей. Спасибо, ценная информация, надо будет попробовать. А какую именно модель сетевух вы используете? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
LionSprings Опубликовано 1 апреля, 2010 · Жалоба А какую именно модель сетевух вы используете? http://www.intel.com/Products/Server/Adapt...rt-overview.htm Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
BETEPAH Опубликовано 2 апреля, 2010 · Жалоба поменять проц на квад, обновить ядро, прооптимизировать правила iptables и шейпера, ну и для полного счастья поменять сетевую, как посоветовали. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jameel Опубликовано 2 апреля, 2010 (изменено) · Жалоба поменять проц на квад, обновить ядро, прооптимизировать правила iptables и шейпера, ну и для полного счастья поменять сетевую, как посоветовали.Так и сделаем. В фаерволе там ничего почти и нет, шейпер уже оптимизировали (когда отключаешь шейпер - нагрузка практически не изменяется). Скорее всего нагрузку дает НАТ, но его оптимизировать вряд ли удастся (хотя если у кого идеи есть - будет интересно послушать) Всем, кто участвовал спасибо за помощь :) Изменено 2 апреля, 2010 пользователем jameel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan Rostovikov Опубликовано 2 апреля, 2010 · Жалоба 7201 в самый раз. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 8 апреля, 2010 · Жалоба Повторю вопрос про количество прерываний в секунду. У Интела оно обязано быть существенно меньше количества пакетов, но есть один глюк (как минимум, во FreeBSD; про Линукс не в курсе), который на этом форуме неоднократно обсуждался: параметры в /etc/sysctl.conf игнорируются и требуется устанавливать их через /etc/rc.local. Рекомендации от Игоря Сысоева - http://dadv.livejournal.com/49013.html dev.em.0.rx_int_delay=600 dev.em.0.tx_int_delay=600 dev.em.0.rx_abs_int_delay=1000 dev.em.0.tx_abs_int_delay=1000 dev.em.0.rx_processing_limit=1024 Естественно, в Линуксе они называются иначе :) Второе: тюнился ли netfilter через sysctl? net.ipv4.netfilter.ip_conntrack_max=побольше, но чтобы хватило ОЗУ net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=поменьше net.netfilter.nf_conntrack_tcp_be_liberal=1 /sys/module/nf_conntrack/parameters/hashsize=столько же, сколько в conntrack_max E8600 для NAT+BGP должен пропускать гигабит с приличным запасом. Замена на 4-ядерный процессор, скорее всего, не спасёт: http://forum.nag.ru/forum/index.php?showtopic=53404 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jameel Опубликовано 8 апреля, 2010 · Жалоба Приобрели и установили рекомендуемую igb сетевую (Intel Gigabit ET Dual Port Server Adapter) однако никакой разницы в нагрузке по сравнению с предыдущей карточкой не увидели. Может быть, требуется какой либо дополнительный тюнинг? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jameel Опубликовано 8 апреля, 2010 · Жалоба Повторю вопрос про количество прерываний в секунду. У Интела оно обязано быть существенно меньше количества пакетов, но есть один глюк (как минимум, во FreeBSD; про Линукс не в курсе), который на этом форуме неоднократно обсуждался: параметры в /etc/sysctl.conf игнорируются и требуется устанавливать их через /etc/rc.local. Рекомендации от Игоря Сысоева - http://dadv.livejournal.com/49013.html dev.em.0.rx_int_delay=600 dev.em.0.tx_int_delay=600 dev.em.0.rx_abs_int_delay=1000 dev.em.0.tx_abs_int_delay=1000 dev.em.0.rx_processing_limit=1024 Естественно, в Линуксе они называются иначе :) Второе: тюнился ли netfilter через sysctl? net.ipv4.netfilter.ip_conntrack_max=побольше, но чтобы хватило ОЗУ net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=поменьше net.netfilter.nf_conntrack_tcp_be_liberal=1 /sys/module/nf_conntrack/parameters/hashsize=столько же, сколько в conntrack_max E8600 для NAT+BGP должен пропускать гигабит с приличным запасом. Замена на 4-ядерный процессор, скорее всего, не спасёт: http://forum.nag.ru/forum/index.php?showtopic=53404 Тюнили только contack_max, спасибо за советы Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
rvl Опубликовано 8 апреля, 2010 · Жалоба Замена на 4-ядерный процессор, скорее всего, не спасёт:http://forum.nag.ru/forum/index.php?showtopic=53404 на fbsd 8 должно (по кол-ву процов/сетевух?) net.isr.maxthreads net.graph.threads + net.isr.bindthreads=1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 8 апреля, 2010 · Жалоба Замена на 4-ядерный процессор, скорее всего, не спасёт:http://forum.nag.ru/forum/index.php?showtopic=53404 на fbsd 8 должно (по кол-ву процов/сетевух?) net.isr.maxthreads net.graph.threads + net.isr.bindthreads=1 Дело не в версии ОС и не в типе сетевых карт.У Core2 Quad пары ядер имеют раздельные кэши L2. Обмен данными они производят через основное ОЗУ. Это сразу минус 20-30 процентов от производительности. У FreeBSD можно наплодить много отдельных потоков для ISR, Netgraph, Dummynet и т.д., но один из них, как показывает практика, съест 100% своего ядра и будет тормозить все остальные. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...