xplorer Posted December 19, 2012 (edited) Доброго времени суток. Поделитесь кто какой производительности добивался при создании шейперов на базе linux/freebsd? Сколько абонентов мог тянуть один и сколько pps? Конфигурация серверов так же желательна к предоставлению :) Начну с себя. 8 процов ( с hyper-threading ), 8 Gb RAM, network Intel 82576 1Gbx2. На борту CentOS 6.2. Для обработки трафика используется tc(htb) с набором самописных скриптов. Сейчас при 220kpps исходящие и 120kpps входящие на одном интерфейсе htop показывает загрузку 23-25% на всех ядрах. Вечером нагрузка подрастет, и планирую еще абонентов перекинуть для теста. О результатах напишу. Хочется понять насколько много можно выжать из софтового решения и до какого уровня развития провайдера оно имеет право на жизнь. Edited December 19, 2012 by xplorer Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted December 19, 2012 До любого имеет право на жизнь. Крупные альтернативные операторы гоняют сервера в хвост и в гриву ибо дешево, производительно и настраиваемо под свои нужны. Да и резервировать/чинить/менять тоже просто. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
xplorer Posted December 19, 2012 (edited) До любого имеет право на жизнь. Крупные альтернативные операторы гоняют сервера в хвост и в гриву ибо дешево, производительно и настраиваемо под свои нужны. Да и резервировать/чинить/менять тоже просто. Не уверен что при 150 тыс абонентов удобно обслуживать такое большое количество серверов. Они требуют места, резервирования, электроэнергии, и т д. Разница в цене с железными решениями тогда должна быть очень большой. Кстати, какие железки покупают для шейпинга, есть информация? Цена, сколько сессий и пакетов держат? Edited December 19, 2012 by xplorer Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted December 19, 2012 Кстати, какие железки покупают для шейпинга, есть информация? Цена, сколько сессий и пакетов держат? hw-брасов на рынке хватает, значительная часть характеристик есть в паблике, ищите. названия платформ - Cisco ASR, Juniper MX(старшие модельки), Huawei ME60(-X), Ericsson SE, Alcatel SR. Но это лишь платформы, а реальные характеристики складываются из того, какие платы и свитч-фабрики вы купите в них. Для обработки трафика используется tc(htb) с набором самописных скриптов. Сказать что у вас htb это ничего не сказать. Может у вас там сотня классов на все случаи жизни, а может всего 1-2 Хочется понять насколько много можно выжать из софтового решения и до какого уровня развития провайдера оно имеет право на жизнь. До тех пор пока админу(ам) есть реальная мотивация всем этим заниматься. Если у вас админы с улицы или вы их не сильно мотивируете, то проще купить hw-решение, которое потом смогут спокойно эксплуатировать другие люди, а не вкуривать костыли вашего наколеночного решения. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted December 19, 2012 Не уверен что при 150 тыс абонентов удобно обслуживать такое большое количество серверов. Они требуют места, резервирования, электроэнергии, и т д. Разница в цене с железными решениями тогда должна быть очень большой. У нас намного больше 150 тыс абонентов. Занимается серверами этого направления по сути один человек. Если своевременно обновлять платформы, то их количество весьма в пределах разумного. Денег в таких масштабах экономится немерено, особенно с учетом того что на эти же сервера можно посадить кучу всего нужного и бесплатно, а снятые старые платформы заюзать по другие нужды. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
replicant Posted December 19, 2012 (edited) Не уверен что при 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 December 19, 2012 by replicant Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted December 19, 2012 (edited) Гигабит ната + полисинга + netflow + говноанализа(для дальнейшего перенаправления "интересного" трафика на нормальные анализаторы - полезно в свете последних законов) укладывается в 1000 баксов и 40Вт/ч (среднее за сутки) в общем-то. Найдете готовое железное решение, скажем, на 200 гигабит за шесть миллионов и с потреблением около 10 КВт, сообщите пожалуйста=) Тут мелькало видео с докладом г-на cmhungry с последнего КРОСа, там вопрос цены освещался очень неплохо. Edited December 19, 2012 by sexst Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
xplorer Posted December 22, 2012 Сказать что у вас 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 каналов в один. Может это и есть камень преткновения... Сейчас дальше эксперементируем, пробуем выжать из этих железок по максимуму. О способах и результатах само собой напишу :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
replicant Posted December 22, 2012 (edited) итого на выходе имеет 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 December 22, 2012 by replicant Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted December 24, 2012 Ну на самом деле конкретику по понятным причинам описать не могу, увы =( Такие цены выходят на Xeon'ах последнего или предпоследнего поколений (типа x56xx / E5 гигагерц этак на 2.5-2.7, больше сильно дороже) + Intel X520 (можно попробовать и парочку i350-T4, но всплывают косяки с бондингом) + побольше оперативки + платформа по вкусу (мне лично supermicro нравятся). Приоритетнее вкладываться в хорошие сетевые чем в процессор. Из софта решений опять таки много. Малеванов vyatta разогнал, у нас линух с самописными модулями. Итого получается ~150к,1u и ~200Вт/ч за 5 гигабит трафика. Количество денег/ серверов на конечный трафик посчитать легко. По персоналу - грамотный линуксовод стоит не дороже грамотного хардварщика (а следить за всем этим хозяйством один черт кому-то нужно), а софт тюнится/пишется один раз, дальше как правило тот же линуксовод способен его поддерживать и править. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
xplorer Posted December 24, 2012 Попробую отключить HT и обновить ядро, может допилили что. Нагружу до отказа, о результатах напишу. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
doubtpoint Posted December 25, 2012 Мы пробовали несколько двухпроцессорных серверов и получили отрицательные результаты производительности. Предположили, что связано с проблемами синхронизации кеша процессора. В тоже время HT не приводил к снижению производительности(даже наоборот). Поэтому используем процессоры i7-3770, i7-3930 или аналогичные однопроцессорные хеон. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted December 25, 2012 От платформы зависит. На каких-то проблема всплывает, на каких-то нет. В общем и целом рекомендуется больше одного процессора не ставить. Точная причина неизвестна, предположения разные - от кеша и до багов с шиной к процессорам. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmitry_ Posted January 12, 2013 выложу свои наблюдения по этому поводу имеем 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 следующую на второй платформе стоит проц Intel® Xeon® CPU E5620 @ 2.40GHz - 8 ядер, с сетевухами картина идентичная первой Трафик на каждом bond: ~ 145kpps in, 111kpps out, 1.25Gb/s in и 480Mb/s out в это время видим загрузку CPUs следующую На обоих машинах крутятся, nat, htb shaping на in/policing на out, и самописный демон для снятия conntrack - видно что 1 камень загружен чуть больше. Можно сделать вывод что 4-х ядерный проц с большей тактовой частотой справляется лучше с задачами, чем более ядерный, но меньшей тактовой частотой. У меня были мысли разогнать Xeon® CPU E5620 @ 2.40GHz, кто-нибудь таким занимался и стоит ли вообще гнать CPU в таких решениях, не выйдет ли это боком? 2-я платформа покупалась с надеждой, что вытянет честные 2Gb/s, но не тут то было, теперь думаю или разогнать CPU или купить 2-проц, платформа позволяет устанавливать 2 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
passer Posted January 12, 2013 (edited) Дык сравнили, 4 ядра на частоте 3ГГц и 4 (не 8) ядра на 2.4ГГц, пусть даже с большим кэшем. Пруф на ark.intel.com. P.S. Очереди прибиты к ядрам? У меня загрузка поменьше будет при той же почти нагрузке (140kpps). Edited January 12, 2013 by passer Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
doubtpoint Posted January 12, 2013 Можно сделать вывод что 4-х ядерный проц с большей тактовой частотой справляется лучше с задачами, чем более ядерный, но меньшей тактовой частотой. У меня были мысли разогнать Xeon® CPU E5620 @ 2.40GHz, кто-нибудь таким занимался и стоит ли вообще гнать CPU в таких решениях, не выйдет ли это боком? 2-я платформа покупалась с надеждой, что вытянет честные 2Gb/s, но не тут то было, теперь думаю или разогнать CPU или купить 2-проц, платформа позволяет устанавливать 2 Несколько постов выше писали(в том числе и я): Двухпроцессорные платформы не дают выигрыша(даже хуже). Некоторые пишут HT вредит системе. Мои результаты не подтверждают это(хотя я в соседней теме написал, что тоже столкнулся с проблемами). Но даже если HT дает 1,5 раза прирост, то вторая платформа не очень выглядит привлекательной. Возможно вам надо оптимизировать софт - на i7-3770 можно вытянуть более 1Мpps и 5Гбит\с(в сумме всех if). Серверные платформы не очень удобны для разгона, а необходимую надежность, при разгоне, только вы сможете оценить. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
KotikBSd Posted January 12, 2013 (edited) Вставлю свои пять копеек, имеем 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) п.с. памяти везде два гига. подробнее по платформе типа что за память и мать смотреть лень, если кому-то надо то посмотрю по факту. А теперь графики: на первом графике на дропы внимания не обращайте, там дропы не на абонентском интерфейсе, а скрипты дропы отовсюду снимают, по этому не красиво выходит :) п.с. всплески CPU это скрипты по cronY, архивация... DELL всю картину портит... вот думаю заменить его тоже на DEPOшный сервер, а его отправить на покой какойнить хренью заниматься... что мы не делали, но заставить его работать на ровне с остальными не вышло... Edited January 12, 2013 by KotikBSd Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
replicant Posted January 12, 2013 (edited) DELL всю картину портит... вот думаю заменить его тоже на DEPOшный сервер, а его отправить на покой какойнить хренью заниматься... что мы не делали, но заставить его работать на ровне с остальными не вышло... Я вот удивляюсь, а что вы хотели от DELL'a (пусть он хоть 100500 раз фирменный)? 1. Процессор у него какой-то из старых, если c кешем всего 1М (вы бы модель точно указали и сокет). 2. Шина у него поди узкая, по крайней мере точно уже чем у Core2. И без наблюдений сразу понятно, что он будет слабее всех и выжать из него много не получится. Можно было даже не пробовать его вводить в строй. Время бы сэкономили. И это еще без разбора полетов с разномастными сетевками. В DELL'e и сетевки-то так себе ... DEPO - это все равно переплата за воздух. Купите недорогую платформу в x-com или nix.ru и процессор/память к ней до кучи. Вот и будет правильный сервер за небольшие деньги. Edited January 12, 2013 by replicant Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmitry_ Posted January 12, 2013 Можно сделать вывод что 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
drv_sevstar Posted January 14, 2013 Intel® Core i7-3960X CPU @ 3.30GHz + 82599EB 10-Gigabit SFI/SFP+ Network Connection = 800/700 kpps , 6/5 Gbit in/out cpu 65% Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmitry_ Posted January 14, 2013 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? или простой роутинг? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
drv_sevstar Posted January 14, 2013 (edited) Шейпинг (ведь тема про шейпера, верно?) NAT-а нет + flow sensor пока без ipv6, но работаем над этим. Edited January 14, 2013 by drv_sevstar Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
xplorer Posted January 15, 2013 (edited) 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 January 15, 2013 by xplorer Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
replicant Posted January 15, 2013 мне кажется что эзерченел много ресурсов съедает. +1 есть такое же наблюдение. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
drv_sevstar Posted January 15, 2013 (edited) 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 January 15, 2013 by drv_sevstar Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...