Graffic Posted September 19, 2012 Здравствуйте, уважаемые. У меня следующая проблема - Каждый вечер, примерно с 19:00 до 22:00 (плюс минус час), наблюдаются непонятные мне проблемы на сервере (стоит IPFW и NAT): Наблюдается следующее (errs доходит до ~4000, от трафика не зависит, т.е. может забарахлить и при 70Mbit и при 250Mbit) #netstat -w1 -Ibce1 input (bce1) output packets errs idrops bytes packets errs bytes colls 25938 1011 0 30064135 19783 0 5004140 0 26340 379 0 30681837 19571 0 4877502 0 26661 272 0 30914678 19537 0 5014774 0 26508 484 0 30778055 19490 0 4773846 0 26366 491 0 30656848 19823 0 4910134 0 25020 822 0 28713001 18898 0 4914730 0 25467 401 0 29245025 18948 0 4843918 0 26633 250 0 30583988 20073 0 5702013 0 26994 399 0 31188130 19531 0 4807081 0 26285 553 0 30150479 19674 0 5325751 0 26166 681 0 30248997 19082 0 5137898 0 25376 341 0 28955230 18909 0 5047044 0 24837 827 0 28453703 19012 0 5665288 0 25105 386 0 29033980 18478 0 4918886 0 # top -SH last pid: 99229; load averages: 0.45, 0.52, 0.54 118 processes: 6 running, 88 sleeping, 24 waiting CPU: 0.5% user, 0.0% nice, 18.4% system, 26.6% interrupt, 54.6% idle Mem: 29M Active, 21M Inact, 217M Wired, 72K Cache, 112M Buf, 3226M Free Swap: 8192M Total, 8192M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 171 ki31 0K 32K RUN 0 581:24 96.24% {idle: cpu0} 12 root -68 - 0K 200K CPU1 1 163:46 84.72% {irq258: bce1} 11 root 171 ki31 0K 32K CPU3 3 734:41 81.40% {idle: cpu3} 0 root -68 0 0K 56K - 2 171:30 75.68% {dummynet} 11 root 171 ki31 0K 32K CPU2 2 500:14 31.20% {idle: cpu2} 12 root -68 - 0K 200K WAIT 3 75:09 20.56% {irq260: bce3} 11 root 171 ki31 0K 32K RUN 1 638:17 15.23% {idle: cpu1} 1454 root 44 0 20460K 13760K ucond 3 8:47 1.07% {fprobe} 12 root -68 - 0K 200K WAIT 0 0:37 0.10% {irq257: bce0} 23 root 45 - 0K 8K flowcl 3 9:08 0.05% flowcleaner 1454 root 44 0 20460K 13760K bpf 0 4:02 0.05% {fprobe} 12 root -44 - 0K 200K WAIT 0 376:28 0.00% {swi1: netisr 0} 12 root -32 - 0K 200K WAIT 0 6:01 0.00% {swi4: clock} Потери доходят до 10-15%, появляется большая задержка, практически не загружается онлайн-видео. Проблема появляется также неожиданно, как и пропадает. Иногда бывают "выходные", пару дней работает нормально, а потом опять ****. Прежде чем задавать этот вопрос, на протяжении пары месяцев, я беспощадно мучил доки и ддосил гугл, но ответа так и не нашел, возможно в силу своей не компетенции. Прошу подсказать мне в какую сторону копать, опыта работы у меня мало, прошу относиться с пониманием. Спасибо. PS Незнаю какую информацию показать, запрашивайте - выложу. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
roysbike Posted September 20, 2012 (edited) Покажите top -SHP . Да и попробуйте PF nat может не много поможет. И выкиньте свои сетевые карты. Купите Intel 1000 на чипе 82576 Dual port vpn122# cat /etc/pf.conf ext_if="igb1" int_if="igb0" set limit states 1600000 set optimization aggressive set skip on lo0 set skip on em0 #scrub in all nat on $ext_if from 172.16.0.0/16 to any -> 87.245.203.Х pass in on $int_if from 172.16.0.0/16 to any pass out on $ext_if from $ext_if to any Edited September 20, 2012 by roysbike Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted September 20, 2012 vmstat -z для размышлений и поиск по форуму, уже неоднократно поднималось. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Hawk128 Posted September 20, 2012 dummynet прибить к одному ядру. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Graffic Posted September 20, 2012 Покажите top -SHP . Да и попробуйте PF nat может не много поможет. И выкиньте свои сетевые карты. Купите Intel 1000 на чипе 82576 Dual port vpn122# cat /etc/pf.conf ext_if="igb1" int_if="igb0" set limit states 1600000 set optimization aggressive set skip on lo0 set skip on em0 #scrub in all nat on $ext_if from 172.16.0.0/16 to any -> 87.245.203.Х pass in on $int_if from 172.16.0.0/16 to any pass out on $ext_if from $ext_if to any top -SHP last pid: 63916; load averages: 1.22, 1.32, 1.36 up 0+14:05:41 18:50:33 112 processes: 9 running, 84 sleeping, 19 waiting CPU 0: 0.0% user, 0.0% nice, 0.5% system, 72.5% interrupt, 27.0% idle CPU 1: 0.5% user, 0.0% nice, 0.5% system, 36.5% interrupt, 62.4% idle CPU 2: 1.1% user, 0.0% nice, 6.9% system, 0.0% interrupt, 92.1% idle CPU 3: 0.0% user, 0.0% nice, 65.1% system, 0.0% interrupt, 34.9% idle Mem: 28M Active, 89M Inact, 279M Wired, 236K Cache, 416M Buf, 3536M Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0K 64K RUN 2 789:52 95.56% idle{idle: cpu2} 12 root -92 - 0K 352K CPU1 0 346:12 87.35% intr{irq258: bce1} 11 root 155 ki31 0K 64K RUN 3 644:49 74.37% idle{idle: cpu3} 11 root 155 ki31 0K 64K RUN 1 720:57 71.48% idle{idle: cpu1} 0 root -92 0 0K 160K CPU3 3 241:51 40.97% kernel{dummynet} 11 root 155 ki31 0K 64K RUN 0 493:36 24.76% idle{idle: cpu0} 12 root -92 - 0K 352K CPU0 0 108:54 17.87% intr{irq260: bce3} 12 root -60 - 0K 352K RUN 0 4:17 4.39% intr{swi4: clock} 0 root -16 0 0K 160K sched 0 2:52 0.00% kernel{swapper} vmstat -z для размышлений и поиск по форуму, уже неоднократно поднималось. # vmstat -z ITEM SIZE LIMIT USED FREE REQ FAIL SLEEP UMA Kegs: 208, 0, 86, 16, 86, 0, 0 UMA Zones: 896, 0, 86, 2, 86, 0, 0 UMA Slabs: 568, 0, 1519, 7, 4712, 0, 0 UMA RCntSlabs: 568, 0, 4490, 4, 4490, 0, 0 UMA Hash: 256, 0, 2, 13, 3, 0, 0 16 Bucket: 152, 0, 138, 12, 138, 0, 0 32 Bucket: 280, 0, 159, 9, 159, 1, 0 64 Bucket: 536, 0, 138, 2, 138, 58, 0 128 Bucket: 1048, 0, 1757, 1, 1757,3242, 0 VM OBJECT: 216, 0, 3653, 16183,12345485, 0, 0 MAP: 232, 0, 7, 25, 7, 0, 0 KMAP ENTRY: 120, 150505, 51, 476, 12173, 0, 0 MAP ENTRY: 120, 0, 1008, 3115,22619494, 0, 0 fakepg: 120, 0, 0, 0, 0, 0, 0 mt_zone: 4112, 0, 307, 4, 307, 0, 0 16: 16, 0, 2157, 867, 1515428, 0, 0 32: 32, 0, 2716, 819, 2079409, 0, 0 64: 64, 0, 5657, 31359, 2850894, 0, 0 128: 128, 0, 306592, 1852,46392769, 0, 0 256: 256, 0, 4163, 20272,1326770220, 0, 0 512: 512, 0, 5151, 12496,45153080, 0, 0 1024: 1024, 0, 66, 230, 261146, 0, 0 2048: 2048, 0, 87, 181, 36043, 0, 0 4096: 4096, 0, 411, 377, 693065, 0, 0 Files: 80, 0, 93, 447, 3292427, 0, 0 TURNSTILE: 136, 0, 373, 87, 373, 0, 0 umtx pi: 96, 0, 0, 0, 0, 0, 0 MAC labels: 40, 0, 0, 0, 0, 0, 0 PROC: 1160, 0, 52, 191, 663156, 0, 0 THREAD: 1112, 0, 301, 71, 377, 0, 0 SLEEPQUEUE: 80, 0, 373, 120, 373, 0, 0 VMSPACE: 392, 0, 34, 196, 665526, 0, 0 cpuset: 72, 0, 2, 98, 2, 0, 0 audit_record: 960, 0, 0, 0, 0, 0, 0 mbuf_packet: 256, 0, 6500, 2076,2048977559, 0, 0 mbuf: 256, 0, 1580, 2144,3961775327, 0, 0 mbuf_cluster: 2048, 25600, 8576, 134, 13779, 0, 0 mbuf_jumbo_page: 4096, 12800, 0, 135, 20284, 0, 0 mbuf_jumbo_9k: 9216, 6400, 0, 0, 0, 0, 0 mbuf_jumbo_16k: 16384, 3200, 0, 0, 0, 0, 0 mbuf_ext_refcnt: 4, 0, 0, 0, 0, 0, 0 g_bio: 232, 0, 0, 3344, 1517680, 0, 0 ttyinq: 160, 0, 180, 228, 855, 0, 0 ttyoutq: 256, 0, 95, 160, 450, 0, 0 ata_request: 328, 0, 0, 0, 0, 0, 0 ata_composite: 336, 0, 0, 0, 0, 0, 0 VNODE: 480, 0, 4381, 16027, 56762, 0, 0 VNODEPOLL: 112, 0, 0, 132, 3, 0, 0 NAMEI: 1024, 0, 0, 112, 7387787, 0, 0 S VFS Cache: 108, 0, 4541, 15853, 120796, 0, 0 L VFS Cache: 328, 0, 20, 652, 1258, 0, 0 DIRHASH: 1024, 0, 174, 178, 522, 0, 0 NCLNODE: 560, 0, 0, 0, 0, 0, 0 Mountpoints: 768, 0, 2, 13, 2, 0, 0 pipe: 728, 0, 1, 124, 426228, 0, 0 ksiginfo: 112, 0, 232, 824, 5701, 0, 0 itimer: 344, 0, 0, 0, 0, 0, 0 KNOTE: 128, 0, 0, 319, 69056, 0, 0 socket: 680, 25602, 30, 150, 299691, 0, 0 ipq: 56, 819, 0, 315, 1149, 0, 0 udp_inpcb: 392, 25600, 10, 120, 51691, 0, 0 udpcb: 16, 25704, 10, 662, 51691, 0, 0 tcp_inpcb: 392, 25600, 206, 144, 183544, 0, 0 tcpcb: 976, 25600, 9, 103, 183544, 0, 0 tcptw: 72, 5150, 197, 403, 162649, 0, 0 syncache: 152, 15375, 0, 175, 168167, 0, 0 hostcache: 136, 15372, 2, 82, 34, 0, 0 tcpreass: 40, 1680, 0, 504, 1078, 0, 0 sackhole: 32, 0, 0, 303, 5, 0, 0 sctp_ep: 1368, 25600, 0, 0, 0, 0, 0 sctp_asoc: 2280, 40000, 0, 0, 0, 0, 0 sctp_laddr: 48, 80064, 0, 216, 18, 0, 0 sctp_raddr: 704, 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: 112, 400026, 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, 25600, 1, 49, 2640, 0, 0 unpcb: 240, 25600, 10, 182, 61810, 0, 0 rtentry: 200, 0, 50, 26, 53, 0, 0 IPFW dynamic rule: 120, 0, 1467, 858, 6214643, 0, 0 divcb: 392, 25600, 0, 0, 0, 0, 0 selfd: 56, 0, 358, 776, 6041213, 0, 0 SWAPMETA: 288, 116519, 0, 0, 0, 0, 0 FFS inode: 168, 0, 4339, 15791, 56708, 0, 0 FFS1 dinode: 128, 0, 0, 0, 0, 0, 0 FFS2 dinode: 256, 0, 4339, 15941, 56708, 0, 0 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Graffic Posted July 29, 2014 Вообщем больше года боролся с этой проблемой. Менял сетевые на Intel 1000 82576 Dual port, ставил второй процессор, ковырял виланы, настраивал sysctl... Много чего перепробывал, и безрезультатно, процессор переодически ложился без каких-либо видимых причин. Реально помог только переход на pf nat. Трафик ~700 Мбит, проц нагружен под 70%. Уже пол года полет нормальный. Если у кого похожая проблема, первым делом меняйте нат. Да и попробуйте PF nat может не много поможет. И выкиньте свои сетевые карты. Купите Intel 1000 на чипе 82576 Dual port Нужно было сразу послушать. Всем спасибо за советы :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted July 29, 2014 Что за бред? У Вас ошибки на инпут, каким боком там нат вылез? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
terrible Posted July 29, 2014 Как был организован IPFW NAT, что у вас ошибки вылезали? Как были тюнингованы сетевухи интел? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted July 29, 2014 Да похер на тюнинг - если "я понменял нат и на внутреннем интерфейсе пропали ошибки" (я не ошибаюсь, на том что в сеть смотрит?) - то тут с логикой что-то да не то. Ну или я ооочень дурак, и не понимаю, каким боком тут нат... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted July 31, 2014 Да запросто, инпут еррорс могут означать что очереди переполнены на интерфейсе (то место где они из драйвера в стёк уходят). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...