Перейти к содержимому
Калькуляторы

freebsd 7.1 роутер, em0 тест и тюнинг

Мои выводы:

1 - на PCI-e 1х сетевухах на FREEBSD (и наверно нетолько на фре) дуплексный 2х гигабитный (1Гб/с ин + 1Гб/с оут) поток 600 байтными пакетами вызывает коллизии и дропы.

1а - встроеные сетевухи 82566 работают прекрасно, встроенные PCI-e сетевухи посажены на 1х шину и имеют все их недостатки, дуал порт на 4х шине работает нормально.

2 - тюнинг sysctl снижает нагрузку на проц ~ на 5%

3 - hw.em.rxd=1024 hw.em.txd=1024 в loader.conf позволяет принимать за 1 прерывание до 1024 пакетов, штатное значение 256 - 256 пакетов.

4 - таз с процом Q9650 способен перелопатить 3 гигабита локалки, думаю что еще сможет мегабит 200 инета раздать по PPTP

 

 

Тюнинг:

Ядро - выключено все ненужное, добавлено
options         KVA_PAGES=512
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL
options         DUMMYNET
#options                DEVICE_POLLING
options         IPDIVERT #     (NATD)
options         LIBALIAS
options         NETGRAPH
options         NETGRAPH_IPFW
options         NETGRAPH_NAT
options         NETGRAPH_NETFLOW
options         NETGRAPH_SPLIT
options         NETGRAPH_ETHER
options         NETGRAPH_KSOCKET
options         NETGRAPH_SOCKET
options         NETGRAPH_BPF
options         NETGRAPH_IFACE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_TCPMSS
options         NETGRAPH_VJC

loader.conf
hw.em.rxd=1024
hw.em.txd=1024

sysctl
sysctl net.inet.ip.forwarding=1
sysctl net.inet.ip.fastforwarding=1
sysctl dev.em.0.rx_int_delay=250
sysctl dev.em.1.rx_int_delay=250
sysctl dev.em.2.rx_int_delay=250
sysctl dev.em.0.tx_int_delay=250
sysctl dev.em.1.tx_int_delay=250
sysctl dev.em.2.tx_int_delay=250
sysctl dev.em.0.rx_abs_int_delay=250
sysctl dev.em.1.rx_abs_int_delay=250
sysctl dev.em.2.rx_abs_int_delay=250
sysctl dev.em.0.tx_abs_int_delay=250
sysctl dev.em.1.tx_abs_int_delay=250
sysctl dev.em.2.tx_abs_int_delay=250
sysctl dev.em.0.rx_processing_limit=400
sysctl dev.em.1.rx_processing_limit=400
sysctl dev.em.2.rx_processing_limit=400

Изменено пользователем IvanI

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

оборудованием, сохранению конфигов, мониторингу и т.п.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну не скрабится он теперь, ну и фиг с ним :)

что имеется ввиду под словом "скрабится"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну не скрабится он теперь, ну и фиг с ним :)
что имеется ввиду под словом "скрабится"?

ну допустим df флаг не убирается, сделал на серверах доступа adjust mss

keep state не делается, неправильные пакеты не убиваются etc.

 

ничего страшного в этом нет.

 

man pf.conf -> там раздел про Scrubbing есть.

Изменено пользователем ingress

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

угу, я понял спасибо. про Scrub в pf я знаю.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мужики, ктото тестил Intel Pro 1000 PT dual port, которая становится на PCI-e 4x ? Есть смысл разорятся на $200 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мужики, ктото тестил Intel Pro 1000 PT dual port, которая становится на PCI-e 4x ? Есть смысл разорятся на $200 ?

Есть :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Ну я подешевле беру, но проц и сетевухи - это то, на чем не нужно экономить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

простите а зачем вы вообще скрабите?

 

IvanI если не сложно ответьте пожалуйста на мой вопрос про 1mpps и тюнинг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тюнинг где описан там есть, он тока снижает загрузку ядра на 5%

И если внимательно читать с начала то написано что тестовый траф бегает в ВЛАНах и соответственно считается ТОРом 2 раза

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

но моя вариация pf+ipfw убивало всё, причём ничего особенного в ней не было - скраббинг + шейпинг.

ну не скрабится он теперь, ну и фиг с ним

"скраббинг" (scrub, это в pf) убивает производительность. если цель - большой трафик, значит scrub использовать нельзя.

 

ЗЫЖ у него цели совсем другие

Изменено пользователем nessat

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Иван, а какая модель материнки использовалась в тестах ? И на какой версии операционки остановили выбор ?

Изменено пользователем Kaban

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как на старте 7.1, железка такая http://global.msi.com.tw/index.php?func=pr...mp;prod_no=1357 карта в итоге такая EXPI9402PTBLK PCI-E 4х

EM0, EM1 - карта EM2 - встроеная 82566

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

но моя вариация pf+ipfw убивало всё, причём ничего особенного в ней не было - скраббинг + шейпинг.

ну не скрабится он теперь, ну и фиг с ним

"скраббинг" (scrub, это в pf) убивает производительность. если цель - большой трафик, значит scrub использовать нельзя.

 

ЗЫЖ у него цели совсем другие

без разницы было, что он включен что выключен.

мне нужен был только скраб.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Если pf включен, он все-равно будет жрать проц, со скрабом или без. У него default stateful behavior. ( Могли кстати в 7.1 и отключить уже, не смотрел) Иногда это хорошо, иногда не очень. Если включить в ipfw stateful, да нажраться коннектов - оно тоже весьма весело себя будет вести,

почти так же как на тысячах правил без ветвления. :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вот вот default, и не выключить :(

 

просматривая вывод csup обновлений пфа не видел в последнее время.

Изменено пользователем ingress

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

нет, это будет как у меня, всё тюнил(ну разве дрова от яндекса не ставил, потому что вешали систему намертво в прошлые разы),

но моя вариация pf+ipfw убивало всё, причём ничего особенного в ней не было - скраббинг + шейпинг.

У мине шейпинг бриджованный в одном тазу, скраббинг с натом и BGP на других двух, пашет даже на поллинге. Сейчас запускаю на yandex драйверах все на четырехголовых тазах. К середине марта

думаю закончить.

 

 

И пойду покупать Core i7. :-)

К Core i7 надо обязательно еще такие NIC - http://www.hifn.com/uploadedFiles/Products...B-DS4100-13.pdf . Преордер уже доступен ;-). 16 TX/RX queues - это не хухры-мухры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

и 2 года ждать к ним дрова

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К Core i7 надо обязательно еще такие NIC - http://www.hifn.com/uploadedFiles/Products...B-DS4100-13.pdf . Преордер уже доступен ;-). 16 TX/RX queues - это не хухры-мухры.

Нахрен они не нужны, у меня нет IPSec. Тем более там написано, что они в два раза понижают пропускную способность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хотелось потестить нат, соответственно вопрос - как создать 100 000 и более трансляций?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Сгенерить NMAP'ом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

jab, http://www.intel.com/Products/Server/Adapt...rt-overview.htm . Такие вот еще можно, без процессора набортного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хотелось потестить нат, соответственно вопрос - как создать 100 000 и более трансляций?
nmap -D <decoy1 [,decoy2][,ME],...> (Cloak a scan with decoys)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

jab, http://www.intel.com/Products/Server/Adapt...rt-overview.htm . Такие вот еще можно, без процессора набортного.

Вы название топика видели ? i82576 требует igb а не em.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

loader.conf: hw_em_txd/rxd=4096

 

sysctl

 

net.inet.ip.intr_queue_maxlen=1000

dev.em.1.rx_kthreads: 4

dev.em.1.rx_int_delay: 600

dev.em.1.tx_int_delay: 600

dev.em.1.rx_abs_int_delay: 1000

dev.em.1.tx_abs_int_delay: 1000

 

Это навскидку, там еще что-то в ядре подтюнено.

 

dev.em.1.%desc: Intel® PRO/1000 Network Connection Version - 6.7.3.Yandex[$Revision: 1.40 $]

dev.em.1.%driver: em

dev.em.1.%location: slot=0 function=1

dev.em.1.%pnpinfo: vendor=0x8086 device=0x105e subvendor=0x8086 subdevice=0x125e class=0x020000

в яндексном драйвере по большому счёту используется только две ручки:

dev.em.N.rx_kthreads и dev.em.N.rx_kthread_priority - количество RX тредов и их runtime - приоритет

остальные параметры являются скорее пятыми ногами и атавизмами

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.