_sailor_ Опубликовано 9 апреля, 2009 · Жалоба Коллеги, встал вопрос о покупке нового пограничного маршрутизатора для осуществления функции NAT-а а также BGP. Недавно Интел выпустил новую линейку серверных платформ SR2600 и SR1600. С покупкой я уже в общем-то определился, вопрос стоит за выбором пары CPU. Дело в том, что новая линейка Xeon-ов отличается производительностью шины памяти. Я выбираю между E5530 (шина памяти работает на частоте 1066MHz) и X5550 (шина памяти на частоте 1333MHz). Цена на данные процессоры отличается в 2 раза. Разница в производительности самих камней - около 10%. Разница в подсистеме памяти - 30%. Вопрос в том, есть ли смысл переплачивать? Вот я озадачился этим вопросом и никак не могу понять, как мне посмотреть степень загрузки шины памяти на существующем роутере. Я не знаю для этого ни одной подходящей диагностической утилиты. Утилиты, показывающие степень загрузки памяти мне не подходят, мне нужна именно утилита показывающая количество обращений к оперативной памяти на чтение/запись. Причём желательно не в единицах, а в гигабайтах в секунду Вопрос встал из-за того, что совершенно не представляю, насколько интенсивно используется оперативная память в процессе connection-tracking а также routing-а (с учётом, что это BGP и несколько full-view). Просьба либо подсказать диагностическую утилиту, либо поделиться своими знаниями о том, насколько высокие требования к подсистеме памяти предъявляет процесс маршрутизации и netfilter с conntrack. И ещё, отдельный вопрос: Есть ли у кого опыт работы подобной платформы с сетевыми адаптерами 10G? Что посоветуете выбрать в качестве адаптера? Есть ли смысл переплачивать за хорошую сетевуху и насколько много стоит переплачивать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bay Опубликовано 9 апреля, 2009 · Жалоба NAT для системы - это не нагрузка. 1500 пользователей с натом на несколько сетей старенький Xeon (модель не скажу, но вероятно 5504) тянет вообще не замечая. Всем всего хватает. При этом, аппарат имеет 100 мбит в инет и 1 Гбит в другие сети. Недавно возникали вопросы относительно количества отслеживаемых коннтреком соединений, но лечатся они обновлением значений в /proc. Формулы рассчетов значений в инете найти можно. Я так думаю, какой-нибудь Celeron 300 тоже потянул бы. Помнится, 300 человек через Pentium 133 работали, только внешний канал был 4 мбит :) Смущает другое - что такое "несколько full-view"? Если я не ошибаюсь, full-view может быть только один и ни один сервер его в любом случае не вытянет. Ну или вытянет, если админов устроит несколько минут задержки на выполнение консольных команд :) Вобщем-то, сразу же возникает вопрос - зачем вам все(!) маршруты всех сетей в мире? Если ваша компания раздает инет на всю Россию, то понятно, но в таком случае не может идти речи о пограничном сервере на лине. Если же не раздает, то full-view вам вообще не нужен. Ну а ~3000 маршрутов наш сервак вытянул даже не заметив. Правда, после этого фильтрацию в BGP мы таки включили :) По поводу 10G не скажу - не работал. Надобность такой железяки за её деньги вобще-то тоже под вопросом. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jurs Опубликовано 9 апреля, 2009 · Жалоба NAT для системы - это не нагрузка. 1500 пользователей с натом на несколько сетей старенький Xeon (модель не скажу, но вероятно 5504) тянет вообще не замечая. Всем всего хватает. При этом, аппарат имеет 100 мбит в инет и 1 Гбит в другие сети. Недавно возникали вопросы относительно количества отслеживаемых коннтреком соединений, но лечатся они обновлением значений в /proc. Формулы рассчетов значений в инете найти можно. Я так думаю, какой-нибудь Celeron 300 тоже потянул бы. Помнится, 300 человек через Pentium 133 работали, только внешний канал был 4 мбит :)Смущает другое - что такое "несколько full-view"? Если я не ошибаюсь, full-view может быть только один и ни один сервер его в любом случае не вытянет. Ну или вытянет, если админов устроит несколько минут задержки на выполнение консольных команд :) Вобщем-то, сразу же возникает вопрос - зачем вам все(!) маршруты всех сетей в мире? Если ваша компания раздает инет на всю Россию, то понятно, но в таком случае не может идти речи о пограничном сервере на лине. Если же не раздает, то full-view вам вообще не нужен. Ну а ~3000 маршрутов наш сервак вытянул даже не заметив. Правда, после этого фильтрацию в BGP мы таки включили :) По поводу 10G не скажу - не работал. Надобность такой железяки за её деньги вобще-то тоже под вопросом. А в чем заключается невытягивание сервером фул-вью? Несколько - видимо имеется в виду, что фв приезжает от нескольких аплинков, нормальная вполне ситуация. Вот например сервачок с линуксом и кваггой. На вид - вытягивает, одно фв нормальное, одно кастрированное на /24 (у аплинка там цыска не вытягивает, видимо :)) # sh ip bgp sum .......................... RIB entries 520733, using 48 MiB of memory .......................... Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd *********** 4 **** ****** ****** * * * ***** 131454 *********** 4 **** ****** ****** * * * ***** 280647 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_sailor_ Опубликовано 9 апреля, 2009 · Жалоба NAT для системы - это не нагрузка. Не соглашусь, ещё какая нагрузка и не сам по себе NAT, а скорее conntrack. 1500 пользователей с натом на несколько сетей старенький Xeon (модель не скажу, но вероятно 5504) тянет вообще не замечая. В моём случае в 5 раз больше, и 2x Xeon-а 2.80GHz предыдущей линейки уже на пределе. Всем всего хватает. При этом, аппарат имеет 100 мбит в инет и 1 Гбит в другие сети. У меня нагрузка значительно выше, поэтому и задаю этот вопрос. Недавно возникали вопросы относительно количества отслеживаемых коннтреком соединений, Не,.. мой вопрос не в этом. А именно в аппаратной части, насколько пропуск больших объёмов трафика требует быстрой памяти. Смущает другое - что такое "несколько full-view"? Несколько подключения к upstream-ам, от каждого получаю full-view. Всё это храниться в памяти и выбирается best route по каждому префиксу. Если я не ошибаюсь, full-view может быть только один и ни один сервер его в любом случае не вытянет. Напротив, особых требований к серверу это не влечёт. Вот циски некоторые не любят несколько full-view держать. Или D-Link-и, которые с поддержкой BGP (типа 3610). А в quagga хоть 10 апстримов добавляй. Ну или вытянет, если админов устроит несколько минут задержки на выполнение консольных команд :) Не знаю, о каких задержках речь, у меня любая команда на консоли quagga занимает доли секунд. Самая длинная команда cl ip bgp * so out занимает несколько секунд, а дальше процесс bgpd "молотит" в офлайне новые префиксы, не пожерая при этом каких-то запредельных ресурсов. Вобщем-то, сразу же возникает вопрос - зачем вам все(!) маршруты всех сетей в мире? Вы, если не секрет, вообще BGP используете? Ну а ~3000 маршрутов наш сервак вытянул даже не заметив. А разве общее количество маршрутов в общей таблице хоть как-то тормозит сервер? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 9 апреля, 2009 · Жалоба А разве общее количество маршрутов в общей таблице хоть как-то тормозит сервер?Для каждого пакетика надо выбрать 1 из 280 000 маршрутов, фигня какая. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 9 апреля, 2009 · Жалоба А разве общее количество маршрутов в общей таблице хоть как-то тормозит сервер?Для каждого пакетика надо выбрать 1 из 280 000 маршрутов, фигня какая. Пока radix tree влезает в L2 cache - фигня. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 9 апреля, 2009 · Жалоба А линух уже залез на дерево? Чето рядом с "radix tree routing" какието непонятные слова "FreeBSD Operating System" "Berkeley Unix" "Mac OS X" "BSD-Reno" а линуха нигде не видно. И 3 метра кеша под таблицу роутинга тоже немало. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_sailor_ Опубликовано 9 апреля, 2009 · Жалоба А разве общее количество маршрутов в общей таблице хоть как-то тормозит сервер?Для каждого пакетика надо выбрать 1 из 280 000 маршрутов, фигня какая. http://www.google.com/search?hl=ru&cli...1%D0%BA&lr= На практике 280k маршрутов в таблице никак не сказываются на производительности машины, обрабатывающий трафик тысяч пользователей в ЧНН. Проверял по сравнению с пустой таблицей с default маршрутом Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
m_medved Опубликовано 10 апреля, 2009 · Жалоба А линух уже залез на дерево? Залезет если CONFIG_IP_FIB_TRIE=y Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bay Опубликовано 10 апреля, 2009 · Жалоба Как много изменилось за пять лет :) Помнится, народ загонял в квагу full-view. Потом 15 минут ssh-ем на сервер заходил. Тоже ксеон :) В моём случае в 5 раз больше, и 2x Xeon-а 2.80GHz предыдущей линейки уже на пределе В 5 раз больше народу должны приносить в ~5 раз больше денег. В наших условиях это около $70000+ в месяц. Странно, что всех всё еще пытаются загнать через один линуховый сервер. Раз уж требуется подешевле, то поставить более одного сервера - пущай себе натят и отправляют на маршрутизатор. Вы, если не секрет, вообще BGP используете? Вообще используеем. Два аплинка. От каждого приезжает некоторое количество маршрутов. Схема достаточно стандартная - основной канал, резервный канал и несколько сетей, которые анонсируются от каждого аплинка. Всего около 100 маршрутов. Просто нам не особо интересно, через какое место пойдет пакет от AOL к Telecom New Zealand Ltd :) Я так понимаю, в вашем случае - это не основной и резервные каналы? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martin74 Опубликовано 10 апреля, 2009 · Жалоба а вот завтра у ваших клиентов аська начнет лагать на основном канале... и будете изобретать костыли? ;) стоит вот у меня роутер... 2 fv. LA выше 1 - это что то редкое... причем очень редкое... а под натом машинки (8 впн серверов) прогибаются... Не сильно, по 5 минут ссш не хожу, но нагрузка там чувствуется... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 10 апреля, 2009 · Жалоба Пока radix tree влезает в L2 cache - фигня.jab - так это сиськи используют процессоры где можно запхнуть любой блок данных в кеш и закрепить там. А у интелей в лучшем случае prefetchnta/prefetcht*, и то - "хочу сделаю, не хочу не сделаю". Плюс гемморой с cache lines, и еще кучей всякой требухи. Надо будет заглянуть как это все у FreeBSD организовано, аж любопытно стало. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_sailor_ Опубликовано 10 апреля, 2009 (изменено) · Жалоба Как много изменилось за пять лет :)Помнится, народ загонял в квагу full-view. Потом 15 минут ssh-ем на сервер заходил. Тоже ксеон :) Видимо, это было очень давно. В 5 раз больше народу должны приносить в ~5 раз больше денег. В наших условиях это около $70000+ в месяц. Странно, что всех всё еще пытаются загнать через один линуховый сервер. Раз уж требуется подешевле, то поставить более одного сервера - пущай себе натят и отправляют на маршрутизатор. И проще и дешевле и надёжнее imho ставить один хороший сервер, чем плодить "писюки" и балансировать между ними трафик. По крайней мере чем сильнее удасться сконцентрировать трафик на меньшем количестве машин - тем лучше. Вообще используеем. Два аплинка. От каждого приезжает некоторое количество маршрутов. Схема достаточно стандартная - основной канал, резервный канал и несколько сетей, которые анонсируются от каждого аплинка. Всего около 100 маршрутов.Просто нам не особо интересно, через какое место пойдет пакет от AOL к Telecom New Zealand Ltd :) Ну, нам по крайней мере от IX-ов нужно короткие префиксы принимать, а это уже больше сотни маршрутов.. Впрочем, мы принимаем всё равно все full-view, т.к. не вижу особого влияния на производительность. Один раз загрузили префиксы, один раз выбрали best-routes, а дальше работаем по route-cache. (за одним нюансом, связанным с новыми соединениями, информации о которых в FIB нету. Но, как показывает практика, производительность не падает и загрузка cpu не повышается) Я так понимаю, в вашем случае - это не основной и резервные каналы? 3 основных аплинка + ix. (+ пиринг....с оговорками) Изменено 10 апреля, 2009 пользователем _sailor_ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bay Опубликовано 10 апреля, 2009 · Жалоба а вот завтра у ваших клиентов аська начнет лагать на основном канале... и будете изобретать костыли? ;) Ну вот full-view из-за этого уж точно принимать не будем. Ну нету у меня прямого канала на AOL. Не нужны мне их маршруты. У меня всего два варианта, как к ним добраться :) Три варианта разрешения проблемы: 1. прогнуть основного поставщика на тему "шозадела" (это правильный вариант - за это деньги плачены) 2. поменять поставщиков значимостью 3. найти другого поставщика. У нас их есть :) а под натом машинки (8 впн серверов) прогибаются... Не сильно, по 5 минут ссш не хожу, но нагрузка там чувствуется... Так может не под натом, а под vpn-ом? У нас сервер таким не занимается. Благо, доксис позволяет избавиться от авторизации вообще и не потерять управление сетью. Но на этом же сервере висит собиралка netflow (генератор и оперативное хрнилище). 4 года - полет нормальный. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_sailor_ Опубликовано 10 апреля, 2009 · Жалоба а вот завтра у ваших клиентов аська начнет лагать на основном канале... и будете изобретать костыли? ;) Не понимаю, почему должна начать лагать аська? Такого никогда не было и в проекте нет ;) стоит вот у меня роутер... 2 fv. LA выше 1 - это что то редкое... причем очень редкое... Если не секрет, что такое LA? а под натом машинки (8 впн серверов) прогибаются... Не сильно, по 5 минут ссш не хожу, но нагрузка там чувствуется... У меня один сервер от 600Мбит NATа не прогибается, на SSH спокойно захожу, пинг 1мс. Что я делаю неправильно? :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 10 апреля, 2009 · Жалоба Пока radix tree влезает в L2 cache - фигня.jab - так это сиськи используют процессоры где можно запхнуть любой блок данных в кеш и закрепить там. А у интелей в лучшем случае prefetchnta/prefetcht*, и то - "хочу сделаю, не хочу не сделаю". Плюс гемморой с cache lines, и еще кучей всякой требухи. Надо будет заглянуть как это все у FreeBSD организовано, аж любопытно стало. Как там на сиськах не знаю, я их не юзаю почти. А на фре разница по нагрузке на простом форвардинге между 1 full-view и пятью статиками с дефолтом, на глаз не заметна, что-то около 1-2%. Но вот если на эту же тачку понавешать других задач, которые будут забивать L2 cache, то будет резкая ступенька в росте нагрузки. Причем больше там bottleneck'у взяться неоткуда. И CPU и RAM в избытке и шины недогружены. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CNick Опубликовано 10 апреля, 2009 · Жалоба LA = load average Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 10 апреля, 2009 · Жалоба У меня один сервер от 600Мбит NATа не прогибается, на SSH спокойно захожу, пинг 1мс. Что я делаю неправильно? :) Пустите гигабит, 500kstates и увидите. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fedusia Опубликовано 10 апреля, 2009 · Жалоба В начале темы был задан вопрос как отследить нагрузку ната на машине? Вот меня этот же вопрос волнует, как продиагнастировать сервер и увидеть, как грузит нат машину. Не подскажите? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 11 апреля, 2009 · Жалоба Чтобы "продиагнастировать" сервер нужен СОМ. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_sailor_ Опубликовано 11 апреля, 2009 · Жалоба Причем больше там bottleneck'у взяться неоткуда. И CPU и RAM в избытке и шины недогружены. Возвращаясь к исходному вопросу. А как проверить, что шины недогружены? И как проверить насколько используется L2 cache? Пустите гигабит, 500kstates и увидите. Так что Вы посоветуете по subj? Чтобы "продиагнастировать" сервер нужен СОМ. А можно попросить ссылку? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 11 апреля, 2009 · Жалоба А можно попросить ссылку? http://forum.nag.ru/forum/index.php?s=&...st&p=373112 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
otaku Опубликовано 11 апреля, 2009 · Жалоба собственно у меня стоит вот это Intel® Xeon® CPU E5405 @ 2.00GHz 2 штуки по 4 ядра. 8 гигов оперативы, платформа интелевая, но как называется не помню. Стоит центос 5.3 x64, проблемы исчерпания контраков пока не встречал, в новызх дистрах параметры контраков в ядре явно более оптимизированные чем раньше, помню года три назад по контаркам у меня на полностью загруженных двух ста мегабитах вылетали пакеты. в роутере 2 встроенных сетевки, одна двух портовая, одна 4 портовая. 2 аплинка по 100 мегабит(оба фулвью отдают) + городские сети + точска обмена трафика. Транзитный поток в пиках 4 гигабита фаервольных правил около 500, наты , пробросы портов + ещё всякая мелочь, если из за фаервола айпитаблес справляться не будет то его правила можно засунуть в хештаблицу и ускорить его работу раза в три. Брать надо с расчетом чтобы было на каждую сетевку по ядру + 2 ядра на систему. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_sailor_ Опубликовано 11 апреля, 2009 (изменено) · Жалоба А можно попросить ссылку? http://forum.nag.ru/forum/index.php?s=&...st&p=373112 Спасибо. В моём случае СОМ, пытающийся повысить свою СО, - это я. Можете посоветовать ссылку по оптимизации под CPU-кэш? И что-то по мониторингу. Может мне OProfile поможет? PS .. В Xeon-ах линейки 5400 или 3300 L2 кэш составляет 12Мбайт, т.е. 2 раза по 6 Мбайт общего кэша на 2 ядра. В линейке 5500 используется по 256кбайт L2 кэша на каждое ядро и 8Мбайт общего кэша на 4 ядра. Что более прогрессивно с точки зрения размещения в кэше необходимых hash-таблиц, используемых при маршрутизации. ?? Изменено 11 апреля, 2009 пользователем _sailor_ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_sailor_ Опубликовано 11 апреля, 2009 · Жалоба собственно у меня стоит вот этоIntel® Xeon® CPU E5405 @ 2.00GHz 2 штуки по 4 ядра. 8 гигов оперативы, платформа интелевая, но как называется не помню. Стоит центос 5.3 x64, проблемы исчерпания контраков пока не встречал, в новызх дистрах параметры контраков в ядре явно более оптимизированные чем раньше, помню года три назад по контаркам у меня на полностью загруженных двух ста мегабитах вылетали пакеты. в роутере 2 встроенных сетевки, одна двух портовая, одна 4 портовая. 2 аплинка по 100 мегабит(оба фулвью отдают) + городские сети + точска обмена трафика. Транзитный поток в пиках 4 гигабита фаервольных правил около 500, наты , пробросы портов + ещё всякая мелочь, если из за фаервола айпитаблес справляться не будет то его правила можно засунуть в хештаблицу и ускорить его работу раза в три. Брать надо с расчетом чтобы было на каждую сетевку по ядру + 2 ядра на систему. Используете какую-то специальную оптимизацию? smp_affinity, специальные параметры netfiltr-а? Можете скинуть в личку выкопировку из скриптов, что в /proc/sys/net.....? Что в /sys/module/nf_conntrack/parameters/hashsize? то его правила можно засунуть в хештаблицу не затруднит пример скинуть? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...