The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Оптимизация FreeBSD для работы в роли сетевого экрана"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Оптимизация FreeBSD для работы в роли сетевого экрана"  
Сообщение от kostil (ok) on 09-Июл-07, 00:08 
поднял на стареньком компе FreeBSD (AMD K6-2 300MHZ 64MB) собрал ядро со следующими параметрами:
options         IPFIREWALL              
options         IPDIVERT                
options         DUMMYNET                
options         TCP_DROP_SYNFIN        
options         IPFIREWALL_VERBOSE      
options         IPFIREWALL_VERBOSE_LIMIT=10    
options         IPFIREWALL_FORWARD      

поставил две сетевушки, одна смотрит в домашнюю сеть, вторая в приватную. в ipfw в данный момент порядка 100 строк с правилами.
проблема в следующем
когда я начинаю копировать какой нибудь файл из одной подсети в другую, то скорость не поднимается выше 3Мбайт хотя по суте, при 100Mbit соединение должна быть хотя бы 7-9Мбайт, и при этом top показывает что процессор занят практически на 100% прирываниями
CPU states:  3.5% user,  0.0% nice,  2.7% system,  92.3% interrupt, 1.5% idle

сетевухи стояли самые простые, на риалтековских чипах, поменял их на Intel PWLA8390MT, стало конечно немного лучше (скорость теперь поднимается до 6Мбайт) но все же хотелось бы что бы сетка работала шустрее.

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

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Оптимизация FreeBSD для работы в роли сетевого экрана"  
Сообщение от Shane (ok) on 09-Июл-07, 01:37 
>поднял на стареньком компе FreeBSD (AMD K6-2 300MHZ 64MB) собрал ядро со
>следующими параметрами:
>options         IPFIREWALL
>options         IPDIVERT
>options         DUMMYNET
>options         TCP_DROP_SYNFIN
>options         IPFIREWALL_VERBOSE
>options         IPFIREWALL_VERBOSE_LIMIT=10
>options         IPFIREWALL_FORWARD
>

Попробуй отключить VERBOSE и DUMMYNET (если не используется) и включить device polling (man 4 polling).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Оптимизация FreeBSD для работы в роли сетевого экрана"  
Сообщение от kostil (ok) on 11-Июл-07, 09:07 
>>поднял на стареньком компе FreeBSD (AMD K6-2 300MHZ 64MB) собрал ядро со
>>следующими параметрами:
>>options         IPFIREWALL
>>options         IPDIVERT
>>options         DUMMYNET
>>options         TCP_DROP_SYNFIN
>>options         IPFIREWALL_VERBOSE
>>options         IPFIREWALL_VERBOSE_LIMIT=10
>>options         IPFIREWALL_FORWARD
>>
>
>Попробуй отключить VERBOSE и DUMMYNET (если не используется) и включить device polling
>(man 4 polling).


DUMMYNET оставил, т.к. использую эту функцию. убрал VERBOSE скорость сразу увеличилась до 6Mbyte/s.

разобрался с polling

собрал ядро со следующими опциями:

options DEVICE_POLLING
options HZ=1000

настроил polling следующим образом:

sysctl kern.polling.enable=1
sysctl kern.polling.user_frac=10

теперь скорость поднимается до 11Mbyte/s! и при этом система остается жива а не замерает как раньше:)

большое спасибо Shane.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Оптимизация FreeBSD для работы в роли сетевого экрана"  
Сообщение от butcher (ok) on 12-Июл-07, 00:38 
>DUMMYNET оставил, т.к. использую эту функцию. убрал VERBOSE скорость сразу увеличилась до
>6Mbyte/s.

На самом деле IPFIREWALL_VERBOSE не может никак влиять на производительность.
Указание этой опции влияет только на то, что значение переменной net.inet.ip.fw.verbose по-умолчанию будет единица, а не ноль.

ЗЫ. Это так, для истории, чтобы не вводить в заблуждение тех, кто может прочитать этот тред.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Оптимизация FreeBSD для работы в роли сетевого экрана"  
Сообщение от Hammer (??) on 15-Июл-07, 23:34 
>>поднял на стареньком компе FreeBSD (AMD K6-2 300MHZ 64MB) собрал ядро со
>>следующими параметрами:
>>options         IPFIREWALL
>>options         IPDIVERT
>>options         DUMMYNET
>>options         TCP_DROP_SYNFIN
>>options         IPFIREWALL_VERBOSE
>>options         IPFIREWALL_VERBOSE_LIMIT=10
>>options         IPFIREWALL_FORWARD
>>
>
>Попробуй отключить VERBOSE и DUMMYNET (если не используется) и включить device polling
>(man 4 polling).

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Оптимизация FreeBSD для работы в роли сетевого экрана"  
Сообщение от Andrey (??) on 11-Июл-07, 10:44 
NATD работает через IPDIVERT.
Такая связка не очень быстро работает на старых машинках с последними ядрами.

Если есть желание добиться максимальной скорости при минимальной нагрузке, то импользуй pf. В pf nat реализован на уровне ядра. Работает очень быстро!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Оптимизация FreeBSD для работы в роли сетевого экрана"  
Сообщение от guest (??) on 14-Июл-07, 20:05 
AMD-K6 500MHz 32MB

Опции ядра те же, только без dummynet. Оба if на RealTek 100Mbit. Тот же предел в 3MB/s.
Попробовал включить polling, в итоге вообще не вижу разницы, разве что теперь постоянно ~11% уходит на прерывания (при HZ=1000), т.е. только минус в итоге. user_frac что 10, что дефолтный 50 - толку тоже ноль, машина фактически только сетью и занята.
Используется ipfw+natd. Правил пустяк, вся суть которых в выходе из одной сети в другую через один ip этой машины, закрытая схема стены, т.е. только выход с dynamic rules.

Одно только: узнал, что kern.polling.enable is deprecated ;)

Что в моем случае можно подкрутить? Может я не до конца разрулил polling? Или мой единственный шанс выбросить RealTek? :( Просто эти же карточки, когда-то показывали довольно неплохие скоростя ~6-7MB/s.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру