Здравствуйте,
есть проблема со шлюзом
4х ядерник Xeon, 2Gb, KernelNat, ipfw (порядка 3000 правил), ipfw pipe (4500), сетевухи intel em.
FreeBSD 7.0-STABLEзагрузка сети от 30 до 60 Мбит/с.
load averages в нормальное время около 0.5, ничего не лагает.между 20:00 и 23:00 load average подпрыгивает до 5 и теряется до 5% пакетов,
при том что заметного прироста трафика нет.
пинг увеличивается с 1 мс до 10.плохой трафик режу.
из подправленного
net.inet.tcp.sendspace: 131070
net.inet.tcp.recvspace: 131070
kern.ipc.somaxconn: 10240
net.inet.udp.blackhole: 1
net.inet.ip.redirect: 0
net.inet.ip.fw.one_pass: 0
kern.polling.enable: 0
net.inet.ip.fw.verbose: 0
net.inet.ip.fastforwarding: 1
net.inet.tcp.delayed_ack: 0
net.inet.tcp.keepidle: 14400
net.inet.tcp.keepintvl: 150
net.inet.ip.dummynet.hash_size: 16384
net.inet.ip.portrange.first: 1024
dev.em.1.rx_int_delay: 500
dev.em.1.tx_int_delay: 500
dev.em.0.tx_int_delay: 500
dev.em.0.rx_int_delay: 500
net.inet.ip.dummynet.io_fast: 0
net.inet.icmp.icmplim: 500
net.inet.ip.intr_queue_maxlen: 250при поллинге с HZ=200
пинг подскакивает до 200 :(gate# netstat -i
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
em0 1500 <Link#1> 00:15:17:18:xx:xx 3207969494 157796 3098335583 0 0
em1 1500 <Link#2> 00:15:17:18:xx:xx 3479705028 279743 3468139598 0 0в чем может быть проблема и в какую сторону смотреть?
На внуртеннем интерфейсе у Вас часом не /24 или более? похоже бродкасты от трипаков забивают интерфейс нахрен.
>На внуртеннем интерфейсе у Вас часом не /24 или более? похоже бродкасты
>от трипаков забивают интерфейс нахрен.да но, на внутреннем интерфейсе подключено через гигабитный свитч десять машин (а вот машинки на 100 мегабитах сидят), и на каждой из десяти по 3 сегмента уже с клиентами, рулится все по ospf. бродкасты не проходят, да и всё левое я режу.
00100 11 6696 reject tcp from any to any not established tcpflags fin
00100 0 0 reject tcp from any to any tcpflags syn,fin,ack,psh,rst,urg
00100 24 960 reject tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
00101 0 0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00102 0 0 deny ip from any to any MAC any ff:ff:ff:ff:ff:ff
00102 0 0 deny ip from any to any MAC ff:ff:ff:ff:ff:ff any
00103 0 0 deny ip from 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8 to any in via em0
00103 0 0 deny ip from any to 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8 in via em0
00105 123513 12832352 deny log logamount 100 ip from any to any not verrevpath in
00106 172685 7169377 deny log tcp from any to any tcpoptions !mss setupуже даже не знаю что и думать, ничего не помогает.
пойдем другим путем:что говорит ystat -vmstat, top в миковой загрузке? tcpdump на внутренний интерфейс?
>пойдем другим путем:
>
>что говорит ystat -vmstat, top в миковой загрузке? tcpdump на внутренний интерфейс?
>top:
last pid: 67989; load averages: 1.05, 1.07, 1.12 up 7+09:49:59 22:19:00
27 processes: 1 running, 26 sleeping
CPU states: 0.0% user, 0.0% nice, 36.4% system, 0.0% interrupt, 63.6% idle
Mem: 40M Active, 2076M Inact, 269M Wired, 86M Cache, 112M Buf, 25M Free
Swap: 8102M Total, 8102M Freegate# vmstat
procs memory page disk faults cpu
r b w avm fre flt re pi po fr sr ad6 in sy cs us sy id
1 0 1 90956 112436 117 0 0 0 455 6 0 6450 526 1805 1 22 77
gate# vmstat -if
407574 forks, 69308022 pages, average 170.05
59948 vforks, 9636374 pages, average 160.75
0 rforks, 0 pages, average 0.00
interrupt total rate
irq1: atkbd0 8250 0
irq3: sio1 2 0
irq4: sio0 2 0
irq14: ata0 69 0
irq20: atapci1 166320405 259
irq23: uhci0 uhci+ 1 0
cpu0: timer 256139229 399
irq256: em0 2060481320 3217
irq257: em1 1903100038 2971
cpu1: timer 2 0
cpu2: timer 256139193 399
cpu3: timer 1 0
Total 4642188512 7249
gate# systat -v 1
1 users Load 0.97 1.20 1.17 Aug 28 22:23Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER
Tot Share Tot Share Free in out in out
Act 24088 6660 96700 10008 110584 count
All 205208 7840 2234356 12772 pages
Proc: Interrupts
r p d s w Csw Trp Sys Int Sof Flt cow 14428 total
28 66k 17 105k 12k 13k 10 8 zfod atkbd0 1
ozfod sio1 irq3
33.3%Sys 0.0%Intr 3.7%User 0.0%Nice 63.0%Idle %ozfod sio0 irq4
| | | | | | | | | | | daefr ata0 irq14
=================>> prcfr atapci1 20
9 dtbuf totfr uhci0 uhci
Namei Name-cache Dir-cache 100000 desvn react 801 cpu0: time
Calls hits % hits % 86763 numvn pdwak 6232 em0 irq256
10 10 100 20427 frevn pdpgs 6596 em1 irq257
intrn cpu1: time
Disks ad6 275804 wire 799 cpu2: time
KB/t 0.00 42832 act cpu3: time
tps 0 2126832 inact
MB/s 0.00 87772 cache
%busy 0 22812 freeпри этом пинг с другой машинки через эту проходит примерно так:
user-1-100:/Users/lin root# ping -i 0.2 test.local
PING test.local (xxx.xxx.xxx.xxx): 56 data bytes
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=0 ttl=62 time=15.799 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=62 time=1.879 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=3 ttl=62 time=4.076 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=4 ttl=62 time=22.882 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=5 ttl=62 time=5.105 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=6 ttl=62 time=14.636 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=7 ttl=62 time=9.781 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=8 ttl=62 time=10.859 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=9 ttl=62 time=3.628 ms
<skiped>
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=24 ttl=62 time=27.714 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=25 ttl=62 time=4.966 ms
^C
--- test.local ping statistics ---
26 packets transmitted, 25 packets received, 3% packet loss
round-trip min/avg/max/stddev = 1.017/7.853/27.714/6.786 ms
>irq256: em0
> 2060481320
> 3217
>irq257: em1
> 1903100038
> 2971
>Total
>
> 4642188512 7249У тебя прерывания на сетевухе все затыкают.
Случайно не Intel Desktop Gigabit сетевухи? У меня похожее после смены на одном гейте сетевух на сервер адаптер помогло, на втором - на риалтеки (sic!!) с поллингом.
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/net/2005-10/...
вот, достаточно старая статья, мне помогла правда.http://forum.sysfaq.ru/index.php?s=a6e260cde73348b253d0ff72f... - вот еще похожая шняга...
>У тебя прерывания на сетевухе все затыкают.
>
>Случайно не Intel Desktop Gigabit сетевухи? У меня похожее после смены на
>одном гейте сетевух на сервер адаптер помогло, на втором - на
>риалтеки (sic!!) с поллингом.
>
>http://unix.derkeiler.com/Mailing-Lists/FreeBSD/net/2005-10/...
>вот, достаточно старая статья, мне помогла правда.
>
>http://forum.sysfaq.ru/index.php?s=a6e260cde73348b253d0ff72f... - вот еще похожая шняга...dmesg что касаемо сетевух -
Aug 29 07:48:56 gate kernel: em0: <Intel(R) PRO/1000 Network Connection 6.9.5> port 0x2020-0x203f mem 0xb8820000-0xb883ffff,0xb8400000-0xb87fffff irq 18 at device 0.0 on pci5
Aug 29 07:48:56 gate kernel: em0: Using MSI interrupt
Aug 29 07:48:56 gate kernel: em0: [FILTER]
Aug 29 07:48:56 gate kernel: em1: <Intel(R) PRO/1000 Network Connection 6.9.5> port 0x2000-0x201f mem 0xb8800000-0xb881ffff,0xb8000000-0xb83fffff irq 19 at device 0.1 on pci5
Aug 29 07:48:56 gate kernel: em1: Using MSI interrupt
Aug 29 07:48:56 gate kernel: em1: [FILTER]спасибо за ссылочки - буду копать :)
>[оверквотинг удален]
>
>dmesg что касаемо сетевух -
>Aug 29 07:48:56 gate kernel: em0: <Intel(R) PRO/1000 Network Connection 6.9.5> port 0x2020-0x203f mem 0xb8820000-0xb883ffff,0xb8400000-0xb87fffff irq 18 at device 0.0 on pci5
>Aug 29 07:48:56 gate kernel: em0: Using MSI interrupt
>Aug 29 07:48:56 gate kernel: em0: [FILTER]
>Aug 29 07:48:56 gate kernel: em1: <Intel(R) PRO/1000 Network Connection 6.9.5> port 0x2000-0x201f mem 0xb8800000-0xb881ffff,0xb8000000-0xb83fffff irq 19 at device 0.1 on pci5
>Aug 29 07:48:56 gate kernel: em1: Using MSI interrupt
>Aug 29 07:48:56 gate kernel: em1: [FILTER]
>
>спасибо за ссылочки - буду копать :)Отпишись, как дела продвигаются.
ЗЫ: а попробуй еще потыкать сетевухи по разным слотам...
>Отпишись, как дела продвигаются.
>
>ЗЫ: а попробуй еще потыкать сетевухи по разным слотам...Попробовал, посмотрел... но не все удачно.
Да, при поллинге и при HZ=10000 более менее стабильно пакеты проходят через шлюз, но при тойже нагрузке и при поллинге и без ситуация та же - пакеты теряются.
2 ядра стабильно под 100% нагрузке на прирывания, всё остальное грузит kernel nat и natd.
Загрузка всех процов под 100%.
У меня есть подозрение на nat, попробую его покопать.Спасибо за советы.
>пойдем другим путем:
>
>что говорит ystat -vmstat, top в миковой загрузке? tcpdump на внутренний интерфейс?
>мне очень сильно кажется что пакеты теряются где то в районе kernelNat,
до этого стоял natd проблемы были теже, разве что пинг был больше...
>[оверквотинг удален]
>Name Mtu Network
>Address
> Ipkts
> Ierrs
> Opkts
> Oerrs Coll
>em0 1500 <Link#1> 00:15:17:18:xx:xx 3207969494 157796 3098335583 0 0
>em1 1500 <Link#2> 00:15:17:18:xx:xx 3479705028 279743 3468139598 0 0
>
>в чем может быть проблема и в какую сторону смотреть?"
1. Ваш вопрос должен соответствовать форуму в котором он задается (вопросы по программированию, CGI, HTML, apache и squid не нужно задавать в основной форум, для этого созданы специализированные форумы).
2. Попытайтесь найти ответ самостоятельно с помощью подсистемы поиска и базы ключевых слов, как правило ответы на 70% задаваемых вопросов можно получить введя ключевое слово в строку поиска в шапке навигации.
3. Научитесь правильно задавать вопросы, на безграмотный, расплывчатый и не информативный вопрос вы никогда не получите исчерпывающий ответ. Опишите проблему как можно подробнее, не заставляйте по несколько раз переспрашивать. Не поленитесь, прочитайте рекомендации для спрашивающих, правила и советы по работе с форумом.
4. Кратко сформулируйте вопрос в заголовке (теме) сообщения, не пишите общих и бессодержательных фраз в поле темы;
5. Бессодержательные ответы ("up", "что никто не знает ?" и т.д.) для поднятия темы, удаляются вместе с темой;
"
помоему тут ясно написано, сообщение явно написано не тот форум...
Слушай, блин, чеснок, свали... а...