URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 17038
[ Назад ]

Исходное сообщение
"шлюз freeBSD и лаги..."

Отправлено Dmitry , 28-Авг-08 15:20 
Здравствуйте,
есть проблема со шлюзом
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

в чем может быть проблема и в какую сторону смотреть?


Содержание

Сообщения в этом обсуждении
"шлюз freeBSD и лаги..."
Отправлено mr_gfd , 28-Авг-08 16:06 
На внуртеннем интерфейсе у Вас часом не /24 или более? похоже бродкасты от трипаков забивают интерфейс нахрен.

"шлюз freeBSD и лаги..."
Отправлено Dmitry , 28-Авг-08 16:12 
>На внуртеннем интерфейсе у Вас часом не /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

уже даже не знаю что и думать, ничего не помогает.


"шлюз freeBSD и лаги..."
Отправлено mr_gfd , 28-Авг-08 16:49 
пойдем другим путем:

что говорит ystat -vmstat, top в миковой загрузке? tcpdump на внутренний интерфейс?


"шлюз freeBSD и лаги..."
Отправлено Dmitry , 28-Авг-08 22:32 
>пойдем другим путем:
>
>что говорит 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 Free

gate# 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:23

Mem: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


"шлюз freeBSD и лаги..."
Отправлено mr_gfd , 29-Авг-08 12:06 
>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... - вот еще похожая шняга...


"шлюз freeBSD и лаги..."
Отправлено Dmitry , 29-Авг-08 12:39 
>У тебя прерывания на сетевухе все затыкают.
>
>Случайно не 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]

спасибо за ссылочки - буду копать :)


"шлюз freeBSD и лаги..."
Отправлено mr_gfd , 29-Авг-08 12:41 
>[оверквотинг удален]
>
>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]
>
>спасибо за ссылочки - буду копать :)

Отпишись, как дела продвигаются.

ЗЫ: а попробуй еще потыкать сетевухи по разным слотам...


"шлюз freeBSD и лаги..."
Отправлено lin , 03-Сен-08 13:11 
>Отпишись, как дела продвигаются.
>
>ЗЫ: а попробуй еще потыкать сетевухи по разным слотам...

Попробовал, посмотрел... но не все удачно.

Да, при поллинге и при HZ=10000 более менее стабильно пакеты проходят через шлюз, но при тойже нагрузке и при поллинге и без ситуация та же - пакеты теряются.
2 ядра стабильно под 100% нагрузке на прирывания, всё остальное грузит kernel nat и natd.
Загрузка всех процов под 100%.
У меня есть подозрение на nat, попробую его покопать.

Спасибо за советы.


"шлюз freeBSD и лаги..."
Отправлено Dmitry , 28-Авг-08 22:51 
>пойдем другим путем:
>
>что говорит ystat -vmstat, top в миковой загрузке? tcpdump на внутренний интерфейс?
>

мне очень сильно кажется что пакеты теряются где то в районе kernelNat,
до этого стоял natd проблемы были теже, разве что пинг был больше...


"шлюз freeBSD и лаги..."
Отправлено chesnok , 02-Сен-08 15:17 
>[оверквотинг удален]
>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", "что никто не знает ?" и т.д.) для поднятия темы, удаляются вместе с темой;
"
помоему тут ясно написано, сообщение явно написано не тот форум...


"шлюз freeBSD и лаги..."
Отправлено lin , 03-Сен-08 13:06 

Слушай, блин, чеснок, свали... а...