Страница 1 из 1

Потери пакетов в tcp стеке :(

Добавлено: 2010-03-08 20:45:54
Zohan
Имеется
Dell Power Edge 1950 II
2xXeon 1.6, шина 1066, 4 Мб кэша
8 Гб ЕЦЦ ОЗУ
2 сетевые гигабитные интеловские карты
FreeBSD 7.3RC2 - amd64, MPD5.5 + radius 1.8
ядро GENERIC

в момент максимальной нагрузки которая для нас не должна быть максимальной происходят потери пакетов на интерфейсе:

Код: Выделить всё

netstat -w1 -bdh -i em2
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls drops
       34K     0        16M        38K     0        21M     0     0
       35K     2        16M        39K     0        22M     0     0
       26K   176        13M        29K     0        16M     0     0
       21K    20       9.8M        23K     0        12M     0     0
       16K   367       7.1M        17K     0       8.4M     0     0
       21K   378       9.6M        23K     0        13M     0     0
       18K   245       8.5M        20K     0        11M     0     0
       20K   174       9.0M        22K     0        12M     0     0
       14K   282       6.6M        15K     0       8.1M     0     0
       18K   164       8.4M        20K     0        11M     0     0
       22K   250        10M        24K     0        13M     0     0
       23K    41        10M        25K     0        14M     0     0
       28K   137        13M        30K     0        17M     0     0
       23K   196        10M        25K     0        13M     0     0
       19K   268       8.1M        19K     0       9.9M     0     0
       20K   907       8.6M        20K     0        11M     0     0
      3.5K     0       1.1M       3.0K     0       1.1M     0     0
и так до может до 1-2000 в секунду доходить :(

cat /etc/sysctl.conf

Код: Выделить всё

net.graph.maxdgram=524288
net.graph.recvspace=524288
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=65536
kern.ipc.somaxconn=4096
kern.maxfilesperproc=200000
kern.maxvnodes=200000
kern.ipc.maxsockbuf=1048576
net.inet.ip.intr_queue_maxlen=5120
net.route.netisr_maxqlen=512
net.local.stream.recvspace=65535
net.local.stream.sendspace=65535
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.sendbuf_max=1048576
net.inet.tcp.recvbuf_max=1048576
cat /boot/loader.conf

Код: Выделить всё

pf_load="YES"
kern.ipc.maxpipekva=256000009
kern.ipc.maxsockets=262144
kern.ipc.nmbclusters=262144
kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.ipc.maxsockbuf=524288
autoboot_delay="3"
kern.maxusers=1024
net.graph.maxdata=1024
Мы понимаем что дело на такой мощной машине явно не в железе, а в настройке TCP/IP стека
Кто что может сказать? Все логи или параметры системы готов в любой момент предоставить.

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-08 23:03:43
Gerk
1) Какие конкретно сетевушки интел (модель полностью)?
2) Величина потока, когда начинаются потери в Мбитах или pps?

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-08 23:20:57
LMik
Разве делл ставил на такие сервера интеловские сетевушки?? oO

systat -v 1 покажте при потерях

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-09 7:39:13
Zohan
LMik писал(а):Разве делл ставил на такие сервера интеловские сетевушки?? oO
Нет, не встроенная, а внешняя двухголовая

em1@pci0:14:0:0: class=0x020000 card=0x135e8086 chip=0x105e8086 rev=0x06 hdr=0x00
vendor = 'Intel Corporation'
device = 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)'
class = network
subclass = ethernet
em2@pci0:14:0:1: class=0x020000 card=0x135e8086 chip=0x105e8086 rev=0x06 hdr=0x00
vendor = 'Intel Corporation'
device = 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)'
class = network
subclass = ethernet
LMik писал(а): systat -v 1 покажте при потерях

Gerk писал(а): 2) Величина потока, когда начинаются потери в Мбитах или pps?
>40Kpps

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-09 9:53:52
Qaz
Вообще рекомендуется обновится к 8.0, у нас есть похожий сервер, сетевуха получше правда, дропов с таким количеством пакетов нет, ну и еще вопрос, используется ли ipfw или pf? Вообще какие задачи сервер исполняет?

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-09 10:05:55
Zohan
Qaz писал(а):Вообще рекомендуется обновится к 8.0, у нас есть похожий сервер, сетевуха получше правда, дропов с таким количеством пакетов нет, ну и еще вопрос, используется ли ipfw или pf? Вообще какие задачи сервер исполняет?
Используется pf.
Машина ВПН сервер на MPD5.5, НАТит с фейковых виртуальных интерфейсах ng, шейпит на этих же интерфейсах.

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-09 10:24:39
hizel

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-09 10:37:39
Qaz
У нас на аналогичном:

Код: Выделить всё

8.0-RELEASE-p2

Код: Выделить всё

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1

kern.maxfiles=65535
kern.maxfilesperproc=32768

net.inet.icmp.drop_redirect=1
net.inet.ip.redirect=0

net.inet.tcp.drop_synfin=1
net.inet.icmp.icmplim=50
kern.ipc.maxsockbuf=262144
kern.ipc.somaxconn=4096
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535

kern.ipc.maxsockets=204800
kern.ipc.nmbclusters=262144 
net.inet.tcp.maxtcptw=40960

net.inet.tcp.fast_finwait2_recycle=1
net.inet.ip.fastforwarding=1
net.inet.udp.recvspace=65535
Правда там шейпит dummynet, а натит pf. Тоесть просто роут, шейп, нат. В pf добавлено:

Код: Выделить всё

set limit { states 500000, frags 30000 }

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-09 11:49:30
Zohan
Qaz писал(а):Вообще рекомендуется обновится к 8.0, у нас есть похожий сервер, сетевуха получше правда, дропов с таким количеством пакетов нет, ну и еще вопрос, используется ли ipfw или pf? Вообще какие задачи сервер исполняет?
Ну живут же люди с МПД на больших нагрузках и большим количеством PPTP/L2TP сессий на 7-ке и не жалуются.

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-09 15:18:40
Qaz
Ну хорошо, а что говорит:

Код: Выделить всё

netstat -s |grep drop

Re: Потери пакетов в tcp стеке :(

Добавлено: 2010-03-14 10:36:17
Zohan
Qaz писал(а):У нас на аналогичном:

Код: Выделить всё

8.0-RELEASE-p2

Код: Выделить всё

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1

kern.maxfiles=65535
kern.maxfilesperproc=32768

net.inet.icmp.drop_redirect=1
net.inet.ip.redirect=0

net.inet.tcp.drop_synfin=1
net.inet.icmp.icmplim=50
kern.ipc.maxsockbuf=262144
kern.ipc.somaxconn=4096
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535

kern.ipc.maxsockets=204800
kern.ipc.nmbclusters=262144 
net.inet.tcp.maxtcptw=40960

net.inet.tcp.fast_finwait2_recycle=1
net.inet.ip.fastforwarding=1
net.inet.udp.recvspace=65535
Правда там шейпит dummynet, а натит pf. Тоесть просто роут, шейп, нат. В pf добавлено:

Код: Выделить всё

set limit { states 500000, frags 30000 }
Как вы пропатчили ядро чтобы заработал proxy arp?