Перейти до

проблемы. шлюз. фрибсд.


Рекомендованные сообщения

Это ужас какой-то....

 

Купили новый сервер 2 месяца назад. Вот конфа:

Мать - Intel S5000VSA4DIMM

CPU - 2xXeon 5130 (2Ghz)

RAM - 2x2GB FBDIMM

HDD - 2x250GB SATAII

 

Все было просто прекрасно. Но недельку назад начал дохнуть по чуть-чуть сервер.

Сначала начался небольшой(1%) пакетлост на него пакетами 32 байт

Через 3-4 дня это уже было 5%. Со всех сетевых интерфейсов.

Заметели что такие проблемы как правило вчасы пик. Трафик до 200Мбит .... частично нат, частично роутинг. pps - 7000-10000 на интерфейс.

Иногда это не пакетлост а просто вот такой пинг:
Ответ от 10.10.10.1: число байт=32 время=5мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=11мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=11мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=13мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=18мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=17мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=14мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=14мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=9мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=4мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=32мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=27мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=13мс TTL=64
Ответ от 10.10.10.1: число байт=32 время=11мс TTL=64

В то время как когда все нормально пинг меньше 1мс

 

в это же время по топу:

last pid: 14035;  load averages:  1.41,  1.28,  1.16                                                                                  up 0+01:08:51  23:54:27
107 processes: 7 running, 88 sleeping, 12 waiting
CPU states:  1.5% user,  0.0% nice,  2.8% system, 35.7% interrupt, 59.9% idle
Mem: 592M Active, 798M Inact, 152M Wired, 12K Cache, 112M Buf, 962M Free
Swap: 4096M Total, 4096M Free

 PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  14 root        1 -44 -163     0K     8K CPU2   3  53:41 94.43% swi1: net
  13 root        1 171   52     0K     8K RUN    0  39:27 69.78% idle: cpu0
  10 root        1 171   52     0K     8K RUN    3  49:54 56.64% idle: cpu3
  12 root        1 171   52     0K     8K CPU1   1  34:49 55.57% idle: cpu1
  11 root        1 171   52     0K     8K RUN    2  50:19 53.81% idle: cpu2
  15 root        1 -32 -151     0K     8K CPU0   3  22:01 29.88% swi4: clock
  23 root        1 -68 -187     0K     8K WAIT   1   6:42 10.74% irq19: em1
  22 root        1 -68 -187     0K     8K WAIT   0   3:55  5.52% irq18: em0
6322 root        1   8  -15   419M   418M nanslp 1   2:32  2.83% perl5.8.8
14035 root        1   4    0  3524K  3108K sbwait 3   0:00  1.00% sshd
5407 root        8  20  -15   110M   109M kserel 0   5:55  0.00% ipcad
5401 mysql       9  20    0 58288K 30528K kserel 1   1:38  0.00% mysqld
5206 bind        1  96    0 12536K 11700K select 2   0:17  0.00% named
  17 root        1 -16    0     0K     8K -      1   0:10  0.00% yarrow
5421 root        1  96    0  3524K  2724K select 2   0:04  0.00% sshd
  31 root        1 171   52     0K     8K pgzero 1   0:02  0.00% pagezero
  26 root        1 -64 -183     0K     8K WAIT   2   0:02  0.00% irq20: atapci1
  19 root        1 -24 -143     0K     8K WAIT   2   0:01  0.00% swi6: task queue

 

systat -v 1

 

   1 users    Load  1.75  1.39  1.21                  Nov 19 23:55

Mem:KB    REAL            VIRTUAL                     VN PAGER  SWAP PAGER
       Tot   Share      Tot    Share    Free         in  out     in  out
Act  619244    9400   685588    10968  982124 count
All 1580176   12264247401588    14364         pages
                                                                Interrupts
Proc:r  p  d  s  w    Csw  Trp  Sys  Int  Sof  Flt     93 cow   22367 total
          1 67  1  42288 10561706747453   12  240 155232 wire   6655 18: em0
                                                  606728 act    7688 19: em1
1.3%Sys  36.1%Intr  1.5%User  0.0%Nice 61.1%Idl   820348 inact       20: ata
|    |    |    |    |    |    |    |    |    |         12 cache  2006 cpu0: time
=++++++++++++++++++                                982112 free   2006 cpu1: time
                                                         daefr  2006 cpu2: time
Namei         Name-cache    Dir-cache                 162 prcfr  2006 cpu3: time
   Calls     hits    %     hits    %                     react
     290      290  100                                   pdwake
                                      86 zfod            pdpgs
Disks   ad4   ad6   ar0                85 ozfod           intrn
KB/t   0.00  0.00  0.00                98 %slo-z   114464 buf
tps       0     0     0               207 tfree       273 dirtybuf
MB/s   0.00  0.00  0.00                            100000 desiredvnodes
% busy    0     0     0                              2250 numvnodes
                                                    1049 freevnodes

systat -if 1

                   /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
    Load Average   |||||||

     Interface           Traffic               Peak                Total


       vlan200  in    346.185 KB/s          1.055 MB/s          332.167 MB
                out    14.351 KB/s         51.047 KB/s           25.251 MB

       vlan193  in     11.513 MB/s         13.457 MB/s            3.870 GB
                out     6.579 MB/s          8.161 MB/s            1.779 GB

       vlan191  in    432.495 KB/s        588.515 KB/s            1.505 GB
                out   522.547 KB/s        600.848 KB/s            2.909 GB

           lo0  in      0.000 KB/s          1.099 MB/s          184.367 MB
                out     0.000 KB/s          1.099 MB/s          184.367 MB

           em1  in     11.427 MB/s         13.636 MB/s          781.676 MB
                out    16.168 MB/s         18.515 MB/s            1.010 GB

           em0  in     12.324 MB/s         14.519 MB/s            1.941 GB
                out     7.150 MB/s          8.728 MB/s          981.666 MB

В файрволе 200-300 правил+шейпер на 350-400 правил

 

gw# uname -a
FreeBSD 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Wed Sep 26 22:30:43 UTC 2007     root@:/usr/src/sys/i386/compile/MY2  i386

 

а это вообще гониво:

gw# ping localhost
PING localhost.lan.com.ua (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=30.241 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=33.089 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=39.496 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=27.866 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=20.460 ms
^C
--- localhost.lan.com.ua ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 20.460/30.230/39.496/6.246 ms

systat -ip 1


                   /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
    Load Average   |||||||||

         IP Input                           IP Output
   26802 total packets received       14981 total packets sent
       0 - with bad checksums           135 - generated locally
       0 - too short for header           0 - output drops
       0 - too short for data             0 output fragments generated
       0 - with invalid hlen              0 - fragmentation failed
       0 - with invalid length            0 destinations unreachable
       0 - with invalid version           0 packets output via raw IP
       0 - jumbograms
       0 total fragments received           UDP Statistics
       0 - fragments dropped             27 total input packets
       0 - fragments timed out            0 - too short for header
       0 - packets reassembled ok         0 - invalid checksum
   14846 packets forwarded                0 - no checksum
       2 - unreachable dests              0 - invalid length
      32 - redirects generated            6 - no socket for dest port
       0 option errors                    1 - no socket for broadcast
       0 unwanted multicasts              0 - socket buffer full
     106 delivered to upper layer        16 total output packets

 

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       options=b<RXCSUM,TXCSUM,VLAN_MTU>
       inet ***.***.***.*** netmask 0xffffffff broadcast ***.***.***.***
       ether 00:03:47:e3:37:0c
       media: Ethernet autoselect (1000baseTX <full-duplex>)
       status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       options=b<RXCSUM,TXCSUM,VLAN_MTU>
       inet 10.10.10.1 netmask 0xff000000 broadcast 10.255.255.255
       inet ***.***.***.*** netmask 0xffffffe0 broadcast ***.***.***.***
       inet ***.***.***.*** netmask 0xffffff80 broadcast ***.***.***.***
       inet ***.***.***.*** netmask 0xffffff00 broadcast ***.***.***.***
       ether 00:15:17:2a:6e:49
       media: Ethernet autoselect (1000baseTX <full-duplex>)
       status: active
pfsync0: flags=0<> mtu 2020
       syncpeer: 224.0.0.240 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
       inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
vlan191: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet ***.***.***.*** netmask 0xfffffffc broadcast ***.***.***.***
       ether 00:03:47:e3:37:0c
       media: Ethernet autoselect (1000baseTX <full-duplex>)
       status: active
       vlan: 191 parent interface: em0
vlan193: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet ***.***.***.*** netmask 0xfffffffc broadcast ***.***.***.***
       ether 00:03:47:e3:37:0c
       media: Ethernet autoselect (1000baseTX <full-duplex>)
       status: active
       vlan: 193 parent interface: em0
vlan200: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet ***.***.***.*** netmask 0xfffffffc broadcast ***.***.***.***
       ether 00:03:47:e3:37:0c
       media: Ethernet autoselect (1000baseTX <full-duplex>)
       status: active
       vlan: 200 parent interface: em0
vlan201: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       inet ***.***.***.*** netmask 0xfffffffc broadcast ***.***.***.***
       ether 00:15:17:2a:6e:49
       media: Ethernet autoselect (1000baseTX <full-duplex>)
       status: active
       vlan: 201 parent interface: em1

может кто сталкивался - хелп....

Заранее спасибо!

Ссылка на сообщение
Поделиться на других сайтах
Пересобери ядро под SMP, пересобери систему под свой CPU.

Оптимизируй фаервол в таблицы.

ядро и так SMP

подскажите как собрать под ксеон если его на freebsd.орг не пишут как поддерживаемый.

как оптимизировать в таблицы кучу правил вида:

40250 allow ip from 10.10.6.4 to any

40250 allow ip from any to 10.10.6.4

40256 allow ip from 10.10.2.2 to any

40256 allow ip from any to 10.10.2.2

40257 allow ip from 10.10.3.1 to table(2)

40257 allow ip from table(2) to 10.10.3.1

40259 allow ip from 10.10.27.6 to any

40259 allow ip from any to 10.10.27.6

40261 allow ip from 10.10.0.33 to any

40261 allow ip from any to 10.10.0.33

Ссылка на сообщение
Поделиться на других сайтах

40259 allow ip from 10.10.27.6 to any

40259 allow ip from any to 10.10.27.6

40261 allow ip from 10.10.0.33 to any

40261 allow ip from any to 10.10.0.33

 

Это тоже в таблицу.

Создавай таблицу table 3

allow ip from any to table(3)

allow ip from table(3) to any

Ссылка на сообщение
Поделиться на других сайтах
мир билдить будеш ключик -j пользуй в несколько потоков молотит.

 

make -j7 buildworld

 

Вродь негде не накосячил?

если не в лом тыкните линком или пару слов о том как это правильно сделать.

Ссылка на сообщение
Поделиться на других сайтах

проверьте конфиг ядра плиз:

machine i386

cpu I686_CPU

ident MY2

 

makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols

 

options SCHED_4BSD # 4BSD scheduler

options PREEMPTION # Enable kernel thread preemption

options INET # InterNETworking

options FFS # Berkeley Fast Filesystem

options SOFTUPDATES # Enable FFS soft updates support

options UFS_ACL # Support for access control lists

options UFS_DIRHASH # Improve performance on big directories

options MD_ROOT # MD is a potential root device

options CD9660 # ISO 9660 Filesystem

options PROCFS # Process filesystem (requires PSEUDOFS)

options PSEUDOFS # Pseudo-filesystem framework

options GEOM_GPT # GUID Partition Tables.

options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]

options COMPAT_FREEBSD4 # Compatible with FreeBSD4

options COMPAT_FREEBSD5 # Compatible with FreeBSD5

options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI

options KTRACE # ktrace(1) support

options SYSVSHM # SYSV-style shared memory

options SYSVMSG # SYSV-style message queues

options SYSVSEM # SYSV-style semaphores

options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions

options KBD_INSTALL_CDEV # install a CDEV entry in /dev

options ADAPTIVE_GIANT # Giant mutex is adaptive.

options IPFIREWALL

options IPFIREWALL_VERBOSE

options IPDIVERT

options IPFIREWALL_FORWARD

options DUMMYNET

options QUOTA

options DEVICE_POLLING

options HZ=1000

 

 

options SMP # Symmetric MultiProcessor Kernel

device apic # I/O APIC

device pci

 

# ATA and ATAPI devices

device ata

device atadisk # ATA disk drives

device ataraid # ATA RAID drives

device atapicd # ATAPI CDROM drives

device atapist # ATAPI tape drives

options ATA_STATIC_ID # Static device numbering

 

# atkbdc0 controls both the keyboard and the PS/2 mouse

device atkbdc # AT keyboard controller

device atkbd # AT keyboard

device psm # PS/2 mouse

 

device kbdmux # keyboard multiplexer

 

device vga # VGA video card driver

 

device splash # Splash screen and screen saver support

 

# syscons is the default console driver, resembling an SCO console

device sc

 

# Enable this for the pcvt (VT220 compatible) console driver

#device vt

#options XSERVER # support for X server on a vt console

#options FAT_CURSOR # start with block cursor

 

device agp # support several AGP chipsets

 

# Power management support (see NOTES for more options)

#device apm

# Add suspend/resume support for the i8254.

device pmtimer

 

device em # Intel PRO/1000 adapter Gigabit Ethernet Card

device rl #RL8139

device miibus # MII bus support

Ссылка на сообщение
Поделиться на других сайтах

Кстати поллинг часом не включен?

В ifconfig вижу что нет, но мало ли...может ifconfig делал когда был он офф... хз, потому и спросил...

У подобные симптомы с включенным поллингом+NAT

 

Кстати советую использовать ifstat :)

Ссылка на сообщение
Поделиться на других сайтах
Кстати поллинг часом не включен?

В ifconfig вижу что нет, но мало ли...может ifconfig делал когда был он офф... хз, потому и спросил...

У подобные симптомы с включенным поллингом+NAT

нет, выключен. С ним ещё больше задержки

 

кстати после 2 часов ночи все само сабой решилось (как и всегда) до завтрашнего обеда

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ответ от 10.10.10.1: число байт=32 время<1мс TTL=64

Ссылка на сообщение
Поделиться на других сайтах

поддерживаю насчет полинга,

так как "35.7% interrupt", а это много

 

включайте полинг и измените сенд и ресив буфера будет и задержка нормальной и нагрузка на камешек поменьше

Ссылка на сообщение
Поделиться на других сайтах
поддерживаю насчет полинга,

так как "35.7% interrupt", а это много

 

включайте полинг и измените сенд и ресив буфера будет и задержка нормальной и нагрузка на камешек поменьше

всегда считал что SMP и polling вмессте не должны работать.

 

Я поллингом тазик больше 100 Мбит не прокачивает.

 

Да и сейчас все отлично, а интерупты - 28%

Ссылка на сообщение
Поделиться на других сайтах
поддерживаю насчет полинга,

так как "35.7% interrupt", а это много

 

включайте полинг и измените сенд и ресив буфера будет и задержка нормальной и нагрузка на камешек поменьше

всегда считал что SMP и polling вмессте не должны работать.

 

Я поллингом тазик больше 100 Мбит не прокачивает.

 

Да и сейчас все отлично, а интерупты - 28%

работают (вкл через sysctl),

 

кстати - семерка отрелизилась Ж) можно ставить

 

700Mbit/s через тазик на роутинге - не проблема

с натом сложнее - прийдется юзать pf

 

P.S. а там случаем биллинг на bpf не живет где-нить ?

Ссылка на сообщение
Поделиться на других сайтах
работают (вкл через sysctl),

 

кстати - семерка отрелизилась Ж) можно ставить

 

700Mbit/s через тазик на роутинге - не проблема

с натом сложнее - прийдется юзать pf

 

P.S. а там случаем биллинг на bpf не живет где-нить ?

нет, nodeny.

 

вот вижу идет стабильно 150-180 мбит. Включаю поллинг - сразу 90-110 Мбит и никак выше. и пинг 20-30

Ссылка на сообщение
Поделиться на других сайтах

вот ещё в логах такая штука:

ipfw: pullup failed

ipfw: pullup failed

ipfw: pullup failed

ipfw: pullup failed

 

или такая

ipfw: ouch!, skip past end of rules, denying packet

ipfw: ouch!, skip past end of rules, denying packet

ipfw: ouch!, skip past end of rules, denying packet

ipfw: ouch!, skip past end of rules, denying packet

ipfw: ouch!, skip past end of rules, denying packet

Ссылка на сообщение
Поделиться на других сайтах

2J.McKey

http://info.iet.unipi.it/~luigi/polling/

 

Why does this code not work with SMP ?

 

It actually might work (if you remove a one line in systm.h which prevents compilation with SMP). However, you would have a single thread doing the polling, whereas an SMP box might in principle handle concurrently interrupts from different devices.

 

I guess the best answer is that I am not yet sure on whether or not it makes sense to have polling with SMP.

 

кстати - семерка отрелизилась Ж) можно ставить

ткните носом... вижу только BETA2

Ссылка на сообщение
Поделиться на других сайтах
2J.McKey

http://info.iet.unipi.it/~luigi/polling/

 

Why does this code not work with SMP ?

 

It actually might work (if you remove a one line in systm.h which prevents compilation with SMP). However, you would have a single thread doing the polling, whereas an SMP box might in principle handle concurrently interrupts from different devices.

 

I guess the best answer is that I am not yet sure on whether or not it makes sense to have polling with SMP.

 

кстати - семерка отрелизилась Ж) можно ставить

ткните носом... вижу только BETA2

с релизом я чет загнул

 

вот сегодня собирал

# uname -a

FreeBSD ххх.ххх.net.ua 7.0-BETA3 FreeBSD 7.0-BETA3 #0: Tue Nov 20 12:50:28 EET 2007 root@cryo.synapse.net.ua:/usr/obj/usr/src/sys/GENERIC i386

 

 

по поводу полинга:

 

отпишусь через часик

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...