Что имеем: FreeBSD 8.0-RELEASE amd64, mpd v5.5 из портов.
Погуглив по данной теме понял, что это тоже полезно будет: проц Intel E5320, 4GB оперативы, 8 сетевых Интерфейсов Intel(R) PRO/1000 Network Connection 6.9.14 (дрова родные от Фряхи). MTU1500.
Ядро пересобрано без поддержки поллинга, с поддержкой нетграф и ipfw. Интересующие меня соединения проходят примерно через 6 правил ipfw.
Поднимаю на сервере одно PPTP соединение (назовем его "главным"), в данном случае рассматриваемый сервер является клиентом, тем самым я объединяю две сети. По этому тоннелю должно проходить из одной сети на находящийся в другой сети ВПН-сервер еще порядка 500 PPTP-туннелей (назовем их ВПНы).
Без какого-либо вмешательства в настройки ядра тоннель прекрасно поднимается, пакеты летят, но PPTP соединения созданные внутри "главного" разрываются каждые 5-10 минут, при этом по показаниям mpd сам "главный" линк висит и все в нем ОКе.
По показаниям top -SIP ресурсов сервака до попы, а прерываний не более 15% (стоит учитывать что каждый из 7-ми сетевых Интерфейсов активен и смотрит в свою сетку).
Меняю параметры ядра (в их значения не особо вчитывался, но судя по аналогичным постам в инете обычно их всегда и меняют, сами параметры будут указаны ниже) - в итоге получаю, что тоннели перестают разрываться (50 минут ждал), но появляются потери ~10-15% по "главному" линку и соответственно качество ВПНов также падает (потери), при этом сохраняется сама скорость ВПНов (они ограничены 512кбит/с другим раутером). Как это так выходит не совсем понятно мне, скорость проверял по speed.yoip.ru.
Смотрю netstat -hw1 -Iem6, где em6 - ифейс на котором и поднят "главный" линк: ошибок 0, input bytes 3.0-3.5MB и не более (должно быть минимум 50мбит/сек)! Ну никак я не смог заставить это число подняться, я так понял, что что-то ограничивает, только что?
Конфиги:
mpd5.conf:
main:
create bundle static main_B
set iface enable tcpmssfix
set iface up-script /usr/local/bin/scripts/mpd-up-ng0
set iface down-script /usr/local/bin/scripts/mpd-down-ng0
set ipcp ranges 0.0.0.0/0 0.0.0.0/0create link static main_L pptp
set link enable multilink
set link action bundle main_B
set auth authname ...
set auth password ...
set link max-redial 0
set link keep-alive 5 40
set link yes passive
set pptp peer ...
set pptp self ...
set pptp enable windowing
opensysctl (которые менялись):
net.inet.ip.fastforwarding: 0
net.inet.tcp.rfc1323: 1
net.inet.tcp.sendspace: 32768
net.inet.tcp.recvspace: 65536
net.inet.tcp.sendbuf_max: 262144
kern.ipc.maxsockbuf: 262144
kern.ipc.maxpipekva: 68415488
kern.ipc.maxsockets: 25600Подскажите где искать проблему?
8.0 плохо работает с em.
>[оверквотинг удален]
>net.inet.ip.fastforwarding: 0
>net.inet.tcp.rfc1323: 1
>net.inet.tcp.sendspace: 32768
>net.inet.tcp.recvspace: 65536
>net.inet.tcp.sendbuf_max: 262144
>kern.ipc.maxsockbuf: 262144
>kern.ipc.maxpipekva: 68415488
>kern.ipc.maxsockets: 25600
>
>Подскажите где искать проблему?без ограничения скорости пробовали?
Я скорость на данном роутере нигде не ограничиваю, рассчитывал рассматриваемый сервер установить вместо другой железяки (D-Link DFL2500). На д-линке реализована подобная схема, где на "главном" до 64мбит нагрузка. А во фре не могу понять почему только 3,5мбит и не более.
Еще раз: на рассматриваемом сервере шейпера нет, приоритезации никакой нет, правила фаервола только разрешающие все и вся по линку. Не важно какие данные по проходят по "главному".Или Вы, Елениум, хотите сказать что я параметрами ядра сам и установил ограничение?
>Я скорость на данном роутере нигде не ограничиваю, рассчитывал рассматриваемый сервер установить
>вместо другой железяки (D-Link DFL2500). На д-линке реализована подобная схема, где
>на "главном" до 64мбит нагрузка. А во фре не могу понять
>почему только 3,5мбит и не более.
>Еще раз: на рассматриваемом сервере шейпера нет, приоритезации никакой нет, правила фаервола
>только разрешающие все и вся по линку. Не важно какие данные
>по проходят по "главному".
>
>Или Вы, Елениум, хотите сказать что я параметрами ядра сам и установил
>ограничение?MTU ?
>Что имеем: FreeBSD 8.0-RELEASE
>"главный" линк: ошибок 0, input bytes 3.0-3.5MB и не более (должно
>быть минимум 50мбит/сек)! Ну никак я не смог заставить это число
>подняться, я так понял, что что-то ограничивает, только что?
>
>Подскажите где искать проблему?Аналогично, только показатели скорости другие.
Мой линк от ISP до сервера - 6 Мбит (мир) и 100 Мбит (внутрисеть).
Подключая патчкорд напрямую в рабочую тачанку (под виндой) - имею стабильные 6|100
Переключая назад в сервер - скорость падает до 5|12
Тестирую локальную скорость между двумя тачками (Iperf на сервере и Jperf на виндах) - результат еле дотягивает до 50 Мбит при том, что карты - сотки как и свитч.Обновил мир и ядро до 8.1-PRERELEASE ... проблема осталась.
Шейпов - нет, поллингов - нет, лимитирующих правил - нет.