dadv: (Default)
[personal profile] dadv

Первый стресс-тест mpd-5.5/PPPoE под FreeBSD 8.2-STABLE/amd64 на реальной нагрузке.

Система настроена решать одну задачу - терминировать пользовательские сессии PPPoE с AAA через RADIUS, с шейпингом трафика и анонсированием абонентских IP-адресов в ядро сети через OSPF. На машине нет NAT (адреса реальные), нет netflow (собирается на другом роутере), нет BGP.

В час наибольшей нагрузки отмечено:

  • 1812 сессий PPPoE;
  • средняя нагрузка по ядрам процессора 2% user time / 88% (system time + interrupts) (CPU0: 2+90, CPU1: 2+89, CPU2: 2+90, CPU3: 3+86);
  • 1184.9Mbit/s трафика в сторону клиентов и 830.9Mbit/s от них (итого 2015.8Mbit/s);
  • 549.8Kpps: на интерфейсе lagg0 136.2Kpps in, 120.3Kpps out и на lagg1 139.0Kpps in, 154.3Kpps out;
  • до 102K прерываний в секунду (device polling не использовался);
  • использовано памяти:

    Mem: 101M Active, 41M Inact, 486M Wired, 1644K Cache, 138M Buf, 3314M Free

  • в среднем на одну PPPoE-сессию приходилось 654.1Kbit/s трафика на вход и 434.2Kbit/s на выход.

То есть, на каждый процент загрузки CPU пришлось по 20 сессий.
Система продолжала быть отзывчивой на ssh так же, как и без нагрузки.

Железо:

  • SuperMicro SuperServer 5016T-MTFB с двумя гигабитными интегрированными сетевыми Intel 82574L (драйвер em) и платой IPMI 2.0 с выделенным портом 100M;
  • дополнительная двухпортовая сетевая карта Intel 82576 (драйвер igb);
  • процессор Intel(R) Xeon(R) CPU E5507 @ 2.27GHz (четыре ядра, гипертрединг отключен в BIOS Setup, 4M Cache, 4.80 GT/s Intel® QPI);
  • 4GB памяти ECC;
  • в качестве загрузочного носителя SSD 64GB (KINGSTON SNV425S264GB), при загрузке монтируется только для чтения (система собрана в виде NanoBSD, без свопа).

Общая стоимость железа около 60 тысяч рублей (всё железо новое).

Сетевые em0 и em1 объединены в lagg0, на нём есть IP-адрес и нет vlan-ов, это аплинк. Сетевые igb0 и igb1 объединены в lagg1, на котором нет IP, зато создано 596 vlan-ов, каждый из которых несет PPPoE-трафик пользователей. Шейпинг выполнен через ipfw/dummynet - на каждого подключенного пользователя dummynet динамически (pipe ... mask) создает по две индивидуальных трубы, на вход и на выход, в соответствии с тарифом пользователя. Весь шейпинг делается двумя правилами ipfw, список правил не растет при росте количества абонентов:

pipe tablearg ip from any to table(11) in
pipe tablearg ip from table(12) to any in


Для сравнения: бывшая в употреблении Cisco 7201 на usedcisco.ru стоит $11400 $10900 (примерно в 5.5 раз дороже), срок поставки 3 недели. На этой же задаче и на этих же пользователях обрабатывает около 10 сессий на процент загрузки CPU (то есть, вдвое меньше), причем при высоких загрузках вносит большие задержки и сама с трудом управляется по telnet. Поэтому приходится ограничивать количество сессий на ней (не более 700), чтобы держать нагрузку в пределах 75%. Стоит отметить, что при маленьких нагрузках (ближе к нулю) количество сессий на процент загрузки CPU у обоих систем растет в разы.

Зато Cisco - продукт, и умеет гораздо больше, например, ISG. А FreeBSD - конструктор, и требует существенного тюнинга. Про тюнинг как-нибудь в другой раз.

Update: для проверки провёл второй тест на FreeBSD с целью удержать загрузку в пределах 75%. При прочих равных условиях для этого оказалось нужным ограничить количество сессий PPPoE в 1500. Подтверждается прямая пропорциональность: 1800/0.9=1500/0.75=2000, что даёт нам прогноз стопроцентной загрузки при 2000 сессиях.

На деле у меня пока достаточно железок, чтобы держать нагрузку в пике на уровне 35% :-)

Page 1 of 3 << [1] [2] [3] >>

Date: 2011-04-13 16:48 (UTC)
From: [identity profile] blacklion.livejournal.com
Красиво.

Date: 2011-04-13 17:18 (UTC)
From: [identity profile] techquisitor.livejournal.com
Помнится, несколько дней назад немножко спорил с товарищем о софт- и хард роутерах. Так ни до чего и не доспорились. :)

Но в очередной раз убедился, что при прямых руках такой конструктор не уступит по прозводительности брэндовым решениям (а то и порвёт как тузик грелку) и даст суровую экономию даже с учётом всех расходов (зарплата спеца, железа, етц). Хотя на очень больших сетях с количеством абонентов эдак 400-600 тысяч нужны другие решения. Хотя на том же наге, помнится, 10 гигабит на лялихе вполне себе роутили.

Date: 2011-04-13 17:48 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
даже самое другое решение не тянет более 32К, кажется, на шасси.
так что по любому надо ставить К или даже М коробок.

а с хард-роутерами тягаться бесполезно -- от 100G интерфейса захлебнешься и 322 Tbps тебе не светит

Date: 2011-04-13 18:02 (UTC)
From: [identity profile] dadv.livejournal.com
Просто отроутить IP-пакеты задача сама по себе проще.

Date: 2011-04-13 19:01 (UTC)
From: [identity profile] techquisitor.livejournal.com
Естессно.

Date: 2011-04-13 21:20 (UTC)
From: [identity profile] easyjohn.livejournal.com
65xx с мозгом 7200 роутит 400мп/с.
а кто дает 32k? это терминация ppoe или?

Date: 2011-04-13 21:21 (UTC)
From: [identity profile] easyjohn.livejournal.com
некоторое время назад вопрос был в интерраптах, на пц в них упирались, что мешало получить адекватный ппс.
как сейчас стало - не очень следил.

Date: 2011-04-13 23:04 (UTC)
From: [identity profile] fuflolog.livejournal.com
Поздравляю, ты собрал себе джунипер!

Date: 2011-04-14 03:52 (UTC)
From: [identity profile] dmartynov.livejournal.com
Обязательно выложи всё на какой-нибудь публичный ресурс типа opennet - вселенские знания в карму :)

Date: 2011-04-14 04:02 (UTC)
From: [identity profile] dadv.livejournal.com
Только без ASIC.

Date: 2011-04-14 04:02 (UTC)
From: [identity profile] dadv.livejournal.com
Туда надо с описанием тюнинга, а описание пока не готово :-)

Date: 2011-04-14 04:56 (UTC)
From: [identity profile] techquisitor.livejournal.com
Сейчас новые чипсеты пошли. Те же упоминаемые мной 10 гигабит роутили на Intel X58, кажется. Если очень надо, ссылку на наг могу найти.

Date: 2011-04-14 05:08 (UTC)
From: [identity profile] dadv.livejournal.com
Собственно, мой сервер и есть на X58.

Date: 2011-04-14 07:37 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
32k -- это pppoe сессии, да.

а 65xx с мозгом 7200 не бывает

Date: 2011-04-14 08:24 (UTC)
From: [identity profile] sir-dog.livejournal.com
Красиво!
Как я понимаю, это все сопровождалось достаточно суровым тюнингом?

Date: 2011-04-14 09:01 (UTC)
From: [identity profile] easyjohn.livejournal.com
я опечатался, мозг 720. с ним как раз дает такие ппс.

Date: 2011-04-14 09:05 (UTC)
From: [identity profile] easyjohn.livejournal.com
да не показатель эти 10g, если там один поток с максимального размера фреймами то и старый пц справиться. вопрос именно в ппс, обработка которых упирается в прерывания. по этому хотелось бы увидеть пиковый ппс по этому вашему 10g, что бы сравнить.

Date: 2011-04-14 10:01 (UTC)
From: [identity profile] techquisitor.livejournal.com
Не вопрос. Вот искомая статья. Графики с pps/bps присутствуют.

Date: 2011-04-14 10:30 (UTC)
From: [identity profile] easyjohn.livejournal.com
ага, занятно.
хотелось бы все же и иопсы глянуть, какие количественные значения получились.
ну вот тут пик до 1.4мппс, наверно запас еще есть, но интересно на сколько он большой?
для сравнения та же 65xx циска с sup720 говорит о 400мппс.

Date: 2011-04-14 10:43 (UTC)
From: [identity profile] techquisitor.livejournal.com
Можно попробовать связаться с автором через комментарии к статье. Он там, кстати, уже подробные данные по железу выложил и ещё на ряд вопросов ответил. К тому же, грозится продолжение написать. Надо будет поискать свой пароль от учётки оттуда и зареквестировать продолжение.

Date: 2011-04-14 12:08 (UTC)
From: [identity profile] mtg-nvkz.livejournal.com
А почему не на НАГ? )))

Date: 2011-04-26 20:00 (UTC)
From: [identity profile] dadv.livejournal.com
Да (http://dadv.livejournal.com/138951.html).

Re: Конфиги.

Date: 2011-04-27 17:53 (UTC)
From: [identity profile] dadv.livejournal.com
Достаточно собрать все указанные параметры и получатся loader.conf и sysctl.conf

Re: Конфиги.

Date: 2011-04-28 17:05 (UTC)
From: [identity profile] dadv.livejournal.com
Раз не сказано, значит, не выключал.

Re: Конфиги.

Date: 2011-05-24 05:04 (UTC)
From: [identity profile] dadv.livejournal.com
Вы поняли правильно. А вот я вопроса не понял, он как-то не по-русски сформулирован.
Page 1 of 3 << [1] [2] [3] >>

Profile

dadv: (Default)
Choose your future

July 2024

M T W T F S S
12 34567
891011121314
15161718192021
22232425262728
293031    

Tags

Style Credit

Powered by Dreamwidth Studios