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

NAS на FreeBSD 8.2, mpd5, ipfw шейпер - низкая скорость ipfw - какие-то странности

Здраствуйте! Есть 4 NAS на

FreeBSD ppp-XXXXXXXXXXXXXXX 8.3-RELEASE FreeBSD 8.3-RELEASE

3 работают нормально, на 1-ом странности. Ipfw shaper - настроен на 70 мбит/с, получаю около 20 всего, на остальных все нормально с такими же настройки. Все 4 машины получены путем тупого копирования винтов, и правления конфигов сети/интерфесов шейпера. Сетевая 4-х портовая 82576. проц Xeon 3.4 ГГЦ E3-1240 V2. Мать asus P8B-E. top -PSH показывает кучу свободных ресурсов. netstat -w1 тоже криминала не показывает. Как только убераю шейпер - скорость возрастает до 150-170 мбит/с. Ошибок на интерфейсе нет, на коммутаторе тоже. Куда дальше смотреть не знаю! Есть у кого идеи?

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

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


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

Переходите на 10-ку STABLE.

+ покажите свой

netstat -m
cat /etc/sysctl.conf
cat /boot/loader.conf

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


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

Да вроде и 8.3 работает без проблем на остальных серверах.

netstat -m
17504/8746/26250 mbufs in use (current/cache/total)
17491/6323/23814/512000 mbuf clusters in use (current/cache/total/max)
17491/6317 mbuf+clusters out of packet secondary zone in use (current/cache)
0/247/247/12800 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/6400 9k jumbo clusters in use (current/cache/total/max)
0/0/0/3200 16k jumbo clusters in use (current/cache/total/max)
39375K/15820K/55196K bytes allocated to network (current/cache/total)
0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/0/0 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
0 calls to protocol drain routines

 

cat /etc/sysctl.conf
kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.maxvnodes=200000

kern.ipc.somaxconn=16384
kern.ipc.nmbclusters=512000
kern.ipc.maxsockbuf=84886080


net.inet.udp.recvspace=20971520
net.inet.udp.checksum=0
net.local.dgram.recvspace=20971520
net.local.stream.recvspace=20971520

net.inet.tcp.delayed_ack=0
net.inet.tcp.rfc1323=1

# Security
net.inet.ip.sourceroute=0
net.inet.icmp.maskrepl=0
net.inet.icmp.log_redirect=0
net.inet.icmp.drop_redirect=1
net.inet.tcp.drop_synfin=1

net.link.ether.inet.max_age=3600
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.ip.redirect=0
net.inet.ip.random_id=1
net.inet.icmp.icmplim=4096
net.inet.udp.log_in_vain=0

net.local.stream.sendspace=10485760
net.inet.tcp.recvspace=10485760
net.inet.tcp.sendspace=10485760


net.local.stream.sendspace=10485760
net.inet.tcp.recvspace=10485760
net.inet.tcp.sendspace=10485760


net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535
net.inet.ip.portrange.randomized=0

net.inet.ip.ttl=253

# Lessen max segment life to conserve resources
# ACK waiting time in miliseconds (default: 30000 from RFC)
net.inet.tcp.msl=5000

# Explicit Congestion Notification (see http://en.wikipedia.org/wiki/Explicit_C
net.inet.tcp.ecn.enable=1

# IPFW dynamic rules and timeouts tuning
# Increase dyn_buckets till net.inet.ip.fw.curr_dyn_buckets is lower
net.inet.ip.fw.dyn_buckets=65536
net.inet.ip.fw.dyn_max=65536
net.inet.ip.fw.dyn_ack_lifetime=120
net.inet.ip.fw.dyn_syn_lifetime=10
net.inet.ip.fw.dyn_fin_lifetime=2
net.inet.ip.fw.dyn_short_lifetime=10

# Flowtable - flow caching mechanism
# Useful for routers
#net.inet.flowtable.enable=1
#net.inet.flowtable.nmbflows=65535


security.bsd.see_other_uids=0

net.inet.ip.fw.one_pass=1
#net.inet.carp.preempt=1
net.inet.ip.same_prefix_carp_only=0

net.inet.tcp.nolocaltimewait=1


net.graph.maxdgram=8388608
net.graph.recvspace=8388608

net.inet.ip.dummynet.hash_size=2048

# Experimental
net.inet.ip.dummynet.io_fast=1
net.inet.ip.fastforwarding=1
net.inet.ip.dummynet.pipe_slot_limit=1000

# isr tuning
net.isr.direct=0
net.isr.direct_force=0
net.route.netisr_maxqlen=4096
net.inet.ip.intr_queue_maxlen=10240


# em tuning
dev.em.1.rx_int_delay=200
dev.em.1.tx_int_delay=200
dev.em.1.rx_abs_int_delay=4000
dev.em.1.tx_abs_int_delay=4000
dev.em.1.rx_processing_limit=4096
#dev.em.0.stats=1


dev.em.2.rx_int_delay=200
dev.em.2.tx_int_delay=200
dev.em.2.rx_abs_int_delay=4000
dev.em.2.tx_abs_int_delay=4000
dev.em.2.rx_processing_limit=4096





# Increase max command-line length showed in `ps` (e.g for Tomcat/Java)
# Default is PAGE_SIZE / 16 or 256 on x86
# For more info see: http://www.freebsd.org/cgi/query-pr.cgi?pr=120749
kern.ps_arg_cache_limit=4096


# Turn off receive autotuning
#net.inet.tcp.recvbuf_auto=0

# Note from commit http://svn.freebsd.org/base/head@211031 :
# For systems with RAID volumes and/or virtualization envirnments, where
# read performance is very important, increasing this sysctl tunable to 32
## or even more will demonstratively yield additional performance benefits.
vfs.read_max=32


# Should be increased when you have A LOT of files on server
# (Increase until vfs.ufs.dirhash_mem becomes lower)
#vfs.ufs.dirhash_maxmem=67108864

kern.corefile="/tmp/%U.%N.core"
kern.coredump=1


# FOR TEST
#sysctl net.inet.flowtable.enable=0

# IPv6
net.inet6.ip6.redirect=0
#kern.geom.part.check_integrity=0

 

 cat /boot/loader.conf
net.isr.maxthreads=8

 

Даст ли переход на 10-ку прирост в производительности? не потеряю ли в стабильности?

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


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

Еще есть

net.isr.dispatch

net.link.ifqmaxlen=10240

net.inet.tcp.tcbhashsize=524288

и поиграйтесь с режимами ACPI.

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

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


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

HT случаем не включен?

У меня похожую ситуацию создавал, пока в БИОСе не вырубил.

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


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

HT случаем не включен?

У меня похожую ситуацию создавал, пока в БИОСе не вырубил.

Есть такое, включен

 

sysctl net.isr.dispatch
sysctl: unknown oid 'net.isr.dispatch'

Остальное сделал, ночью ребут будет. Если не поможет, завтра выключу HT, вот только абонов всех с него скинуть надо!

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

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


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

sysctl kern.eventtimer

sysctl kern.timecounter

что показывают?

Подозреваю что на хороших тазиках HPET а на проблемном что то другое.

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


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

Нет ни того, ни другого.

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

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


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

sysctl kern.hz
kern.hz: 1000

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


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

Хм. Новые странности. После отключения HT фряха падает в kernel panic. Включаю HT- грузится нормально, выключаю - падает где-то на этапе инициализации сети? Как с этим бороться? переходить на 10 версию? переустанавливать текущую версию?

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


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

0/247/247/12800 4k (page size) jumbo clusters in use (current/cache/total/max)

Плохо крутили

 

kern.ipc.nmbjumbop=262144 # Maximum number of mbuf page size jumbo clusters allowed. pagesize(4k/8k)

kern.ipc.nmbclusters=262144 # Maximum number of mbuf clusters allowed // netstat -m

kern.ipc.nmbjumbo9=262144 # Maximum number of mbuf 9k jumbo clusters allowed

kern.ipc.nmbjumbo16=262144 # Maximum number of mbuf 16k jumbo clusters allowed

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


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

прикрутил. про вторую строчку ругнулось, остальное прошло. Скорость не поменялась. Грешу все -таки на НТ, действительно это единственный сервер с Нт, на остальных нет.

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


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

Поимитирую Saab:

 

В соседней теме фрю поменяли на линукс - и все подземные стуки решились :)

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


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

c accel-ppp у меня как-то не сложилось, демон авторизации биллинга падал... полтора года назад все эти 4 сервера были на ubuntu, да и pbr на линуксе сложнее реализовать. ipfw мне как-то ближе, чтоли.

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


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

И еще вопрос возник, точнее теория. На материнской плате есть 4 интегрированных сетевых, на intel 82574 и 4-х ядерный процессор. На сколько я понимаю, там по одной очереди прерываний на порт. т.е. если я использую всего 2 порта - один в стороны клиентов, на котором pptp висит, а второй в сторону интернета, то и загружается у меня всего 2 ядра. А если из 4-х портов собрать 2 транка, один на вход, один на выход, то у меня будет по 2 очереди на вход, и 2 очереди на выход и будут задейстоваться все 4 ядра? Это так или я где-то ошибаюсь?

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


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

Если руками прибить то будет.

Прерывания на отправку более легковесные в плане обработки.

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


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

Поимитирую Saab:

 

В соседней теме фрю поменяли на линукс - и все подземные стуки решились :)

И появились другие. :)

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


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

Вот-вот и я того же мнения!

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


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

Поставил на тестовой машине freebsd-10.0 поставил mpd, настроил как на остальных. Пытаюсь подключится по пптп, не подключается. В тспдампе с интерфейса, где радиус видно что mpd даже не пытется подключится к радиус серверу. У 10-ой версии есть какие-либо особенности работы с mpd5?

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


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

Нет. Работает на 10-ке без проблем.

Конфиги от 9-ки перешли без переделок.

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

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


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

И что же в итоге было?

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


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

Ну почему же закрыта. Перепробовал и 10, и 9 версию - одна и та же фигня, нет ни одного запроса к радиус серверу. Подозреваю свои кривые руки но в чем именно ошибаюсь - найти не могу.

 

Сейчас ради чистоты эксперемента качаю 8.3, поставлю, попробую сделать тоже самое

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


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

На 8.3 тоже самое. Есть мысль что это каким-то образом связано с тем, что сервак поднят на виртуалке. Удалось выяснить вот что: сравнивал дампы с рабочего сервера и с не рабочего. на рабочем серваке клиент после challenge отвечает response c именем пользователем, а на не рабочем клиент response не отсылает, проверено на нескольких клиентах. Почему - для меня загадка.

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


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

Join the conversation

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

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

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

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

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

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

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