Sincha Posted October 28, 2015 · Report post Добрый день FreeBSD 9.3-STABLE #0 r282089M: Tue Apr 28 00:29:17 FET 2015 I350 Gigabit Fiber Network Connection двухголовая mpd 5.7 pptp с нетфловом из мпд, шейпером из мпд, фаерволом ipfw. ната нет. hw.machine: amd64 hw.model: Intel® Xeon® CPU L5430 @ 2.66GHz hw.ncpu: 8 hw.machine_arch: amd64 loader net.graph.maxdata=65536 net.graph.maxalloc=65536 #network cards. hw.igb.rxd=4096 hw.igb.txd=4096 hw.igb.max_interrupt_rate=32000 ###### hw.igb.rx_process_limit="-1" hw.igb.num_queues=4 ##### net.link.ifqmaxlen=10240 net.isr.defaultqlimit=4096 # kern.maxfiles = "25000" sysctl dev.igb.0.rx_processing_limit=4096 dev.igb.1.rx_processing_limit=4096 dev.igb.0.fc=0 dev.igb.1.fc=0 #netgraph net.graph.maxdgram=4194304 net.graph.recvspace=4194304 # net.route.netisr_maxqlen=4096 net.inet.ip.redirect=0 # #kernel memory to networks buff #kern.ipc.nmbclusters=400000 kern.ipc.maxsockbuf=83886080 # net.inet.ip.fastforwarding=1 # net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 net.inet.icmp.icmplim_output=0 net.inet.icmp.icmplim=100 net.inet.icmp.drop_redirect=1 net.inet.icmp.log_redirect=0 net.inet.tcp.drop_synfin=1 # net.inet.ip.intr_queue_maxlen=10240 # net.graph.pptpgre.reorder_max=16 net.graph.pptpgre.reorder_timeout=2 #fix broken tunnel (ng_mppc_decompress: too many (4094) packets dropped, disabling node 0xc7020900!) net.graph.mppe.max_rekey=-1000 #message to log net.graph.mppe.log_max_rekey=1 #not block broken node net.graph.mppe.block_on_max_rekey=0 # kern.random.sys.harvest.ethernet=0 kern.random.sys.harvest.point_to_point=0 kern.random.sys.harvest.interrupt=0 # #Sendmsg() cat't send messages more than maxdgram length. Default value causes routing software to fail with OSPF if jumbo frames is turned on. net.inet.raw.maxdgram=16384 net.inet.raw.recvspace=16384 ipfw ipfw show 00100 515972 95110370 allow ip from any to any via lo0 00200 0 0 deny ip from any to 127.0.0.0/8 00300 0 0 deny ip from 127.0.0.0/8 to any 02001 294 15049 deny ip from table(11) to any dst-port 25 02002 0 0 deny ip from table(6) to table(6) via ng* 02006 426968 32254185 fwd 10.10.1.2 ip from table(6) to not table(10) via ng* 02020 9331 681971 fwd 10.10.1.2 ip from not table(4) to table(5) dst-port 1-65535 via ng* 65000 2118470447957 1553120778722064 allow ip from any to any 65100 0 0 check-state 65535 11 1578 deny ip from any to any ipfw table 5 list| wc -l 340 ipfw table 6 list| wc -l 1 ipfw table 10 list | wc -l 1 ipfw table 4 list | wc -l 0 ipfw table 11 list | wc -l 6 В чнн начали рости пинги и судя по графику, вход уперся в 400мбит. top -SHPI last pid: 70884; load averages: 3.39, 3.45, 3.35 up 177+14:42:46 22:22:30 195 processes: 11 running, 154 sleeping, 30 waiting CPU 0: 0.0% user, 0.0% nice, 26.3% system, 8.9% interrupt, 64.7% idle CPU 1: 0.0% user, 0.0% nice, 16.5% system, 16.1% interrupt, 67.4% idle CPU 2: 0.0% user, 0.0% nice, 21.0% system, 10.3% interrupt, 68.8% idle CPU 3: 0.0% user, 0.0% nice, 22.3% system, 8.0% interrupt, 69.6% idle CPU 4: 0.4% user, 0.0% nice, 21.9% system, 15.2% interrupt, 62.5% idle CPU 5: 0.0% user, 0.0% nice, 25.4% system, 13.4% interrupt, 61.2% idle CPU 6: 0.0% user, 0.0% nice, 22.8% system, 17.9% interrupt, 59.4% idle CPU 7: 0.0% user, 0.0% nice, 23.7% system, 12.5% interrupt, 63.8% idle Mem: 36M Active, 432M Inact, 587M Wired, 417M Buf, 2882M Free Swap: 3052M Total, 3052M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 13 root -16 - 0K 128K CPU5 5 426.8H 99.17% ng_queue{ng_queue4} 11 root 155 ki31 0K 128K RUN 1 3507.9 70.65% idle{idle: cpu1} 11 root 155 ki31 0K 128K RUN 2 3504.9 69.58% idle{idle: cpu2} 11 root 155 ki31 0K 128K RUN 3 3513.4 66.55% idle{idle: cpu3} 11 root 155 ki31 0K 128K RUN 6 3380.5 66.06% idle{idle: cpu6} 11 root 155 ki31 0K 128K CPU4 4 3376.8 65.58% idle{idle: cpu4} 11 root 155 ki31 0K 128K RUN 0 3495.5 64.16% idle{idle: cpu0} 11 root 155 ki31 0K 128K RUN 7 3382.4 63.77% idle{idle: cpu7} 11 root 155 ki31 0K 128K RUN 5 3376.5 62.50% idle{idle: cpu5} 12 root -92 - 0K 480K WAIT 7 466.4H 13.87% intr{irq266: igb1:que} 12 root -92 - 0K 480K WAIT 6 464.0H 13.87% intr{irq265: igb1:que} 12 root -92 - 0K 480K WAIT 5 469.5H 13.67% intr{irq264: igb1:que} 12 root -92 - 0K 480K WAIT 4 463.7H 13.57% intr{irq263: igb1:que} 13 root -16 - 0K 128K sleep 2 425.8H 13.38% ng_queue{ng_queue1} 13 root -16 - 0K 128K CPU4 4 426.6H 13.18% ng_queue{ng_queue3} 13 root -16 - 0K 128K sleep 5 426.7H 12.99% ng_queue{ng_queue6} 13 root -16 - 0K 128K sleep 6 424.6H 12.89% ng_queue{ng_queue7} 13 root -16 - 0K 128K sleep 2 427.8H 12.79% ng_queue{ng_queue5} 12 root -92 - 0K 480K WAIT 1 228.1H 12.60% intr{irq259: igb0:que} 13 root -16 - 0K 128K sleep 6 426.6H 12.50% ng_queue{ng_queue2} 13 root -16 - 0K 128K sleep 5 427.0H 11.96% ng_queue{ng_queue0} 12 root -92 - 0K 480K WAIT 2 207.2H 11.67% intr{irq260: igb0:que} vmstat -z ITEM SIZE LIMIT USED FREE REQ FAIL SLEEP UMA Kegs: 208, 0, 95, 7, 95, 0, 0 UMA Zones: 1408, 0, 95, 1, 95, 0, 0 UMA Slabs: 568, 0, 22478, 27,1040764785, 0, 0 UMA RCntSlabs: 568, 0, 36153, 2, 36153, 0, 0 UMA Hash: 256, 0, 2, 13, 6, 0, 0 16 Bucket: 152, 0, 196, 4, 196, 0, 0 32 Bucket: 280, 0, 308, 0, 308, 0, 0 64 Bucket: 536, 0, 401, 5, 401, 61, 0 128 Bucket: 1048, 0, 2900, 1, 2900,3286, 0 VM OBJECT: 232, 0, 57214, 962,131624668, 0, 0 MAP: 240, 0, 8, 24, 8, 0, 0 KMAP ENTRY: 128, 169969, 292, 3014,3111692590, 0, 0 MAP ENTRY: 128, 0, 840, 1306,268173743, 0, 0 fakepg: 120, 0, 0, 0, 0, 0, 0 mt_zone: 4112, 0, 328, 15, 328, 0, 0 16: 16, 0, 3609, 1599,1852798434, 0, 0 32: 32, 0, 12639, 30286,380185494494, 0, 0 64: 64, 0, 7068, 1388,799512768, 0, 0 128: 128, 0, 59014, 4090,325933228, 0, 0 256: 256, 0, 12240, 1320,132232040, 0, 0 512: 512, 0, 4551, 1098,24984662, 0, 0 1024: 1024, 0, 868, 468, 8840433, 0, 0 2048: 2048, 0, 847, 595, 674079, 0, 0 4096: 4096, 0, 4853, 1230,19133578, 0, 0 Files: 80, 0, 882, 1098,148575257, 0, 0 TURNSTILE: 136, 0, 967, 153, 967, 0, 0 rl_entry: 40, 0, 287, 469, 287, 0, 0 umtx pi: 96, 0, 0, 0, 0, 0, 0 MAC labels: 40, 0, 0, 0, 0, 0, 0 PROC: 1192, 0, 38, 268, 1968667, 0, 0 THREAD: 1160, 0, 463, 503,84636282, 0, 0 SLEEPQUEUE: 80, 0, 967, 193, 967, 0, 0 VMSPACE: 400, 0, 22, 302, 1968643, 0, 0 cpuset: 72, 0, 173, 77, 181, 0, 0 audit_record: 960, 0, 0, 0, 0, 0, 0 mbuf_packet: 256, 1613145, 41925, 30009,717798296387, 0, 0 mbuf: 256, 1613145, 205, 6716,1029164853097, 0, 0 mbuf_cluster: 2048, 252054, 71934, 6, 71936, 0, 0 mbuf_jumbo_page: 4096, 126026, 0, 183, 800079, 0, 0 mbuf_jumbo_9k: 9216, 37341, 0, 0, 0, 0, 0 mbuf_jumbo_16k: 16384, 21004, 0, 0, 0, 0, 0 mbuf_ext_refcnt: 4, 0, 0, 0, 0, 0, 0 NetGraph items: 72, 65540, 125, 890,405857606397, 0, 0 NetGraph data items: 72, 65540, 9300, 29038,716211803742, 0, 0 g_bio: 248, 0, 0, 3285, 8910391, 0, 0 ttyinq: 160, 0, 240, 528, 3465, 0, 0 ttyoutq: 256, 0, 126, 309, 1816, 0, 0 ata_request: 328, 0, 0, 240, 2970081, 0, 0 ata_composite: 336, 0, 0, 0, 0, 0, 0 vtnet_tx_hdr: 24, 0, 0, 0, 0, 0, 0 FPU_save_area: 576, 0, 0, 0, 0, 0, 0 VNODE: 504, 0, 92673, 967,164715320, 0, 0 VNODEPOLL: 112, 0, 0, 0, 0, 0, 0 S VFS Cache: 108, 0, 97014, 2052,99546802, 0, 0 STS VFS Cache: 148, 0, 0, 0, 0, 0, 0 L VFS Cache: 328, 0, 2450, 36466,65774029, 0, 0 LTS VFS Cache: 368, 0, 0, 0, 0, 0, 0 NAMEI: 1024, 0, 0, 256,289050805, 0, 0 DIRHASH: 1024, 0, 6312, 1076, 2458311, 0, 0 NCLNODE: 568, 0, 0, 0, 0, 0, 0 pipe: 728, 0, 5, 215, 216071, 0, 0 Mountpoints: 824, 0, 2, 6, 2, 0, 0 ksiginfo: 112, 0, 298, 923, 533291, 0, 0 itimer: 344, 0, 1, 21, 1, 0, 0 KNOTE: 128, 0, 0, 551, 384028, 0, 0 socket: 680, 25002, 1632, 1260,97617617, 0, 0 sdp_sock: 816, 25000, 0, 0, 0, 0, 0 ipq: 56, 7938, 0, 1764,517272875, 0, 0 udp_inpcb: 392, 25000, 13, 347,88432950, 0, 0 udpcb: 16, 25032, 13, 1499,88432950, 0, 0 tcp_inpcb: 392, 25000, 802, 1188, 2127975, 0, 0 tcpcb: 976, 25000, 802, 1022, 2127975, 0, 0 tcptw: 72, 5000, 0, 750, 65529, 0, 0 syncache: 152, 15375, 0, 4325, 2863001, 0, 0 hostcache: 136, 15372, 89, 1395, 185662, 0, 0 tcpreass: 40, 15792, 0, 1008, 12885, 0, 0 sackhole: 32, 0, 0, 1010, 26162, 0, 0 sctp_ep: 1376, 25000, 0, 0, 0, 0, 0 sctp_asoc: 2288, 40000, 0, 0, 0, 0, 0 sctp_laddr: 48, 80064, 0, 1296, 30570, 0, 0 sctp_raddr: 696, 80000, 0, 0, 0, 0, 0 sctp_chunk: 136, 400008, 0, 0, 0, 0, 0 sctp_readq: 104, 400032, 0, 0, 0, 0, 0 sctp_stream_msg_out: 104, 400032, 0, 0, 0, 0, 0 sctp_asconf: 40, 400008, 0, 0, 0, 0, 0 sctp_asconf_ack: 48, 400032, 0, 0, 0, 0, 0 ripcb: 392, 25000, 795, 775, 2115761, 0, 0 unpcb: 240, 25008, 8, 328, 86286, 0, 0 rtentry: 200, 0, 1625, 617, 837886, 0, 0 ib_mad: 448, 0, 0, 0, 0, 0, 0 selfd: 56, 0, 907, 2621,701563335669, 0, 0 SWAPMETA: 288, 504114, 0, 0, 0, 0, 0 FFS inode: 168, 0, 92648, 742,164713204, 0, 0 FFS1 dinode: 128, 0, 0, 0, 0, 0, 0 FFS2 dinode: 256, 0, 92648, 847,164713204, 0, 0 IPFW dynamic rule: 120, 4123, 0, 0, 0, 0, 0 NetFlow IPv4 cache: 88, 262160, 10768, 23249,40401085410, 0, 0 netstat -Q Configuration: Setting Current Limit Thread count 1 1 Default queue limit 4096 10240 Dispatch policy direct n/a Threads bound to CPUs disabled n/a Protocols: Name Proto QLimit Policy Dispatch Flags ip 1 10240 flow default --- igmp 2 4096 source default --- rtsock 3 4096 source default --- arp 7 4096 source default --- ether 9 4096 source direct --- Workstreams: WSID CPU Name Len WMark Disp'd HDisp'd QDrops Queued Handled 0 0 ip 0 3 108597909844 0 0 10589 108597895434 0 0 igmp 0 0 0 0 0 0 0 0 0 rtsock 0 7 0 0 0 6530264 6530264 0 0 arp 0 0 5345502 0 0 0 5345502 0 0 ether 0 0 65847891927 0 0 0 65847891927 vmstat -i interrupt total rate irq19: uhci1+ 2970098 0 cpu0:timer 17126755805 1116 irq258: igb0:que 0 101182756739 6593 irq259: igb0:que 1 106276377553 6925 irq260: igb0:que 2 105192519282 6854 irq261: igb0:que 3 107535740266 7007 irq262: igb0:link 2 0 irq263: igb1:que 0 94211209550 6139 irq264: igb1:que 1 98744481988 6434 irq265: igb1:que 2 96051745377 6259 irq266: igb1:que 3 99641453694 6492 irq267: igb1:link 54 0 cpu3:timer 17054357533 1111 cpu1:timer 17065458436 1112 cpu5:timer 16993720884 1107 cpu2:timer 17048594636 1110 cpu4:timer 16841894701 1097 cpu7:timer 16958819134 1105 cpu6:timer 16854170474 1098 Total 944783026206 61564 netstat -m 43344/35511/78855 mbufs in use (current/cache/total) 43065/28875/71940/252054 mbuf clusters in use (current/cache/total/max) 43065/28869 mbuf+clusters out of packet secondary zone in use (current/cache) 0/183/183/126026 4k (page size) jumbo clusters in use (current/cache/total/max) 0/0/0/37341 9k jumbo clusters in use (current/cache/total/max) 0/0/0/21004 16k jumbo clusters in use (current/cache/total/max) 97149K/67359K/164509K bytes allocated to network (current/cache/total) 0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters) 0/0/0 requests for mbufs delayed (mbufs/clusters/mbuf+clusters) 0/0/0 requests for jumbo clusters delayed (4k/9k/16k) 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 sysctl -a | grep dev.igb dev.igb.0.%desc: Intel(R) PRO/1000 Network Connection version - 2.4.0 dev.igb.0.%driver: igb dev.igb.0.%location: slot=0 function=0 dev.igb.0.%pnpinfo: vendor=0x8086 device=0x1522 subvendor=0x1d1a subdevice=0x0000 class=0x020000 dev.igb.0.%parent: pci9 dev.igb.0.nvm: -1 dev.igb.0.enable_aim: 1 dev.igb.0.fc: 0 dev.igb.0.down_disables_link: 0 dev.igb.0.max_interrupt_rate: 32000 dev.igb.0.rx_processing_limit: 4096 dev.igb.0.dmac: 0 dev.igb.0.eee_disabled: 0 dev.igb.0.link_irq: 2 dev.igb.0.dropped: 0 dev.igb.0.tx_dma_fail: 0 dev.igb.0.rx_overruns: 0 dev.igb.0.watchdog_timeouts: 0 dev.igb.0.device_control: 1490033345 dev.igb.0.rx_control: 67141634 dev.igb.0.interrupt_mask: 4 dev.igb.0.extended_int_mask: 2147483678 dev.igb.0.tx_buf_alloc: 0 dev.igb.0.rx_buf_alloc: 0 dev.igb.0.fc_high_water: 33168 dev.igb.0.fc_low_water: 33152 dev.igb.0.queue0.interrupt_rate: 5347 dev.igb.0.queue0.txd_head: 590 dev.igb.0.queue0.txd_tail: 592 dev.igb.0.queue0.no_desc_avail: 0 dev.igb.0.queue0.tx_packets: 93217000210 dev.igb.0.queue0.rxd_head: 1172 dev.igb.0.queue0.rxd_tail: 1171 dev.igb.0.queue0.rx_packets: 65785267348 dev.igb.0.queue0.rx_bytes: 30321325479722 dev.igb.0.queue0.lro_queued: 0 dev.igb.0.queue0.lro_flushed: 0 [b]dev.igb.0.queue1.interrupt_rate: 11764[/b] dev.igb.0.queue1.txd_head: 3943 dev.igb.0.queue1.txd_tail: 3943 dev.igb.0.queue1.no_desc_avail: 0 dev.igb.0.queue1.tx_packets: 98422514237 dev.igb.0.queue1.rxd_head: 1061 dev.igb.0.queue1.rxd_tail: 1060 dev.igb.0.queue1.rx_packets: 83689862182 dev.igb.0.queue1.rx_bytes: 45669295252359 dev.igb.0.queue1.lro_queued: 0 dev.igb.0.queue1.lro_flushed: 0 [b]dev.igb.0.queue2.interrupt_rate: 100000[/b] dev.igb.0.queue2.txd_head: 3584 dev.igb.0.queue2.txd_tail: 3585 dev.igb.0.queue2.no_desc_avail: 0 dev.igb.0.queue2.tx_packets: 100152910222 dev.igb.0.queue2.rxd_head: 2488 dev.igb.0.queue2.rxd_tail: 2487 dev.igb.0.queue2.rx_packets: 72161479096 dev.igb.0.queue2.rx_bytes: 33873666314852 dev.igb.0.queue2.lro_queued: 0 dev.igb.0.queue2.lro_flushed: 0 [b]dev.igb.0.queue3.interrupt_rate: 62500[/b] dev.igb.0.queue3.txd_head: 1470 dev.igb.0.queue3.txd_tail: 1470 dev.igb.0.queue3.no_desc_avail: 0 dev.igb.0.queue3.tx_packets: 96989665416 dev.igb.0.queue3.rxd_head: 1870 dev.igb.0.queue3.rxd_tail: 1868 dev.igb.0.queue3.rx_packets: 85008901966 dev.igb.0.queue3.rx_bytes: 42806464091508 dev.igb.0.queue3.lro_queued: 0 dev.igb.0.queue3.lro_flushed: 0 dev.igb.0.mac_stats.excess_coll: 0 dev.igb.0.mac_stats.single_coll: 0 dev.igb.0.mac_stats.multiple_coll: 0 dev.igb.0.mac_stats.late_coll: 0 dev.igb.0.mac_stats.collision_count: 0 dev.igb.0.mac_stats.symbol_errors: 0 dev.igb.0.mac_stats.sequence_errors: 0 dev.igb.0.mac_stats.defer_count: 0 dev.igb.0.mac_stats.missed_packets: 0 dev.igb.0.mac_stats.recv_length_errors: 54 dev.igb.0.mac_stats.recv_no_buff: 0 dev.igb.0.mac_stats.recv_undersize: 0 dev.igb.0.mac_stats.recv_fragmented: 0 dev.igb.0.mac_stats.recv_oversize: 54 dev.igb.0.mac_stats.recv_jabber: 0 dev.igb.0.mac_stats.recv_errs: 0 dev.igb.0.mac_stats.crc_errs: 0 dev.igb.0.mac_stats.alignment_errs: 0 dev.igb.0.mac_stats.tx_no_crs: 0 dev.igb.0.mac_stats.coll_ext_errs: 0 dev.igb.0.mac_stats.xon_recvd: 0 dev.igb.0.mac_stats.xon_txd: 0 dev.igb.0.mac_stats.xoff_recvd: 0 dev.igb.0.mac_stats.xoff_txd: 0 dev.igb.0.mac_stats.unsupported_fc_recvd: 0 dev.igb.0.mac_stats.mgmt_pkts_recvd: 0 dev.igb.0.mac_stats.mgmt_pkts_drop: 0 dev.igb.0.mac_stats.mgmt_pkts_txd: 0 dev.igb.0.mac_stats.total_pkts_recvd: 306648735529 dev.igb.0.mac_stats.good_pkts_recvd: 306645496589 dev.igb.0.mac_stats.bcast_pkts_recvd: 5103350 dev.igb.0.mac_stats.mcast_pkts_recvd: 742 dev.igb.0.mac_stats.rx_frames_64: 3689937458 dev.igb.0.mac_stats.rx_frames_65_127: 174712807478 dev.igb.0.mac_stats.rx_frames_128_255: 29660269260 dev.igb.0.mac_stats.rx_frames_256_511: 6327942574 dev.igb.0.mac_stats.rx_frames_512_1023: 7146117612 dev.igb.0.mac_stats.rx_frames_1024_1522: 85108422207 dev.igb.0.mac_stats.good_octets_recvd: 153897327984322 dev.igb.0.mac_stats.total_octets_recvd: 153897818532130 dev.igb.0.mac_stats.good_octets_txd: 386935524610469 dev.igb.0.mac_stats.total_octets_txd: 386935524610469 dev.igb.0.mac_stats.total_pkts_txd: 388782070285 dev.igb.0.mac_stats.good_pkts_txd: 388782070284 dev.igb.0.mac_stats.bcast_pkts_txd: 23576 dev.igb.0.mac_stats.mcast_pkts_txd: 0 dev.igb.0.mac_stats.tx_frames_64: 15411781811 dev.igb.0.mac_stats.tx_frames_65_127: 86716465552 dev.igb.0.mac_stats.tx_frames_128_255: 22537923360 dev.igb.0.mac_stats.tx_frames_256_511: 7287992426 dev.igb.0.mac_stats.tx_frames_512_1023: 8319439784 dev.igb.0.mac_stats.tx_frames_1024_1522: 248508467352 dev.igb.0.mac_stats.tso_txd: 0 dev.igb.0.mac_stats.tso_ctx_fail: 0 dev.igb.0.interrupts.asserts: 420189964008 dev.igb.0.interrupts.rx_pkt_timer: 306639759829 dev.igb.0.interrupts.rx_abs_timer: 0 dev.igb.0.interrupts.tx_pkt_timer: 0 dev.igb.0.interrupts.tx_abs_timer: 0 dev.igb.0.interrupts.tx_queue_empty: 388776673905 dev.igb.0.interrupts.tx_queue_min_thresh: 683492531447 dev.igb.0.interrupts.rx_desc_min_thresh: 0 dev.igb.0.interrupts.rx_overrun: 0 dev.igb.0.host.breaker_tx_pkt: 0 dev.igb.0.host.host_tx_pkt_discard: 0 dev.igb.0.host.rx_pkt: 5736761 dev.igb.0.host.breaker_rx_pkts: 0 dev.igb.0.host.breaker_rx_pkt_drop: 0 dev.igb.0.host.tx_good_pkt: 5396381 dev.igb.0.host.breaker_tx_pkt_drop: 0 dev.igb.0.host.rx_good_bytes: 153897331877658 dev.igb.0.host.tx_good_bytes: 386935524612114 dev.igb.0.host.length_errors: 0 dev.igb.0.host.serdes_violation_pkt: 0 dev.igb.0.host.header_redir_missed: 0 dev.igb.1.%desc: Intel(R) PRO/1000 Network Connection version - 2.4.0 dev.igb.1.%driver: igb dev.igb.1.%location: slot=0 function=1 dev.igb.1.%pnpinfo: vendor=0x8086 device=0x1522 subvendor=0x1d1a subdevice=0x0000 class=0x020000 dev.igb.1.%parent: pci9 dev.igb.1.nvm: -1 dev.igb.1.enable_aim: 1 dev.igb.1.fc: 0 dev.igb.1.down_disables_link: 0 dev.igb.1.max_interrupt_rate: 32000 dev.igb.1.rx_processing_limit: 4096 dev.igb.1.dmac: 0 dev.igb.1.eee_disabled: 0 dev.igb.1.link_irq: 54 dev.igb.1.dropped: 0 dev.igb.1.tx_dma_fail: 0 dev.igb.1.rx_overruns: 0 dev.igb.1.watchdog_timeouts: 0 dev.igb.1.device_control: 1490033345 dev.igb.1.rx_control: 67141634 dev.igb.1.interrupt_mask: 4 dev.igb.1.extended_int_mask: 2147483675 dev.igb.1.tx_buf_alloc: 0 dev.igb.1.rx_buf_alloc: 0 dev.igb.1.fc_high_water: 33168 dev.igb.1.fc_low_water: 33152 dev.igb.1.queue0.interrupt_rate: 90909 dev.igb.1.queue0.txd_head: 3865 dev.igb.1.queue0.txd_tail: 3865 dev.igb.1.queue0.no_desc_avail: 0 dev.igb.1.queue0.tx_packets: 75703755913 dev.igb.1.queue0.rxd_head: 2595 dev.igb.1.queue0.rxd_tail: 2594 dev.igb.1.queue0.rx_packets: 103656700452 dev.igb.1.queue0.rx_bytes: 95161158267143 dev.igb.1.queue0.lro_queued: 0 dev.igb.1.queue0.lro_flushed: 0 dev.igb.1.queue1.interrupt_rate: 62500 dev.igb.1.queue1.txd_head: 1649 dev.igb.1.queue1.txd_tail: 1650 dev.igb.1.queue1.no_desc_avail: 0 dev.igb.1.queue1.tx_packets: 91462701917 dev.igb.1.queue1.rxd_head: 3257 dev.igb.1.queue1.rxd_tail: 3256 dev.igb.1.queue1.rx_packets: 101911944377 dev.igb.1.queue1.rx_bytes: 95228896081490 dev.igb.1.queue1.lro_queued: 0 dev.igb.1.queue1.lro_flushed: 0 dev.igb.1.queue2.interrupt_rate: 90909 dev.igb.1.queue2.txd_head: 1850 dev.igb.1.queue2.txd_tail: 1851 dev.igb.1.queue2.no_desc_avail: 0 dev.igb.1.queue2.tx_packets: 80417049655 dev.igb.1.queue2.rxd_head: 3046 dev.igb.1.queue2.rxd_tail: 3045 dev.igb.1.queue2.rx_packets: 101880466406 dev.igb.1.queue2.rx_bytes: 94907567138265 dev.igb.1.queue2.lro_queued: 0 dev.igb.1.queue2.lro_flushed: 0 dev.igb.1.queue3.interrupt_rate: 90909 dev.igb.1.queue3.txd_head: 2887 dev.igb.1.queue3.txd_tail: 2890 dev.igb.1.queue3.no_desc_avail: 0 dev.igb.1.queue3.tx_packets: 91710106805 dev.igb.1.queue3.rxd_head: 3377 dev.igb.1.queue3.rxd_tail: 3376 dev.igb.1.queue3.rx_packets: 102239653169 dev.igb.1.queue3.rx_bytes: 95795813974681 dev.igb.1.queue3.lro_queued: 0 dev.igb.1.queue3.lro_flushed: 0 dev.igb.1.mac_stats.excess_coll: 0 dev.igb.1.mac_stats.single_coll: 0 dev.igb.1.mac_stats.multiple_coll: 0 dev.igb.1.mac_stats.late_coll: 0 dev.igb.1.mac_stats.collision_count: 0 dev.igb.1.mac_stats.symbol_errors: 0 dev.igb.1.mac_stats.sequence_errors: 0 dev.igb.1.mac_stats.defer_count: 0 dev.igb.1.mac_stats.missed_packets: 131918 dev.igb.1.mac_stats.recv_length_errors: 0 dev.igb.1.mac_stats.recv_no_buff: 41697 dev.igb.1.mac_stats.recv_undersize: 0 dev.igb.1.mac_stats.recv_fragmented: 0 dev.igb.1.mac_stats.recv_oversize: 0 dev.igb.1.mac_stats.recv_jabber: 0 dev.igb.1.mac_stats.recv_errs: 0 dev.igb.1.mac_stats.crc_errs: 0 dev.igb.1.mac_stats.alignment_errs: 0 dev.igb.1.mac_stats.tx_no_crs: 0 dev.igb.1.mac_stats.coll_ext_errs: 0 dev.igb.1.mac_stats.xon_recvd: 0 dev.igb.1.mac_stats.xon_txd: 2588 dev.igb.1.mac_stats.xoff_recvd: 0 dev.igb.1.mac_stats.xoff_txd: 128319 dev.igb.1.mac_stats.unsupported_fc_recvd: 0 dev.igb.1.mac_stats.mgmt_pkts_recvd: 0 dev.igb.1.mac_stats.mgmt_pkts_drop: 0 dev.igb.1.mac_stats.mgmt_pkts_txd: 0 dev.igb.1.mac_stats.total_pkts_recvd: 409689004919 dev.igb.1.mac_stats.good_pkts_recvd: 409688745125 dev.igb.1.mac_stats.bcast_pkts_recvd: 440 dev.igb.1.mac_stats.mcast_pkts_recvd: 10 dev.igb.1.mac_stats.rx_frames_64: 31355338266 dev.igb.1.mac_stats.rx_frames_65_127: 83061844874 dev.igb.1.mac_stats.rx_frames_128_255: 26700908488 dev.igb.1.mac_stats.rx_frames_256_511: 6660577022 dev.igb.1.mac_stats.rx_frames_512_1023: 8408367356 dev.igb.1.mac_stats.rx_frames_1024_1522: 253501709119 dev.igb.1.mac_stats.good_octets_recvd: 382732168872129 dev.igb.1.mac_stats.total_octets_recvd: 382732210364582 dev.igb.1.mac_stats.good_octets_txd: 145774571459929 dev.igb.1.mac_stats.total_octets_txd: 145774579837977 dev.igb.1.mac_stats.total_pkts_txd: 339293731791 dev.igb.1.mac_stats.good_pkts_txd: 339293600883 dev.igb.1.mac_stats.bcast_pkts_txd: 13926 dev.igb.1.mac_stats.mcast_pkts_txd: 0 dev.igb.1.mac_stats.tx_frames_64: 72856803034 dev.igb.1.mac_stats.tx_frames_65_127: 143846259815 dev.igb.1.mac_stats.tx_frames_128_255: 25357109049 dev.igb.1.mac_stats.tx_frames_256_511: 5883190621 dev.igb.1.mac_stats.tx_frames_512_1023: 7053707995 dev.igb.1.mac_stats.tx_frames_1024_1522: 84296530370 dev.igb.1.mac_stats.tso_txd: 0 dev.igb.1.mac_stats.tso_ctx_fail: 0 dev.igb.1.interrupts.asserts: 388651286272 dev.igb.1.interrupts.rx_pkt_timer: 409680785347 dev.igb.1.interrupts.rx_abs_timer: 0 dev.igb.1.interrupts.tx_pkt_timer: 0 dev.igb.1.interrupts.tx_abs_timer: 0 dev.igb.1.interrupts.tx_queue_empty: 339288906367 dev.igb.1.interrupts.tx_queue_min_thresh: 32841710260 dev.igb.1.interrupts.rx_desc_min_thresh: 0 dev.igb.1.interrupts.rx_overrun: 0 dev.igb.1.host.breaker_tx_pkt: 0 dev.igb.1.host.host_tx_pkt_discard: 0 dev.igb.1.host.rx_pkt: 7959780 dev.igb.1.host.breaker_rx_pkts: 0 dev.igb.1.host.breaker_rx_pkt_drop: 0 dev.igb.1.host.tx_good_pkt: 4694520 dev.igb.1.host.breaker_tx_pkt_drop: 0 dev.igb.1.host.rx_good_bytes: 382732188589947 dev.igb.1.host.tx_good_bytes: 145774571461494 dev.igb.1.host.length_errors: 0 dev.igb.1.host.serdes_violation_pkt: 0 dev.igb.1.host.header_redir_missed: 0 Во второй раз при проблеме ситуация такая: dev.igb.0.queue0.interrupt_rate: 37037 dev.igb.0.queue1.interrupt_rate: 5464 dev.igb.0.queue2.interrupt_rate: 5347 dev.igb.0.queue3.interrupt_rate: 5235 netstat -w 1 -I igb0 input (igb0) output packets errs idrops bytes packets errs bytes colls 36341 0 0 16952368 51570 0 53198264 0 36879 0 0 16884007 51278 0 53219505 0 36964 0 0 16816441 51895 0 53937965 0 37074 0 0 16643365 52535 0 56137915 0 37177 0 0 17525384 52812 0 55153617 0 39106 0 0 18682093 48610 0 49520456 0 37842 0 0 17966776 50916 0 52601460 0 38668 0 0 18196597 49899 0 51479595 0 37486 0 0 17793713 51200 0 52785265 0 37563 0 0 16663613 51287 0 54207847 0 37371 0 0 17215909 51825 0 54634721 0 38740 0 0 17661161 50115 0 51384956 0 37355 0 0 16560563 51299 0 53304837 0 Что крутить стоит, коллеги? Изменения в ядре: #options INET6 # IPv6 communications protocols options NETGRAPH options NETGRAPH_ASYNC options NETGRAPH_BPF options NETGRAPH_BRIDGE options NETGRAPH_CAR options NETGRAPH_DEFLATE options NETGRAPH_ETHER options NETGRAPH_IFACE options NETGRAPH_IPFW options NETGRAPH_KSOCKET options NETGRAPH_L2TP options NETGRAPH_MPPC_ENCRYPTION options NETGRAPH_NETFLOW options NETGRAPH_NAT options NETGRAPH_PPP options NETGRAPH_PPPOE options NETGRAPH_PPTPGRE options NETGRAPH_PRED1 options NETGRAPH_SOCKET options NETGRAPH_TCPMSS options NETGRAPH_TEE options NETGRAPH_TTY options NETGRAPH_VJC options PANIC_REBOOT_WAIT_TIME=16 options ROUTETABLES=2 #infini options OFED options SDP device ipoib options IPOIB_CM device mlxen device mlx4ib kldstat Id Refs Address Size Name 1 6 0xffffffff80200000 14bc340 kernel 2 2 0xffffffff81811000 10757 ipfw.ko 3 1 0xffffffff81822000 4944 ipfw_nat.ko Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted October 28, 2015 · Report post Попробовать отказатся от: net.inet.ip.fastforwarding=1 и задействовать isr net.isr.dispatch=deferred # direct / hybrid / deffered // Interrupt handling via multiple CPU, but with context switch. net.route.netisr_maxqlen=1024 # maximum routing socket dispatch queue length для 9х вроде чуть по другому тюнится, ещё в лоадер.конф: net.isr.bindthreads=1 # Bind netisr threads to CPUs Как минимум ng_queue должно сменится на isr потоки в топе. dev.igb.0.queue0.interrupt_rate: 37037 Это потому что gre трафик, а карточка раскидывает по ip+port. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Sincha Posted October 28, 2015 · Report post Чуть-чуть продолжил поиски по Вашим наводкам. 1. fastforwarding, вероятно, для меня сомнителен: если трафик им и обработается (в моем случае есть сомнения -gre не ip же), то он не попадет в netisr и, соответственно, никак не распаралелится, а уйдет сразу в netgraph. Дальше, видимо, обработка его тредами ng_queue. Получается, вроде как и вреден фастфорвардинг. 2. netisr "по-новому", с этими профилями (гибрид и т.п.) ранее вроде бы мог приводить к паникам на машине с множеством появляющихся\исчезающих интерфейсов. к 9.3-stable что-то изменилось? 3. queue. 82576, например, может хешить трафик перед засовыванием его в очереди только по ип+tcp порт. Возможно так же и с i350. Трафик, не имеющих таких критериев, должен был попадать в queue.0. Здесь, кажется, лучше бы у меня был l2tp, чем pptp, было бы легко. Ядер 8, головы 2, на каждую по 4 очереди. По очереди на ядро, вроде бы все хорошо, никаких опасностей того, что могло бы быть с 4ядрами\2головами\8 векторами суммарно( на нулевую очередь (в которую предположительно весь gre попадет)+нулевое ядро сядет еще трафик со второй головы)). Эта проблема должна проявить себя как загрузка 1 ядра с недогрузкой остальных и с проблемой на трафике. Вроде бы, моё случай. Смотрю дальше: vmstat -i В состоянии нормальной работы: interrupt total rate irq19: uhci1+ 3006253 0 cpu0:timer 17332824310 1116 irq258: igb0:que 0 102495133854 6599 irq259: igb0:que 1 107574809480 6926 irq260: igb0:que 2 106534358598 6859 irq261: igb0:que 3 108873864854 7010 irq262: igb0:link 4 0 irq263: igb1:que 0 95353449521 6140 irq264: igb1:que 1 99873590151 6431 irq265: igb1:que 2 97226730003 6260 irq266: igb1:que 3 100758915636 6488 irq267: igb1:link 56 0 cpu3:timer 17259854112 1111 cpu1:timer 17270805902 1112 cpu5:timer 17198184943 1107 cpu2:timer 17254036422 1111 cpu4:timer 17045984820 1097 cpu7:timer 17163730575 1105 cpu6:timer 17059433886 1098 Total 956278713380 61576 Вроде бы достаточно равномерно Смотрю sysctl dev.igb в этот же момент: dev.igb.0.queue0.interrupt_rate: 5347 dev.igb.0.queue1.interrupt_rate: 5347 dev.igb.0.queue2.interrupt_rate: 47619 dev.igb.0.queue3.interrupt_rate: 66666 На входящем интерфейсе перекос в двух очередях. Смотрю что было ранее: dev.igb.1.queue0.interrupt_rate: 90909 dev.igb.1.queue1.interrupt_rate: 62500 dev.igb.1.queue2.interrupt_rate: 90909 dev.igb.1.queue3.interrupt_rate: 90909 dev.igb.0.queue0.interrupt_rate: 37037 dev.igb.0.queue1.interrupt_rate: 5464 dev.igb.0.queue2.interrupt_rate: 5347 dev.igb.0.queue3.interrupt_rate: 5235 Нулевая очередь на входящем интерфейсе, но дикие цифры на всех на исходящем. Смотрю ранее, тоже в момент проблемы: dev.igb.0.queue1.interrupt_rate: 11764 dev.igb.0.queue0.interrupt_rate: 5347 dev.igb.0.queue2.interrupt_rate: 100000 dev.igb.0.queue3.interrupt_rate: 62500 Неравно, цифры большие. Но ведь у меня dev.igb.0.max_interrupt_rate: 32000! Т.е. 8000 на очередь. Ну в любом случае 32000 на 4 очереди суммарно, а у меня там давно за пределами 32000. Где я прав\не прав? Спасибо Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted October 29, 2015 · Report post Чуть-чуть продолжил поиски по Вашим наводкам. 1. fastforwarding, вероятно, для меня сомнителен: если трафик им и обработается (в моем случае есть сомнения -gre не ip же) Показывайте статистику траффика в разрезе протоколов (netstat -s) после суточной нагрузки. Вы уверены, что включать гипертрейдинг хорошая идея? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted October 29, 2015 · Report post fastforwarding, вероятно, для меня сомнителен: если трафик им и обработается Опция работает сама по себе, не зависимо от остального. 2. netisr "по-новому", с этими профилями (гибрид и т.п.) ранее вроде бы мог приводить к паникам на машине с множеством появляющихся\исчезающих интерфейсов. к 9.3-stable что-то изменилось? Я про дефферед, гибрид не предлагал. Насчёт паник не подскажу. 3. queue. 82576, например, может хешить трафик перед засовыванием его в очереди только по ип+tcp порт. Возможно так же и с i350. Трафик, не имеющих таких критериев, должен был попадать в queue.0. Теоритически есть хак: взять карту с 4 портами, собрать LACP на коммутаторе и в системе и тогда gre может размазатся по 0 очередям четырёх сетевух. С двумя портами аналогично. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Sincha Posted October 29, 2015 · Report post tcp: 358972912 packets sent 244965799 data packets (5006541835 bytes) 710879 data packets (22253188 bytes) retransmitted 56625 data packets unnecessarily retransmitted 0 resends initiated by MTU discovery 111195837 ack-only packets (97072219 delayed) 0 URG only packets 0 window probe packets 518 window update packets 2101394 control packets 417348196 packets received 243446913 acks (for 4989168706 bytes) 2061217 duplicate acks 0 acks for unsent data 245005807 packets (5132659982 bytes) received in-sequence 95486 completely duplicate packets (1311480 bytes) 15468 old duplicate packets 48 packets with some dup. data (1156 bytes duped) 12915 out-of-order packets (3791624 bytes) 33 packets (0 bytes) of data after window 0 window probes 4720 window update packets 6646 packets received after close 195 discarded for bad checksums 0 discarded for bad header offset fields 0 discarded because packet too short 0 discarded due to memory problems 891 connection requests 2152172 connection accepts 0 bad connection attempts 16 listen queue overflows 89954 ignored RSTs in the windows 2152673 connections established (including accepts) 2152639 connections closed (including 141761 drops) 2090355 connections updated cached RTT on close 2135456 connections updated cached RTT variance on close 1520265 connections updated cached ssthresh on close 0 embryonic connections dropped 243343161 segments updated rtt (of 238747379 attempts) 721043 retransmit timeouts 44083 connections dropped by rexmit timeout 0 persist timeouts 0 connections dropped by persist timeout 0 Connections (fin_wait_2) dropped because of timeout 204 keepalive timeouts 198 keepalive probes sent 6 connections dropped by keepalive 159508206 correct ACK header predictions 165851118 correct data packet header predictions 2888909 syncache entries added 2104439 retransmitted 1709979 dupsyn 1 dropped 2152172 completed 3650 bucket overflow 0 cache overflow 41782 reset 691187 stale 16 aborted 0 badack 121 unreach 0 zone failures 2888833 cookies sent 19 cookies received 188240 hostcache entries added 0 bucket overflow 259 SACK recovery episodes 30 segment rexmits in SACK recovery episodes 9596 byte rexmits in SACK recovery episodes 80957 SACK options (SACK blocks) received 6221 SACK options (SACK blocks) sent 0 SACK scoreboard overflow 0 packets with ECN CE bit set 0 packets with ECN ECT(0) bit set 0 packets with ECN ECT(1) bit set 0 successful ECN handshakes 0 times ECN reduced the congestion window udp: 2332636108 datagrams received 0 with incomplete header 0 with bad data length field 63 with bad checksum 58396262 with no checksum 1549080 dropped due to no socket 51407892 broadcast/multicast datagrams undelivered 2894 dropped due to full socket buffers 0 not for hashed pcb 2279676179 delivered 4005325298 datagrams output 0 times multicast source filter matched sctp: 0 input packets 0 datagrams 0 packets that had data 0 input SACK chunks 0 input DATA chunks 0 duplicate DATA chunks 0 input HB chunks 0 HB-ACK chunks 0 input ECNE chunks 0 input AUTH chunks 0 chunks missing AUTH 0 invalid HMAC ids received 0 invalid secret ids received 0 auth failed 0 fast path receives all one chunk 0 fast path multi-part data 0 output packets 0 output SACKs 0 output DATA chunks 0 retransmitted DATA chunks 0 fast retransmitted DATA chunks 0 FR's that happened more than once to same chunk 0 output HB chunks 0 output ECNE chunks 0 output AUTH chunks 0 ip_output error counter Packet drop statistics: 0 from middle box 0 from end host 0 with data 0 non-data, non-endhost 0 non-endhost, bandwidth rep only 0 not enough for chunk header 0 not enough data to confirm 0 where process_chunk_drop said break 0 failed to find TSN 0 attempt reverse TSN lookup 0 e-host confirms zero-rwnd 0 midbox confirms no space 0 data did not match TSN 0 TSN's marked for Fast Retran Timeouts: 0 iterator timers fired 0 T3 data time outs 0 window probe (T3) timers fired 0 INIT timers fired 0 sack timers fired 0 shutdown timers fired 0 heartbeat timers fired 0 a cookie timeout fired 0 an endpoint changed its cookiesecret 0 PMTU timers fired 0 shutdown ack timers fired 0 shutdown guard timers fired 0 stream reset timers fired 0 early FR timers fired 0 an asconf timer fired 0 auto close timer fired 0 asoc free timers expired 0 inp free timers expired 0 packet shorter than header 0 checksum error 0 no endpoint for port 0 bad v-tag 0 bad SID 0 no memory 0 number of multiple FR in a RTT window 0 RFC813 allowed sending 0 RFC813 does not allow sending 0 times max burst prohibited sending 0 look ahead tells us no memory in interface 0 numbers of window probes sent 0 times an output error to clamp down on next user send 0 times sctp_senderrors were caused from a user 0 number of in data drops due to chunk limit reached 0 number of in data drops due to rwnd limit reached 0 times a ECN reduced the cwnd 0 used express lookup via vtag 0 collision in express lookup 0 times the sender ran dry of user data on primary 0 same for above 0 sacks the slow way 0 window update only sacks sent 0 sends with sinfo_flags !=0 0 unordered sends 0 sends with EOF flag set 0 sends with ABORT flag set 0 times protocol drain called 0 times we did a protocol drain 0 times recv was called with peek 0 cached chunks used 0 cached stream oq's used 0 unread messages abandonded by close 0 send burst avoidance, already max burst inflight to net 0 send cwnd full avoidance, already max burst inflight to net 0 number of map array over-runs via fwd-tsn's ip: 1028486637714 total packets received 435 bad header checksums 0 with size smaller than minimum 3782908 with data size < data length 0 with ip length > max ip packet size 0 with header length < data size 0 with data length < header length 9 with bad options 0 with incorrect version number 1040445263 fragments received 2 fragments dropped (dup or out of space) 57230 fragments dropped after timeout 520193992 packets reassembled ok 310069951016 packets for this host 35511480 packets for unknown/unsupported protocol 717688261988 packets forwarded (414241041968 packets fast forwarded) 3606193 packets not forwardable 0 packets received for unknown multicast group 0 redirects sent 394001171795 packets sent from this host 1 packet sent with fabricated ip header 519247 output packets dropped due to no bufs, etc. 0 output packets discarded due to no route 8946634319 output datagrams fragmented 17892859240 fragments created 8721452 datagrams that can't be fragmented 0 tunneling packets that can't find gif 19265 datagrams with bad address in header icmp: 212810240 calls to icmp_error 1979205 errors not generated in response to an icmp message Output histogram: echo reply: 6084383 destination unreachable: 8723734 time exceeded: 201751747 time stamp reply: 8 7 messages with bad code fields 0 messages less than the minimum length 1719 messages with bad checksum 59 messages with bad length 0 multicast echo requests ignored 0 multicast timestamp requests ignored Input histogram: echo reply: 423 #1: 3 #2: 2 destination unreachable: 8510050 source quench: 15 routing redirect: 250846 #6: 4 #7: 3 echo: 12969353 router advertisement: 4 router solicitation: 2 time exceeded: 132409 parameter problem: 3 time stamp: 8 time stamp reply: 8 information request: 4 information request reply: 2 address mask request: 3 address mask reply: 1 #19: 3 #20: 2 #21: 4 #23: 3 #24: 1 #25: 9 #26: 3 #27: 4 #28: 6 #29: 4 icmp traceroute: 4 datagram conversion error: 3 IPv6 where-are-you: 2 IPv6 i-am-here: 1 mobile registration req: 3 mobile registration reply: 1 domain name request: 5 domain name reply: 1 icmp SKIP: 3 icmp photuris: 3 6084391 message responses generated 0 invalid return addresses 0 no return routes ICMP address mask responses are disabled igmp: 17949300 messages received 0 messages received with too few bytes 0 messages received with wrong TTL 0 messages received with bad checksum 16291116 V1/V2 membership queries received 19 V3 membership queries received 0 membership queries received with invalid field(s) 16291135 general queries received 0 group queries received 0 group-source queries received 0 group-source queries dropped 1000641 membership reports received 28062 membership reports received with invalid field(s) 0 membership reports received for groups to which we belong 326705 V3 reports received without Router Alert 0 membership reports sent arp: 37902 ARP requests sent 895498 ARP replies sent 5352581 ARP requests received 36230 ARP replies received 5388811 ARP packets received 3906 total packets dropped due to no ARP entry 6730 ARP entrys timed out 0 Duplicate IPs seen Больше, чем после суток. Гипертрейдинг выключен, это 2 процессора Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted October 29, 2015 · Report post Используйте теги код - читать невозможно. Навскидку, большие значения out-of-order packets. Евгений Гроссбейн в свое время жаловался на баг с переупорядачиванием пакетов. Еще какой MTU на выходе? и дальше по трассе к аплинкам? Доля размеров пакетов между клиентами и вашим NAS ? Я не уверен, что net.graph.maxdata надо такое огромное число. Погуглите. Имхо, 2х максимального числа пользователей. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Sincha Posted November 1, 2015 (edited) · Report post Ivan_83 Я всё думал о роли gre в моем pptp трафике и должна ли интеловская сетевушка разбрасывать этот трафик по очередям; думал, не начать ли использовать l2tp (соответсвующий бандл настроен и запущен вместе с pptp на всех брасах). Пришел к выводу, что разницы особой быть не должно, но перейти на использование isr-a, что бы обработка была не в контексте прерываний, попробовать стоит. Думаю, утром сегодня\завтра так и сделаю. Только биндить наверное в моем случае не стоит: кол-во очередей карты равно у меня кол-ву ядер. Все верно? vlad11 Наверное, переупорядочивание пакетов было бы страшно с шифрованием. Шифрование трафика не использую. Его патч, кстати, наложен и используется с глубиной очереди в 16 и таймаутом в 2мс. net.graph.pptpgre.reorder_max=16 net.graph.pptpgre.reorder_timeout=2 MTU туннелям ограничено в MPD set link mtu 1460 , на интерфейсах входном и выходном - 1500, дальше и до на оборудовании - 1500, q-n-q нету, поэтому не увеличивал. Если посмотреть ifconfig, то абсолютное большинство клиентов с 1420, в целом же 1400 - 1460. Вы это имели ввиду под долей? Я не уверен, что net.graph.maxdata надо такое огромное число. Погуглите. Имхо, 2х максимального числа пользователей. Я сегодня с помощью автора раскопал эту проблему. При массовом отключении сессий генерируется огромное количество сообщений к нодам netgraph ядра. Такое же может быть и в другом случае - если какое-то клиентское устройство сойдет с ума и начнет флудить сервер запросами на подключение на скорости линка. Тоже генерируется огромное количество сообщений. Для этих сообщений в ядре есть очередь дефолтного размера 4096, текущий размер можно посмотреть через sysctl net.graph.maxalloc (r/o). Посмотреть статистику по ней можно командой vmstat -z|egrep 'ITEM|NetGraph', она покажет и вторую очередь, размер которой net.graph.maxdata. Поменять размеры только через loader.conf и перезагрузку. Столбец FAILURES показывает, сколько раз очереди переполнялись.Так вот, при переполнении очереди mpd55 получает от ядра ENOMEM при попытке создать новое соединение и по какой-то причине оно остаётся "полусобранным" - часть нод создана, часть нет. И почему-то mpd55 не прибирает полученный мусор и когда позже очередь разгребается, наталкивается на эти осколки в ядерном netgraph и не может их обойти. Я попробовал увеличить размеры очередей до 65536, погляжу что получится. (с) Гросбеин.Дефолт 4096 и с ним гарантированно спустя несколько дней нельзя уже было посмотреть ngctl list. Значения действительно просто были скопипащены. С другой стороны, они больше дефолтных в 10 раз. Возможно, на реальном примере, при аналогичной нагрузке, когда нет FAIL для ITEM|NetGraph, Вы можете рекомендовать конкретные значения из опыта? Значение данного параметра в работе не изменить, только с рестартом, поэтому хотелось бы обдуманно это делать. Может быть у Вас есть мысли каким образом резкое завышение данного параметра мне может мешать? ... Посмотрел я вывод ngctl list тут Name: igb0 Type: ether ID: 00000003 Num hooks: 0 Name: igb1 Type: ether ID: 00000004 Num hooks: 0 Name: mpd691-lso Type: socket ID: 00000007 Num hooks: 621 Name: mpd691-cso Type: socket ID: 00000008 Num hooks: 0 Name: mpd691-eso Type: socket ID: 00000009 Num hooks: 0 Name: mpd691-stats Type: socket ID: 00000024 Num hooks: 0 Name: mpd691-nf Type: netflow ID: 00000026 Num hooks: 1243 Name: mpd691-L_pptp-254-lt Type: tee ID: 00d20027 Num hooks: 2 Name: mpd691-nfso Type: ksocket ID: 00000027 Num hooks: 1 Name: <unnamed> Type: pptpgre ID: 00d20029 Num hooks: 2 Name: <unnamed> Type: ksocket ID: 00d2002a Num hooks: 1 Name: ng88 Type: iface ID: 00d20030 Num hooks: 1 Name: mpd691-B_ppp-89 Type: ppp ID: 00d20031 Num hooks: 3 Name: mpd691-L_pptp-109-lt Type: tee ID: 00328036 Num hooks: 2 Name: mpd691-B_ppp-89-mss Type: tcpmss ID: 00d20037 Num hooks: 2 Name: mpd691-B_ppp-89-lim Type: bpf ID: 00d20038 Num hooks: 14 Name: <unnamed> Type: pptpgre ID: 00328038 Num hooks: 2 Name: <unnamed> Type: car ID: 00d20039 Num hooks: 2 Name: <unnamed> Type: ksocket ID: 00328039 Num hooks: 1 Name: <unnamed> Type: car ID: 00d2003a Num hooks: 2 Name: <unnamed> Type: car ID: 00d2003b Num hooks: 2 Name: <unnamed> Type: car ID: 00d2003c Num hooks: 2 Name: ng535 Type: iface ID: 00328050 Num hooks: 1 Name: mpd691-B_ppp-536 Type: ppp ID: 00328051 Num hooks: 3 Name: mpd691-B_ppp-536-mss Type: tcpmss ID: 00328069 Num hooks: 2 Name: mpd691-B_ppp-536-lim Type: bpf ID: 0032806a Num hooks: 14 Name: <unnamed> Type: car ID: 0032806b Num hooks: 2 Name: <unnamed> Type: car ID: 0032806c Num hooks: 2 Name: <unnamed> Type: car ID: 0032806d Num hooks: 2 Name: <unnamed> Type: car ID: 0032806e Num hooks: 2 Name: mpd691-L_pptp-100-lt Type: tee ID: 00d6007e Num hooks: 2 Name: <unnamed> Type: pptpgre ID: 00d60080 Num hooks: 2 Name: <unnamed> Type: ksocket ID: 00d60081 Num hooks: 1 Name: ng90 Type: iface ID: 00d60086 Num hooks: 1 Name: mpd691-B_ppp-91 Type: ppp ID: 00d60087 Num hooks: 3 Name: mpd691-B_ppp-91-mss Type: tcpmss ID: 00d60088 Num hooks: 2 Name: mpd691-B_ppp-91-lim Type: bpf ID: 00d60089 Num hooks: 14 Name: <unnamed> Type: car ID: 00d6008a Num hooks: 2 Name: <unnamed> Type: car ID: 00d6008b Num hooks: 2 Name: <unnamed> Type: car ID: 00d6008c Num hooks: 2 Name: <unnamed> Type: car ID: 00d6008d Num hooks: 2 Name: mpd691-L_pptp-116-lt Type: tee ID: 00d600d8 Num hooks: 2 Name: <unnamed> Type: pptpgre ID: 00d600da Num hooks: 2 Name: <unnamed> Type: ksocket ID: 00d600db Num hooks: 1 Name: ng157 Type: iface ID: 00d600dc Num hooks: 1 Name: mpd691-B_ppp-158 Type: ppp ID: 00d600dd Num hooks: 3 Name: mpd691-L_pptp-244-lt Type: tee ID: 00d60147 Num hooks: 2 Name: <unnamed> Type: pptpgre ID: 00d60149 Num hooks: 2 Name: <unnamed> Type: ksocket ID: 00d6014a Num hooks: 1 Name: ng30 Type: iface ID: 00d6014b Num hooks: 1 Name: mpd691-B_ppp-31 Type: ppp ID: 00d6014c Num hooks: 3 Name: mpd691-L_pptp-650-lt Type: tee ID: 00c3820b Num hooks: 2 Name: <unnamed> Type: pptpgre ID: 00c3820d Num hooks: 2 Name: <unnamed> Type: ksocket ID: 00c3820e Num hooks: 1 Name: ng1 Type: iface ID: 00c3820f Num hooks: 1 Name: mpd691-B_ppp-2 Type: ppp ID: 00c38210 Num hooks: 3 Name: mpd691-B_ppp-2-mss Type: tcpmss ID: 00c38211 Num hooks: 2 Name: mpd691-B_ppp-2-lim Type: bpf ID: 00c38212 Num hooks: 14 Name: <unnamed> Type: car ID: 00c38213 Num hooks: 2 Name: <unnamed> Type: car ID: 00c38214 Num hooks: 2 Name: <unnamed> Type: car ID: 00c38215 Num hooks: 2 Name: <unnamed> Type: car ID: 00c38216 Num hooks: 2 Name: mpd691-L_pptp-152-lt Type: tee ID: 00c88225 Num hooks: 2 Name: mpd691-B_ppp-317-mss Type: tcpmss ID: 00d60227 Num hooks: 2 Name: <unnamed> Type: pptpgre ID: 00c88227 Num hooks: 2 Name: mpd691-B_ppp-317-lim Type: bpf ID: 00d60228 Num hooks: 14 Name: <unnamed> Type: ksocket ID: 00c88228 Num hooks: 1 Name: <unnamed> Type: car ID: 00d60229 Num hooks: 2 Name: ng96 Type: iface ID: 00c88229 Num hooks: 1 Name: <unnamed> Type: car ID: 00d6022a Num hooks: 2 Name: mpd691-B_ppp-97 Type: ppp ID: 00c8822a Num hooks: 3 Name: <unnamed> Type: car ID: 00d6022b Num hooks: 2 Name: <unnamed> Type: car ID: 00d6022c Num hooks: 2 Name: mpd691-B_ppp-280-mss Type: tcpmss ID: 00d6022d Num hooks: 2 Name: mpd691-B_ppp-280-lim Type: bpf ID: 00d6022e Num hooks: 14 Name: <unnamed> Type: car ID: 00d6022f Num hooks: 2 Name: <unnamed> Type: car ID: 00d60230 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60231 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60232 Num hooks: 2 Name: mpd691-B_ppp-332-mss Type: tcpmss ID: 00d60233 Num hooks: 2 Name: mpd691-B_ppp-332-lim Type: bpf ID: 00d60234 Num hooks: 14 Name: <unnamed> Type: car ID: 00d60235 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60236 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60237 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60238 Num hooks: 2 Name: mpd691-B_ppp-170-mss Type: tcpmss ID: 00d60239 Num hooks: 2 Name: mpd691-B_ppp-170-lim Type: bpf ID: 00d6023a Num hooks: 14 Name: <unnamed> Type: car ID: 00d6023b Num hooks: 2 Name: <unnamed> Type: car ID: 00d6023c Num hooks: 2 Name: <unnamed> Type: car ID: 00d6023d Num hooks: 2 Name: mpd691-L_pptp-191-lt Type: tee ID: 00d5823d Num hooks: 2 Name: <unnamed> Type: car ID: 00d6023e Num hooks: 2 Name: mpd691-B_ppp-554-mss Type: tcpmss ID: 00d6023f Num hooks: 2 Name: <unnamed> Type: pptpgre ID: 00d5823f Num hooks: 2 Name: mpd691-B_ppp-554-lim Type: bpf ID: 00d60240 Num hooks: 14 Name: <unnamed> Type: ksocket ID: 00d58240 Num hooks: 1 Name: <unnamed> Type: car ID: 00d60241 Num hooks: 2 Name: ng123 Type: iface ID: 00d58241 Num hooks: 1 Name: <unnamed> Type: car ID: 00d60242 Num hooks: 2 Name: mpd691-B_ppp-124 Type: ppp ID: 00d58242 Num hooks: 3 Name: <unnamed> Type: car ID: 00d60243 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60244 Num hooks: 2 Name: mpd691-B_ppp-575-mss Type: tcpmss ID: 00d60245 Num hooks: 2 Name: mpd691-B_ppp-575-lim Type: bpf ID: 00d60246 Num hooks: 14 Name: <unnamed> Type: car ID: 00d60247 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60248 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60249 Num hooks: 2 Name: <unnamed> Type: car ID: 00d6024a Num hooks: 2 Name: mpd691-B_ppp-281-mss Type: tcpmss ID: 00d6024b Num hooks: 2 Name: mpd691-B_ppp-281-lim Type: bpf ID: 00d6024c Num hooks: 14 Name: <unnamed> Type: car ID: 00d6024d Num hooks: 2 Name: <unnamed> Type: car ID: 00d6024e Num hooks: 2 Name: <unnamed> Type: car ID: 00d6024f Num hooks: 2 Name: <unnamed> Type: car ID: 00d60250 Num hooks: 2 Name: mpd691-B_ppp-290-mss Type: tcpmss ID: 00d60251 Num hooks: 2 Name: mpd691-B_ppp-290-lim Type: bpf ID: 00d60252 Num hooks: 14 Name: <unnamed> Type: car ID: 00d60253 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60254 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60255 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60256 Num hooks: 2 Name: mpd691-B_ppp-145-mss Type: tcpmss ID: 00d60257 Num hooks: 2 Name: mpd691-B_ppp-145-lim Type: bpf ID: 00d60258 Num hooks: 14 Name: <unnamed> Type: car ID: 00d60259 Num hooks: 2 Name: <unnamed> Type: car ID: 00d6025a Num hooks: 2 Name: <unnamed> Type: car ID: 00d6025b Num hooks: 2 Name: <unnamed> Type: car ID: 00d6025c Num hooks: 2 Name: mpd691-B_ppp-24-mss Type: tcpmss ID: 00d6025d Num hooks: 2 Name: mpd691-B_ppp-24-lim Type: bpf ID: 00d6025e Num hooks: 14 Name: <unnamed> Type: car ID: 00d6025f Num hooks: 2 Name: <unnamed> Type: car ID: 00d60260 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60261 Num hooks: 2 Name: <unnamed> Type: car ID: 00d60262 Num hooks: 2 Name: mpd691-B_ppp-416-mss Type: tcpmss ID: 00d60263 Num hooks: 2 Name: mpd691-B_ppp-416-lim Type: bpf ID: 00d60264 Num hooks: 14 Не isr поможет, так следующим шагом думать как это mpd-шное оптимизировать Edited November 1, 2015 by Sincha Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Sincha Posted November 2, 2015 · Report post Не в пик наблюдаю следующее: last pid: 4386; load averages: 2.00, 2.23, 2.03 up 0+04:30:57 10:57:14 200 processes: 11 running, 153 sleeping, 36 waiting CPU 0: 0.0% user, 0.0% nice, 3.1% system, 27.2% interrupt, 69.7% idle CPU 1: 0.0% user, 0.0% nice, 4.3% system, 26.8% interrupt, 68.9% idle CPU 2: 0.0% user, 0.0% nice, 4.3% system, 22.0% interrupt, 73.6% idle CPU 3: 0.0% user, 0.0% nice, 1.6% system, 20.9% interrupt, 77.6% idle CPU 4: 0.0% user, 0.0% nice, 16.9% system, 4.7% interrupt, 78.3% idle CPU 5: 0.4% user, 0.0% nice, 19.3% system, 3.9% interrupt, 76.4% idle CPU 6: 0.0% user, 0.0% nice, 18.5% system, 2.8% interrupt, 78.7% idle CPU 7: 0.0% user, 0.0% nice, 13.8% system, 4.3% interrupt, 81.9% idle Mem: 28M Active, 37M Inact, 212M Wired, 19M Buf, 3661M Free Swap: 3052M Total, 3052M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0K 128K CPU4 4 238:35 88.48% idle{idle: cpu4} 11 root 155 ki31 0K 128K CPU7 7 238:40 87.60% idle{idle: cpu7} 11 root 155 ki31 0K 128K CPU5 5 238:21 84.08% idle{idle: cpu5} 11 root 155 ki31 0K 128K CPU6 6 238:41 82.86% idle{idle: cpu6} 11 root 155 ki31 0K 128K CPU3 3 230:52 80.57% idle{idle: cpu3} 11 root 155 ki31 0K 128K RUN 1 230:18 79.39% idle{idle: cpu1} 11 root 155 ki31 0K 128K CPU2 2 228:16 78.37% idle{idle: cpu2} 11 root 155 ki31 0K 128K CPU0 0 223:42 71.19% idle{idle: cpu0} 12 root -72 - 0K 592K WAIT 0 36:08 23.49% intr{swi1: netisr 0} 12 root -72 - 0K 592K WAIT 2 32:31 20.46% intr{swi1: netisr 2} 12 root -72 - 0K 592K WAIT 1 30:17 20.36% intr{swi1: netisr 1} 12 root -72 - 0K 592K WAIT 3 29:58 18.90% intr{swi1: netisr 3} 13 root -16 - 0K 128K sleep 4 14:18 8.79% ng_queue{ng_queue2} 13 root -16 - 0K 128K sleep 6 14:16 8.59% ng_queue{ng_queue4} 13 root -16 - 0K 128K sleep 2 14:17 8.40% ng_queue{ng_queue6} 13 root -16 - 0K 128K sleep 6 14:16 8.40% ng_queue{ng_queue1} 13 root -16 - 0K 128K CPU7 7 14:18 8.25% ng_queue{ng_queue5} 13 root -16 - 0K 128K sleep 6 14:16 8.25% ng_queue{ng_queue0} 13 root -16 - 0K 128K sleep 4 14:16 8.25% ng_queue{ng_queue7} 13 root -16 - 0K 128K sleep 4 14:17 8.15% ng_queue{ng_queue3} 721 root 22 0 154M 40900K select 7 14:07 3.56% mpd5{mpd5} 12 root -92 - 0K 592K WAIT 0 4:44 2.88% intr{irq258: igb0:que} 12 root -92 - 0K 592K WAIT 6 4:26 2.69% intr{irq265: igb1:que} 12 root -92 - 0K 592K WAIT 4 4:45 2.49% intr{irq263: igb1:que} 12 root -92 - 0K 592K WAIT 2 4:34 2.49% intr{irq260: igb0:que} 12 root -92 - 0K 592K CPU1 1 4:18 2.49% intr{irq259: igb0:que} 12 root -92 - 0K 592K WAIT 7 4:02 2.49% intr{irq266: igb1:que} 12 root -92 - 0K 592K WAIT 5 4:22 2.39% intr{irq264: igb1:que} 12 root -92 - 0K 592K WAIT 3 4:04 2.39% intr{irq261: igb0:que} sysctl net.isr net.isr.numthreads: 8 net.isr.maxprot: 16 net.isr.defaultqlimit: 4096 net.isr.maxqlimit: 10240 net.isr.bindthreads: 1 net.isr.maxthreads: 8 net.isr.direct: 0 net.isr.direct_force: 0 net.isr.dispatch: deferred Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted November 2, 2015 · Report post Я всё думал о роли gre в моем pptp трафике и должна ли интеловская сетевушка разбрасывать этот трафик по очередям; думал, не начать ли использовать l2tp (соответсвующий бандл настроен и запущен вместе с pptp на всех брасах). Пришел к выводу, что разницы особой быть не должно Не надо думать, нужно читать про RSS тут или в датащите на чип сетевухи, это ближе к реальности, интеловцы лучше знают как их железо работает. Только биндить наверное в моем случае не стоит: кол-во очередей карты равно у меня кол-ву ядер. Все верно? Нет, не верно. Биндить стоит всегда, когда обработчиков меньше или столько же как и ядер на которых они крутятся. Не биндить лучше тогда когда у тебя пачка обработчиков (больше чем ядер проца) и они рандомно периодически нагружаются, это нужно для автобалансинга нагрузки по ядрам, потому что легко может случится что более одного обработчика привязанных к одному ядру будут пахать, а остальные ядра будут простаивать. Это такой вариант хреновой балансировки нагрузки, когда этим занимается планировщик потоков ОС, потому что больше не кому, и это стоит опред % потерь производительности, сколько именно зависит от настроек ОС и характера работы. Классический пример: херова гора PHP воркеров. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Sincha Posted November 3, 2015 · Report post Ivan_83 т.е. для браса отдавая все ресурсы, кол-во тредов=кол-ву процессоров + биндить. Как выше. Что же у меня 4 треда получилось? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted November 4, 2015 · Report post хз почему 4. Но то что 4 треда при 8 ядрах прибиндены скорее лучше, чем хуже. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...