Jump to content
Калькуляторы

shaper-сервер Максимальная производительность

Доброго времени суток.

 

Поделитесь кто какой производительности добивался при создании шейперов на базе linux/freebsd? Сколько абонентов мог тянуть один и сколько pps? Конфигурация серверов так же желательна к предоставлению :)

 

Начну с себя.

 

8 процов ( с hyper-threading ), 8 Gb RAM, network Intel 82576 1Gbx2.

 

На борту CentOS 6.2. Для обработки трафика используется tc(htb) с набором самописных скриптов.

 

Сейчас при 220kpps исходящие и 120kpps входящие на одном интерфейсе htop показывает загрузку 23-25% на всех ядрах. Вечером нагрузка подрастет, и планирую еще абонентов перекинуть для теста. О результатах напишу.

 

Хочется понять насколько много можно выжать из софтового решения и до какого уровня развития провайдера оно имеет право на жизнь.

Edited by xplorer

Share this post


Link to post
Share on other sites

До любого имеет право на жизнь. Крупные альтернативные операторы гоняют сервера в хвост и в гриву ибо дешево, производительно и настраиваемо под свои нужны. Да и резервировать/чинить/менять тоже просто.

Share this post


Link to post
Share on other sites

До любого имеет право на жизнь. Крупные альтернативные операторы гоняют сервера в хвост и в гриву ибо дешево, производительно и настраиваемо под свои нужны. Да и резервировать/чинить/менять тоже просто.

 

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

 

Кстати, какие железки покупают для шейпинга, есть информация? Цена, сколько сессий и пакетов держат?

Edited by xplorer

Share this post


Link to post
Share on other sites

Кстати, какие железки покупают для шейпинга, есть информация? Цена, сколько сессий и пакетов держат?

 

hw-брасов на рынке хватает, значительная часть характеристик есть в паблике, ищите. названия платформ - Cisco ASR, Juniper MX(старшие модельки), Huawei ME60(-X), Ericsson SE, Alcatel SR. Но это лишь платформы, а реальные характеристики складываются из того, какие платы и свитч-фабрики вы купите в них.

 

Для обработки трафика используется tc(htb) с набором самописных скриптов.

 

Сказать что у вас htb это ничего не сказать. Может у вас там сотня классов на все случаи жизни, а может всего 1-2

 

Хочется понять насколько много можно выжать из софтового решения и до какого уровня развития провайдера оно имеет право на жизнь.

 

До тех пор пока админу(ам) есть реальная мотивация всем этим заниматься. Если у вас админы с улицы или вы их не сильно мотивируете, то проще купить hw-решение, которое потом смогут спокойно эксплуатировать другие люди, а не вкуривать костыли вашего наколеночного решения.

Share this post


Link to post
Share on other sites

 

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

У нас намного больше 150 тыс абонентов.

Занимается серверами этого направления по сути один человек. Если своевременно обновлять платформы, то их количество весьма в пределах разумного. Денег в таких масштабах экономится немерено, особенно с учетом того что на эти же сервера можно посадить кучу всего нужного и бесплатно, а снятые старые платформы заюзать по другие нужды.

Share this post


Link to post
Share on other sites

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

 

Не обязательно кол-во серверов должно быть большим. Допустим взять простую калькуляцию платформы на базе Asus R100-X7 + Intel E3-1270v2 + i350T4 + 8Gb RAM + 2 SSD/HDD - такая железка обойдется в 40-45 тыс.руб, мощности в ней от силы 150-180 Вт, т.е. не космические цифры.

 

В 1 млн.рублей таких тазиков покупается 20-25 штук. При грамотной организации софта такой тазик будет выдавать в шейпере запросто 2 Гбит/с на вход и 1 Гбит/с на выход, т.е. почти в полку забивать 2 Гбит аплинк.

 

20 тазиков закидают трафиком 20-30 Гбит аплинк как два пальца, а если напрячься, то и 40 Гбит.

 

Все это хозяйство легко помещается в один шкаф на 42-47 U высоты, до кучи в шкаф ставится какой-нибудь коммутатор с портами 10G и на выходе из шкафа уже имеем n*10G ниток оптики. Далее это все куда-то там загоняем и т.д. и т.п.

 

В итоге недорого, модульно, производительно, отказоустойчиво, ремонтопригодно и т.п.

 

Теперь посчитайте что можно из готового аппаратного взять на 1 млн. рублей, чтобы зашейпить 40 Гбит трафика пользовательских сессий. Думаю не стоит объяснять что такое 40 Гбит/с аплинк и сколько это в абонентах.

 

Что-то даже затрудняюсь сходу назвать что-то из железных решений, способное на такие подвиги в пределах 1 млн. рублей.

Edited by replicant

Share this post


Link to post
Share on other sites

Гигабит ната + полисинга + netflow + говноанализа(для дальнейшего перенаправления "интересного" трафика на нормальные анализаторы - полезно в свете последних законов) укладывается в 1000 баксов и 40Вт/ч (среднее за сутки) в общем-то. Найдете готовое железное решение, скажем, на 200 гигабит за шесть миллионов и с потреблением около 10 КВт, сообщите пожалуйста=)

 

Тут мелькало видео с докладом г-на cmhungry с последнего КРОСа, там вопрос цены освещался очень неплохо.

Edited by sexst

Share this post


Link to post
Share on other sites

 

 

Сказать что у вас htb это ничего не сказать. Может у вас там сотня классов на все случаи жизни, а может всего 1-2

 

 

 

У нас 1 абонент = 1 класс. То-есть теоретическое ограничение 65535 абонентов, но столько на одном сервере думаю не вытянуть. Кто-то кстати организовывал по другому?

 

 

У нас намного больше 150 тыс абонентов.

Занимается серверами этого направления по сути один человек. Если своевременно обновлять платформы, то их количество весьма в пределах разумного. Денег в таких масштабах экономится немерено, особенно с учетом того что на эти же сервера можно посадить кучу всего нужного и бесплатно, а снятые старые платформы заюзать по другие нужды.

 

Гигабит ната + полисинга + netflow + говноанализа(для дальнейшего перенаправления "интересного" трафика на нормальные анализаторы - полезно в свете последних законов) укладывается в 1000 баксов и 40Вт/ч (среднее за сутки) в общем-то. Найдете готовое железное решение, скажем, на 200 гигабит за шесть миллионов и с потреблением около 10 КВт, сообщите пожалуйста=)

 

Тут мелькало видео с докладом г-на cmhungry с последнего КРОСа, там вопрос цены освещался очень неплохо.

 

 

А вот это очень интересно. Не является ли секретом какое Вы используете оборудование, какую ось и сколько серверов у Вас в работе?

 

 

 

 

 

Не обязательно кол-во серверов должно быть большим. Допустим взять простую калькуляцию платформы на базе Asus R100-X7 + Intel E3-1270v2 + i350T4 + 8Gb RAM + 2 SSD/HDD - такая железка обойдется в 40-45 тыс.руб, мощности в ней от силы 150-180 Вт, т.е. не космические цифры.

 

.........

 

Что-то даже затрудняюсь сходу назвать что-то из железных решений, способное на такие подвиги в пределах 1 млн. рублей.

 

Если действительно все это можно выжать из 45 тыс рублей, железные БРАСЫ - нервно курят в сторонке. Получается по принципу нам лень - мы платим (покупаем брасы) или нам не лень и мы пашем :)

 

У нас вообще странные проблемы возникают. Есть шейпер у которого 2 проца по 6 ядер, итого на выходе имеет 24 головы с ht. Во что упирается - непонятно, но производительность у него в пике намного меньше чем у 8-ми голового (писал выше), хотя по irq в секунду и по физической загрузке процессоров, все на минимальном уровне. Единственное что на нем собран bonding из 3 каналов в один. Может это и есть камень преткновения... Сейчас дальше эксперементируем, пробуем выжать из этих железок по максимуму. О способах и результатах само собой напишу :)

Share this post


Link to post
Share on other sites
итого на выходе имеет 24 головы с ht. Во что упирается - непонятно, но производительность у него в пике намного меньше чем у 8-ми голового

 

Я ушел от решения с большим числом ядер (12 и более) и с HT

 

- HT вообще выключаю ибо не нужно как класс, производительности это не добавляет, а проблемы могут быть с затыками на так называемых дополнительных "ядрах"

- два физических проца по 4 ядра, допустим Intel Xeon E5630 2.53GHz, т.е. всего 8 ядер, работают лучше, чем то же самое, но с включенным HT, VT-d и прочими "радостями"

- физический процессор Intel Xeon E3-1280v2 3.6GHz с 4-мя ядрами ведет себя почти так же как 8-ядерник из процов 2.53Ghz, лишь совсем немного уступая в производительности

(почти в 1.7 раза дешевле, меньше по мощности в ваттах в 2.2 раза и требует менее дорогую платформу)

- связка из 6 х 1 Гбит/с интерфейсов в bond хуже по производительности, чем один на 10Гбит/с в той же самой машине

- одна и та же машина в конфигурации с 4-мя слотами памяти 4х2Гб=8Гб работает чуть хуже, чем 2х4Гб=8Гб такой же памяти

 

и т.д. и т.п. практические наблюдения ...

 

Поэтому, когда говорят, что 24 CPU с HT, то как-то это "не айс" для задач шейпинга, ната, полисинга, роутинга, подсчета трафика и т.п. сетевых дел. Лучше больше частоту, меньше ядер на машину, без HT и без транков, бондов и т.п. вязанок из UTP. Практика показывает что такие решения более стабильные.

 

Одна и та же машина с вязанкой 6х1 Гбит ведет себя хуже, чем с вязанкой 4х1 Гбит при условии, что CPU имеет 4 ядра. При этом трафик через машину что в одном что в другом случае одинаковый, а нагрузка на CPU намного выше в случае, когда "сетевых веревок" больше.

 

Считаю что конфигурация должна быть простой. Если есть необходимость прокидывать более 1 Гбит, то можно связать два интерфейса в один, но когда более 2-3 Гбит, то лучше уже подумать о 10 Гбит карточке ибо выйдет боком.

Edited by replicant

Share this post


Link to post
Share on other sites

Ну на самом деле конкретику по понятным причинам описать не могу, увы =(

 

Такие цены выходят на Xeon'ах последнего или предпоследнего поколений (типа x56xx / E5 гигагерц этак на 2.5-2.7, больше сильно дороже) + Intel X520 (можно попробовать и парочку i350-T4, но всплывают косяки с бондингом) + побольше оперативки + платформа по вкусу (мне лично supermicro нравятся). Приоритетнее вкладываться в хорошие сетевые чем в процессор.

 

Из софта решений опять таки много. Малеванов vyatta разогнал, у нас линух с самописными модулями.

 

Итого получается ~150к,1u и ~200Вт/ч за 5 гигабит трафика. Количество денег/ серверов на конечный трафик посчитать легко.

По персоналу - грамотный линуксовод стоит не дороже грамотного хардварщика (а следить за всем этим хозяйством один черт кому-то нужно), а софт тюнится/пишется один раз, дальше как правило тот же линуксовод способен его поддерживать и править.

Share this post


Link to post
Share on other sites

Попробую отключить HT и обновить ядро, может допилили что. Нагружу до отказа, о результатах напишу.

Share this post


Link to post
Share on other sites

Мы пробовали несколько двухпроцессорных серверов и получили отрицательные результаты производительности. Предположили, что связано с проблемами синхронизации кеша процессора.

В тоже время HT не приводил к снижению производительности(даже наоборот). Поэтому используем процессоры i7-3770, i7-3930 или аналогичные однопроцессорные хеон.

Share this post


Link to post
Share on other sites

От платформы зависит. На каких-то проблема всплывает, на каких-то нет. В общем и целом рекомендуется больше одного процессора не ставить. Точная причина неизвестна, предположения разные - от кеша и до багов с шиной к процессорам.

Share this post


Link to post
Share on other sites

выложу свои наблюдения по этому поводу

 

имеем 2 разновидности серверов, все на платформах супермикро.

на первой платформе стоит проц Intel® Xeon® CPU E31220 @ 3.10GHz - 4 ядра, сетевухи: 2 встроенные e1000e и Intel 82576 2х портовая, из них делаются 2 bond, один на вход, другой на выход.

Трафик на каждом bond: ~ 150kpps in/out, 1.33Gb/s in и 600Mb/s out в это время видим загрузку CPUs следующую

sh4.png

 

на второй платформе стоит проц Intel® Xeon® CPU E5620 @ 2.40GHz - 8 ядер, с сетевухами картина идентичная первой

Трафик на каждом bond: ~ 145kpps in, 111kpps out, 1.25Gb/s in и 480Mb/s out в это время видим загрузку CPUs следующую

sh1.png

 

На обоих машинах крутятся, nat, htb shaping на in/policing на out, и самописный демон для снятия conntrack - видно что 1 камень загружен чуть больше.

 

Можно сделать вывод что 4-х ядерный проц с большей тактовой частотой справляется лучше с задачами, чем более ядерный, но меньшей тактовой частотой.

У меня были мысли разогнать Xeon® CPU E5620 @ 2.40GHz, кто-нибудь таким занимался и стоит ли вообще гнать CPU в таких решениях, не выйдет ли это боком?

2-я платформа покупалась с надеждой, что вытянет честные 2Gb/s, но не тут то было, теперь думаю или разогнать CPU или купить 2-проц, платформа позволяет устанавливать 2

Share this post


Link to post
Share on other sites

Дык сравнили, 4 ядра на частоте 3ГГц и 4 (не 8) ядра на 2.4ГГц, пусть даже с большим кэшем.

 

Пруф на ark.intel.com.

 

 

 

P.S. Очереди прибиты к ядрам? У меня загрузка поменьше будет при той же почти нагрузке (140kpps).

Edited by passer

Share this post


Link to post
Share on other sites

Можно сделать вывод что 4-х ядерный проц с большей тактовой частотой справляется лучше с задачами, чем более ядерный, но меньшей тактовой частотой.

У меня были мысли разогнать Xeon® CPU E5620 @ 2.40GHz, кто-нибудь таким занимался и стоит ли вообще гнать CPU в таких решениях, не выйдет ли это боком?

2-я платформа покупалась с надеждой, что вытянет честные 2Gb/s, но не тут то было, теперь думаю или разогнать CPU или купить 2-проц, платформа позволяет устанавливать 2

 

Несколько постов выше писали(в том числе и я): Двухпроцессорные платформы не дают выигрыша(даже хуже).

Некоторые пишут HT вредит системе. Мои результаты не подтверждают это(хотя я в соседней теме написал, что тоже столкнулся с проблемами).

Но даже если HT дает 1,5 раза прирост, то вторая платформа не очень выглядит привлекательной.

Возможно вам надо оптимизировать софт - на i7-3770 можно вытянуть более 1Мpps и 5Гбит\с(в сумме всех if).

Серверные платформы не очень удобны для разгона, а необходимую надежность, при разгоне, только вы сможете оценить.

Share this post


Link to post
Share on other sites

Вставлю свои пять копеек, имеем 3 сервера, конфиги такие:

Софт везде один:

Gentoo 2.6 x86_64

iptables NAT, вкл\выкл достп в инет, редирект на странички блокировки итп... плавила CLASSIFY для шефпинга в tc

ipset со списками

tc htb по однму на абонента.

urlsnarf

ipt_netflow (данные отсылаются на другой сервер)

bind9 - используется как второй DNS сервер для юзеров которых он обслуживает, это было сделано для балансировки в случае если один из серверов падает его нагрузка переходит на другой. в общем bind не нагружен практически. по этому картины не портит...

 

Схема IPoE

 

Сервера:

1) самосбор

model name : Intel® Core2 CPU 6400 @ 2.13GHz --- ДВА ЯДРА таких

cpu MHz : 2128.000

cache size : 2048 KB

bogomips : 4256.00

Сеть: (одна встроенная вторая внешняя PCI)

00:19.0 Ethernet controller: Intel Corporation 82566DM Gigabit Network Connection (rev 02)

04:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)

 

2) Сервер Depo:

model name : Intel® Core2 Duo CPU E7200 @ 2.53GHz --- ДВА ЯДРА таких

cpu MHz : 2533.000

cache size : 3072 KB

bogomips : 5053.12

Сеть: (обе встроенные)

0d:00.0 Ethernet controller: Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (rev 03)

0f:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller

 

3) Покупали б\у DELL фирменный, о чем сейчас жалеем, дешево, но медленно...

model name : Intel® Xeon CPU 2.80GHz два ядра

cpu MHz : 2792.992

cache size : 1024 KB

bogomips : 5586.26

Сеть: (2ве встроенные...)

06:07.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)

07:08.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)

 

 

п.с. памяти везде два гига. подробнее по платформе типа что за память и мать смотреть лень, если кому-то надо то посмотрю по факту.

 

 

А теперь графики:

на первом графике на дропы внимания не обращайте, там дропы не на абонентском интерфейсе, а скрипты дропы отовсюду снимают, по этому не красиво выходит :)

post-55208-034517900 1357998305_thumb.png

post-55208-023029000 1357998313_thumb.png

post-55208-084125900 1357998318_thumb.png

 

п.с. всплески CPU это скрипты по cronY, архивация...

 

DELL всю картину портит... вот думаю заменить его тоже на DEPOшный сервер, а его отправить на покой какойнить хренью заниматься... что мы не делали, но заставить его работать на ровне с остальными не вышло...

Edited by KotikBSd

Share this post


Link to post
Share on other sites

DELL всю картину портит... вот думаю заменить его тоже на DEPOшный сервер, а его отправить на покой какойнить хренью заниматься... что мы не делали, но заставить его работать на ровне с остальными не вышло...

Я вот удивляюсь, а что вы хотели от DELL'a (пусть он хоть 100500 раз фирменный)?

 

1. Процессор у него какой-то из старых, если c кешем всего 1М (вы бы модель точно указали и сокет).

2. Шина у него поди узкая, по крайней мере точно уже чем у Core2.

 

И без наблюдений сразу понятно, что он будет слабее всех и выжать из него много не получится. Можно было даже не пробовать его вводить в строй. Время бы сэкономили.

И это еще без разбора полетов с разномастными сетевками. В DELL'e и сетевки-то так себе ...

 

DEPO - это все равно переплата за воздух. Купите недорогую платформу в x-com или nix.ru и процессор/память к ней до кучи. Вот и будет правильный сервер за небольшие деньги.

Edited by replicant

Share this post


Link to post
Share on other sites

Можно сделать вывод что 4-х ядерный проц с большей тактовой частотой справляется лучше с задачами, чем более ядерный, но меньшей тактовой частотой.

У меня были мысли разогнать Xeon® CPU E5620 @ 2.40GHz, кто-нибудь таким занимался и стоит ли вообще гнать CPU в таких решениях, не выйдет ли это боком?

2-я платформа покупалась с надеждой, что вытянет честные 2Gb/s, но не тут то было, теперь думаю или разогнать CPU или купить 2-проц, платформа позволяет устанавливать 2

 

Несколько постов выше писали(в том числе и я): Двухпроцессорные платформы не дают выигрыша(даже хуже).

Некоторые пишут HT вредит системе. Мои результаты не подтверждают это(хотя я в соседней теме написал, что тоже столкнулся с проблемами).

Но даже если HT дает 1,5 раза прирост, то вторая платформа не очень выглядит привлекательной.

Возможно вам надо оптимизировать софт - на i7-3770 можно вытянуть более 1Мpps и 5Гбит\с(в сумме всех if).

Серверные платформы не очень удобны для разгона, а необходимую надежность, при разгоне, только вы сможете оценить.

софт крутится на всех шейперах одинаковый, и оптимизировать его не вижу смысла, что скорее всего придется делать то это разгонять проц E5620 или покупать еще одну жельзяку, уже думаю на i7

Share this post


Link to post
Share on other sites

Intel® Core i7-3960X CPU @ 3.30GHz + 82599EB 10-Gigabit SFI/SFP+ Network Connection =

800/700 kpps , 6/5 Gbit in/out

cpu 65%

Share this post


Link to post
Share on other sites

Intel® Core™ i7-3960X CPU @ 3.30GHz + 82599EB 10-Gigabit SFI/SFP+ Network Connection =

800/700 kpps , 6/5 Gbit in/out

cpu 65%

NAT? Shaping? или простой роутинг?

Share this post


Link to post
Share on other sites

Шейпинг (ведь тема про шейпера, верно?)

NAT-а нет

+ flow sensor

пока без ipv6, но работаем над этим.

Edited by drv_sevstar

Share this post


Link to post
Share on other sites

Intel® Core i7-3960X CPU @ 3.30GHz + 82599EB 10-Gigabit SFI/SFP+ Network Connection =

800/700 kpps , 6/5 Gbit in/out

cpu 65%

 

Очень неплохой результат. По производительности делает наши xeon5675 на других шейперах... Нам бы с 10G карточками попробовать запустить схему, мне кажется что эзерченел много ресурсов съедает.

Edited by xplorer

Share this post


Link to post
Share on other sites

мне кажется что эзерченел много ресурсов съедает.

+1 есть такое же наблюдение.

Share this post


Link to post
Share on other sites

Intel® Core i7-3960X CPU @ 3.30GHz + 82599EB 10-Gigabit SFI/SFP+ Network Connection =

800/700 kpps , 6/5 Gbit in/out

cpu 65%

 

Очень неплохой результат. По производительности делает наши xeon5675 на других шейперах... Нам бы с 10G карточками попробовать запустить схему, мне кажется что эзерченел много ресурсов съедает.

Совершенно верно.

И главное - попробуйте ядра sangy bridge - будете удивлены приростом производительности.

Даже просто соберите стенд на игровой матери с i7 2600K и проверьте.

У них внутренняя шина намного шире и быстрее. А на предидущих ядрах вы просто упираетесь во внутреннюю шину проца.

Edited by drv_sevstar

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this