Jump to content
Калькуляторы

и снова о потерях пакетов бордер-шейпер freebsd, dummynet

Уважаемый jab, поясните пожалуйста как у Вас работает всё без потерь :)

 

Платформа: S3000AHV Core2Duo 6420 2.13ГГц 4Мб + 2xEXPI9400 (чип 82572)

Софт: FreeBSD 7.2-RELEASE GENERIC ядро

Из тюнинга:

net.inet.ip.dummynet.hash_size=65535

kern.timecounter.hardware=HPET

kern.ipc.nmbclusters=65536 (где-то видел информацию о том что

более какого-то значения толи 64000 ставить не рекомендуется - почему не описали)

net.inet.ip.dummynet.io_fast=1 (немного полегчало, на оба ядра +6% к IDLE :-))

net.inet.ip.dummynet.expire=0 (пробовал в 0, на глаз не заметно)

 

ipfw & dummynet:

10 allow ip from any to any via vlan7

20 pipe tablearg tcp from any not 80,110,443,995 to table(30) out recv vlan9 xmit vlan8

30 pipe tablearg tcp from table(50) to any not dst-port 80,110,443,995 out recv vlan8 xmit vlan9

50 pipe tablearg ip from any to table(20) out recv vlan9 xmit vlan8

60 pipe tablearg ip from table(40) to any out recv vlan8 xmit vlan9

70 allow ip from any to any

65536 deny all from any to any

пояснения ниже

 

в каждой табличке до 1200 записей

пайпов порядка 150

каждый пайп сконфигурирован queue 128kb buckets 65536 с mask (src-ip||dst-ip) 0xffffffff

 

картина в top-е днём:

   11 root         1 171 ki31  0K      8K CPU1 1  19.1H  73.78% idle: cpu1
   12 root         1 171 ki31  0K      8K RUN   0  18.7H  70.90% idle: cpu0
   26 root         1 -68    -     0K     8K -       0 540:44 30.86% em1 taskq
   25 root         1 -68    -     0K     8K -       1 520:24 27.20% em0 taskq
   44 root         1 -68    -     0K     8K -       0 352:16  0.00% dummynet

вечером em1 taskq подлетает под 37% (это аплинк)

 

счетчик ошибок:

Name    Mtu Network         Address             Ipkts    Ierrs    Opkts           Oerrs  Coll
em0    1500 <Link#1>      00:15:17:94:8c:f8  2522647154 14575   2699123488     0     0
em1    1500 <Link#2>      00:15:17:94:8d:02 2917872430 167868 2742214849     0     0

 

по правилам ipfw:

vlan8 - БРАС-ы на em0

vlan9 - аплинк на em1

 

 

график ошибок:

не аттачица, до 96ошибок в сек и редко

 

ахда, трафик на em1:

netstat -w1 -Iem1
            input          (em1)           output
   packets  errs      bytes    packets  errs      bytes colls
     30252     0   22659678      28394     0   14095056     0
     29782     0   22818609      28081     0   13677350     0

тамже и серверы ТМС

graph_image.png

graph_image.png

Edited by Giga-Byte

Share this post


Link to post
Share on other sites

 

Писал уже, подземный стук не лечу.

Share this post


Link to post
Share on other sites

прошу прощения, не написал самого главного - грешу на dummynet.

сейчас отключил на бордере вообще net.inet.ip.fw.enable=0

фукцию нарезки перенёс на bras'ы на ng_car.

Share this post


Link to post
Share on other sites

 

Самое главное - это sysctl, loader.conf и dmesg.

Share this post


Link to post
Share on other sites

loader_logo="NONE"
autoboot_delay="2"
coretemp_load="YES"
ipfw_load="YES"
dummynet_load="YES"

comconsole_speed="38400"
console="comconsole"

hw.em.txd=4096
hw.em.rxd=4096

 

тут половину можно выкинуть будет,

перенёс некоторые сервисы (слушающие udp и tcp) на другую машину

net.inet.tcp.recvspace=1048576
net.inet.tcp.sendspace=524288
kern.ipc.nmbclusters=65536
kern.ipc.maxsockbuf=4194304
kern.ipc.somaxconn=32768
net.inet.ip.intr_queue_maxlen=4096
net.inet.ip.rtmaxcache=2048
net.inet.raw.recvspace=65536
net.inet.ip.dummynet.hash_size=65535
net.inet.ip.fw.dyn_buckets=65535

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

queue_maxlen тоже надо выкинуть, ибо всегда

net.inet.ip.intr_queue_drops: 0

 

netstat -m

8199/20481/28680 mbufs in use (current/cache/total)
8197/19745/27942/65536 mbuf clusters in use (current/cache/total/max)
8197/19579 mbuf+clusters out of packet secondary zone in use (current/cache)
0/263/263/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)
18444K/45662K/64106K 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/8/6656 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

 

em0: Adapter hardware address = 0xc41d2218
em0: CTRL = 0x400c0241 RCTL = 0x8002
em0: Packet buffer = Tx=16k Rx=32k
em0: Flow control watermarks high = 30720 low = 29220
em0: tx_int_delay = 64, tx_abs_int_delay = 64
em0: rx_int_delay = 0, rx_abs_int_delay = 64
em0: fifo workaround = 0, fifo_reset_count = 0
em0: hw tdh = 1895, hw tdt = 1896
em0: hw rdh = 3381, hw rdt = 3360
em0: Num Tx descriptors avail = 4089
em0: Tx Descriptors not avail1 = 0
em0: Tx Descriptors not avail2 = 0
em0: Std mbuf failed = 0
em0: Std mbuf cluster failed = 0
em0: Driver dropped packets = 0
em0: Driver tx dma failure in encap = 0
em0: Excessive collisions = 0
em0: Sequence errors = 0
em0: Defer count = 0
em0: Missed Packets = 14575
em0: Receive No Buffers = 3281
em0: Receive Length Errors = 0
em0: Receive errors = 0
em0: Crc errors = 0
em0: Alignment errors = 0
em0: Collision/Carrier extension errors = 0
em0: RX overruns = 46
em0: watchdog timeouts = 0
em0: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0
em0: XON Rcvd = 0
em0: XON Xmtd = 0
em0: XOFF Rcvd = 0
em0: XOFF Xmtd = 0
em0: Good Packets Rcvd = 2616773243
em0: Good Packets Xmtd = 2799882497
em0: TSO Contexts Xmtd = 0
em0: TSO Contexts Failed = 0

 

em1: Adapter hardware address = 0xc41f2218
em1: CTRL = 0x400c0241 RCTL = 0x8002
em1: Packet buffer = Tx=16k Rx=32k
em1: Flow control watermarks high = 30720 low = 29220
em1: tx_int_delay = 64, tx_abs_int_delay = 64
em1: rx_int_delay = 0, rx_abs_int_delay = 64
em1: fifo workaround = 0, fifo_reset_count = 0
em1: hw tdh = 2965, hw tdt = 2967
em1: hw rdh = 1175, hw rdt = 1174
em1: Num Tx descriptors avail = 4087
em1: Tx Descriptors not avail1 = 0
em1: Tx Descriptors not avail2 = 0
em1: Std mbuf failed = 0
em1: Std mbuf cluster failed = 0
em1: Driver dropped packets = 0
em1: Driver tx dma failure in encap = 0
em1: Excessive collisions = 0
em1: Sequence errors = 0
em1: Defer count = 0
em1: Missed Packets = 173793
em1: Receive No Buffers = 9786
em1: Receive Length Errors = 0
em1: Receive errors = 0
em1: Crc errors = 0
em1: Alignment errors = 0
em1: Collision/Carrier extension errors = 0
em1: RX overruns = 136
em1: watchdog timeouts = 0
em1: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0
em1: XON Rcvd = 0
em1: XON Xmtd = 0
em1: XOFF Rcvd = 0
em1: XOFF Xmtd = 0
em1: Good Packets Rcvd = 3028834656
em1: Good Packets Xmtd = 2848626295
em1: TSO Contexts Xmtd = 0
em1: TSO Contexts Failed = 0

 

Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.2-RELEASE #0: Fri May  1 08:49:13 UTC 2009
    root@walker.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 CPU          6420  @ 2.13GHz (2135.55-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6f6  Stepping = 6
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFL
USH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0xe3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM>
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  Cores per package: 2
real memory  = 1070538752 (1020 MB)
avail memory = 1033461760 (985 MB)
ACPI APIC Table: <INTEL  S3000AHV>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID:  0
cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 5
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <INTEL S3000AHV> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 900
acpi_button0: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0x4000-0x401f mem 0x48320000-0x4833ffff,0x48300000-0x4831ffff irq 16 at device 0.0 on pci1
em0: Using MSI interrupt
em0: [FILTER]
em0: Ethernet address: 00:15:17:94:8c:f8
pcib2: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib2
em1: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0x3000-0x301f mem 0x48220000-0x4823ffff,0x48200000-0x4821ffff irq 16 at device 0.0 on pci2
em1: Using MSI interrupt
em1: [FILTER]
em1: Ethernet address: 00:15:17:94:8d:02
pcib3: <ACPI PCI-PCI bridge> at device 28.4 on pci0
pci3: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> at device 28.5 on pci0
pci4: <ACPI PCI bus> on pcib4
em2: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0x2000-0x201f mem 0x48180000-0x4819ffff,0x48100000-0x4817ffff irq 17 at device 0.0 on pci4
em2: Using MSI interrupt
em2: [FILTER]
em2: Ethernet address: 00:15:17:44:53:7a
pci4: <simple comms, UART> at device 0.3 (no driver attached)
pci4: <serial bus> at device 0.4 (no driver attached)
uhci0: <UHCI (generic) USB controller> port 0x5080-0x509f irq 23 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: <UHCI (generic) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <UHCI (generic) USB controller> port 0x5060-0x507f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: <UHCI (generic) USB controller> on uhci1
usb1: USB revision 1.0
uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: <UHCI (generic) USB controller> port 0x5040-0x505f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2: <UHCI (generic) USB controller> on uhci2
usb2: USB revision 1.0
uhub2: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
uhci3: <UHCI (generic) USB controller> port 0x5020-0x503f irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
uhci3: [ITHREAD]
usb3: <UHCI (generic) USB controller> on uhci3
usb3: USB revision 1.0
uhub3: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
uhub3: 2 ports with 2 removable, self powered
ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0x48400400-0x484007ff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb4: waiting for BIOS to give up control
usb4: timed out waiting for BIOS
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <Intel 82801GB/R (ICH7) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4
uhub4: 8 ports with 8 removable, self powered
pcib5: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci5: <ACPI PCI bus> on pcib5
vgapci0: <VGA-compatible display> port 0x1000-0x10ff mem 0x40000000-0x47ffffff,0x48000000-0x4800ffff irq 18 at device 4.0 on pci5
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x50b0-0x50bf irq 18 at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
atapci1: <Intel ICH7 SATA300 controller> port 0x50c8-0x50cf,0x50e4-0x50e7,0x50c0-0x50c7,0x50e0-0x50e3,0x50a0-0x50af mem 0x48400000-0x484003ff irq 19 at device 31.2 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f0 irq 6 drq 2 on acpi0
fdc0: [FILTER]
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio0: [FILTER]
cpu0: <ACPI CPU> on acpi0
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
coretemp1: <CPU On-Die Thermal Sensors> on cpu1
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc8fff,0xc9000-0xc9fff pnpid ORM0000 on isa0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
ipfw2 (+ipv6) initialized, divert loadable, nat loadable, rule-based forwarding disabled, default to deny, logging disabled
ad4: 76319MB <Seagate ST380211AS 3.AAE> at ata2-master SATA150
SMP: AP CPU #1 Launched!

 

забыл!

pf использую для фильтрации трафика и ната одной машины в инет

Share this post


Link to post
Share on other sites

Ну как я и говорил... Рассказывали про dummynet, а там еще и pf с nat'ом и небось scrub in all, и сетевухи на одном irq, и таймауты в dev.em не выставлены....

Share this post


Link to post
Share on other sites

 

И небось net.isr.direct=1 стоит...

Share this post


Link to post
Share on other sites

Ну как я и говорил... Рассказывали про dummynet, а там еще и pf с nat'ом и небось scrub in all, и сетевухи на одном irq, и таймауты в dev.em не выставлены....

немножко не в тему: а какой нат лучше использовать?

Share this post


Link to post
Share on other sites

- HZ 2000, а еще лучше 4000 попробуйте выставить.

- Попробуйте заюзать GRED

- в mbuf не упираетесь?

2 jab: а чего ты имеешь против net.isr.direct=1 ?

Edited by bsdelnik

Share this post


Link to post
Share on other sites
И небось net.isr.direct=1 стоит...
ну по умолчанию

 

Ну как я и говорил... Рассказывали про dummynet, а там еще и pf с nat'ом и небось scrub in all, и сетевухи на одном irq, и таймауты в dev.em не выставлены....
выключил nat. посмотрю

правила влияют на производительность?

scrub-a нет

 

таймауты не влияют на потерю пакетов. пробовал.

 

а как сетевухи разнести по разным прерываниям?

и как это понимать

vmstat -i
interrupt                          total       rate
irq1: atkbd0                          22          0
irq4: sio0                         20658          0
irq19: uhci1+                     773837          6
irq23: uhci0 ehci0                     1          0
cpu0: timer                    245386621       1997
irq256: em0                    634497995       5166
irq257: em1                    857130559       6978
cpu1: timer                    245384416       1997
Total                         1983194109      16147

 

- HZ 2000, а еще лучше 4000 попробуйте выставить.

- Попробуйте заюзать GRED

- в mbuf не упираетесь?

2 jab: а чего ты имеешь против net.isr.direct=1 ?

1. врятли

2. учту

3. нет (выше было)

про direct: оно видимо для пуллинга, выключение даёт процессор swi:net-у :)

Share this post


Link to post
Share on other sites
Ну как я и говорил... Рассказывали про dummynet, а там еще и pf с nat'ом и небось scrub in all, и сетевухи на одном irq, и таймауты в dev.em не выставлены....
немножко не в тему: а какой нат лучше использовать?

Для чего ?

 

ну по умолчанию

Больше интересует - что стоит с другой стороны, и что там со счетчиками ошибок ?

Share this post


Link to post
Share on other sites
Receive No Buffers Count
This statistic describes the number of times that packets were received when there were no available buffers in host memory to store those packets. The packet will still be received if there is space in the hardware FIFO. This counter does not include received flow control packets. Increasing Rx Descriptors on the command line during load could result in this counter incrementing less frequently.

Share this post


Link to post
Share on other sites
ну по умолчанию

Больше интересует - что стоит с другой стороны, и что там со счетчиками ошибок ?

C2960G

 

абсолютно все каунтеры (ошибок) по нулям.

Share this post


Link to post
Share on other sites
Receive No Buffers Count
This statistic describes the number of times that packets were received when there were no available buffers in host memory to store those packets. The packet will still be received if there is space in the hardware FIFO. This counter does not include received flow control packets. Increasing Rx Descriptors on the command line during load could result in this counter incrementing less frequently.

ммм, про десткрипторы отпадает, увеличены

можно конретнее, какой памяти нехватает и как её увеличить?

 

 

Share this post


Link to post
Share on other sites

 

Для начала нужно, увеличить таймауты в dev.em, уменьшенить intr_queue_maxlen до 100, поставить net.isr.direct=0, проверить msi/msix.

Отключить pf полностью чтоб не мешал. Проверить что там за активность на USB. Проверить наличие графических скринсейверов.

Share this post


Link to post
Share on other sites
Ну как я и говорил... Рассказывали про dummynet, а там еще и pf с nat'ом и небось scrub in all, и сетевухи на одном irq, и таймауты в dev.em не выставлены....
немножко не в тему: а какой нат лучше использовать?

Для чего ?

 

просто натить пользователей

Share this post


Link to post
Share on other sites
Для начала нужно, увеличить таймауты в dev.em, уменьшенить intr_queue_maxlen до 100, поставить net.isr.direct=0, проверить msi/msix.

Отключить pf полностью чтоб не мешал. Проверить что там за активность на USB. Проверить наличие графических скринсейверов.

увеличил таймауты до 600/1000, ни нагрузка ни прерывания "vmstat -i" не изменились

 

без net.isr.direct нагрузка ушла в swi1:net

   11 root         1 171 ki31     0K     8K RUN    1  22.0H 77.10% idle: cpu1
   12 root         1 171 ki31     0K     8K CPU0   0  21.5H 75.20% idle: cpu0
   15 root         1 -44    -     0K     8K WAIT   0   0:38 37.99% swi1: net
   26 root         1 -68    -     0K     8K -      0 614:55  7.18% em1 taskq
   25 root         1 -68    -     0K     8K -      1 589:02  3.08% em0 taskq
   44 root         1 -68    -     0K     8K -      1 366:36  0.00% dummynet

мне кажется, вернулись в 6-ю вертку :)

 

а как проверить msi?

Это не критерий проверки:

[u]irq256[/u]: em0                    664456608       5219
[u]irq257[/u]: em1                    890886119       6998

 

пока потестирую так.

Share this post


Link to post
Share on other sites

 

Прерывания по vmstat -i считаются от момента загрузки ядра. После включения таймаутов смотрится systat -vmstat

 

просто натить пользователей

Любой.

Share this post


Link to post
Share on other sites

дело было в задраных параметрах на tcp стек + немного помогло сильное уменьшение,

близкое с дефаулту buckets и queue в конфигурации pipe.

 

ни таймауты ни отключение pf-а не помогало.

надо попробовать ещё гиговую планку поставить, поднять kmem_size и проверить

 

jab, а на что влияет maxpipekva ? и вообще что такое pipekva?

 

 

а также кто игрался с cpuset? имеет ли смысл расставлять em* taskq по ядрам?

Edited by Giga-Byte

Share this post


Link to post
Share on other sites

 

KVA == kernel virtual address

 

pipe == двунаправленный дескриптор в IPC

 

max == лимит

 

Чего не ясно-то ? У меня maxpipekva использовался только в каком-то древнем mpd при старте 2000 туннелей.

Share this post


Link to post
Share on other sites
KVA == kernel virtual address

 

pipe == двунаправленный дескриптор в IPC

 

max == лимит

 

Чего не ясно-то ? У меня maxpipekva использовался только в каком-то древнем mpd при старте 2000 туннелей.

спасиб,

 

это размер дескриптора для обмена с ядерным адресным пространством чтоли?

к vm.kmem_size это какнить относится?

Edited by Giga-Byte

Share this post


Link to post
Share on other sites

rtfs

/usr/include/sys/pipe.h

/usr/src/sys/kern/sys_pipe.c - 5 раз

man google

 

Share this post


Link to post
Share on other sites
rtfs

/usr/include/sys/pipe.h

/usr/src/sys/kern/sys_pipe.c - 5 раз

man google

действительно

Share this post


Link to post
Share on other sites
дело было в задраных параметрах на tcp стек + немного помогло сильное уменьшение,

близкое с дефаулту buckets и queue в конфигурации pipe.

Каких именно, если не секрет? И насколько помогло?

Share this post


Link to post
Share on other sites

если честно, уже не помню как было в точности.

но сейчас buckets 1024

 

и помоему ещё это:

Для начала нужно, увеличить таймауты в dev.em, уменьшенить intr_queue_maxlen до 100
с 4096 до 200-500 помогло. (на 100 помоему расли queue_drops)
Edited by Giga-Byte

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this