The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
FreeBSD, сеть, большое число пакетов., !*! pr0nix, 20-Дек-09, 23:52  [смотреть все]
Есть сервер FreeBSD 7.2-RELEASE-p4 с 2 сетевыми(Broadcom,1000baseTX), одна смотрит в Интернет, другая в локалку. У клиентов из локалки он default route и часть из них (чтобы не устанавливать vpn подключение) ходит в Интернет через nat, реализованный средствами PF. Надо отметить, что таких клиентов очень мало и большая часть приходящих пакетов просто отбрасывается.
Для простоты будем считать, что ядро GENERIC, все sysctl дефолтные.
В часы пик на сервер приходит огромное число пакетов, ping дает больше 60% потерь
# netstat -w 1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
     19403     0    2320139      19954     0    3015575     0
     19274     0    2293487      19656     0    2438573     0
     18090     0    2309526      18463     0    2948751     0
     16219     0    2067349      16654     0    2721160     0
     16649     0    2054777      17096     0    2632859     0
     13568     0    1889023      13820     0    2462823     0
     14221     0    1944276      14520     0    2611257     0
     14232     0    2047085      14504     0    2733930     0
     11533     0    1767689      11933     0    2526629     0

Подскажите, какие параметры sysctl надо подтянуть, чтобы сервер справлялся с таким количеством пакетов?

  • FreeBSD, сеть, большое число пакетов., !*! A Shep, 11:21 , 21-Дек-09 (1)
    • FreeBSD, сеть, большое число пакетов., !*! pr0nix, 12:28 , 21-Дек-09 (2)
      >мало информации даете, добавьте информации из top -SP, добавляли что-то в sysctl?
      >считать "GENERIC" - а он действительно стоит или всетаки чтото изменили?
      >)

      Сейчас нагрузка не такая большая, по ping-y потерь нет.
      # netstat -w 1
                  input        (Total)           output
         packets  errs      bytes    packets  errs      bytes colls
            6358     0    1071897       6793     0    1478764     0
            5324     0     922911       5613     0    1409409     0
            7685     0    1151598       8140     0    1710895     0
            5708     0     938901       6096     0    1425543     0
            6946     0    1137547       7384     0    1628002     0
            6528     0    1033960       6931     0    1527746     0
            4730     0     927872       5168     0    1386123     0
            5874     0     979754       6155     0    1488519     0
            6465     0     967571       7018     0    1479549     0
            5817     0     942354       6218     0    1299708     0
            5499     0     988677       5939     0    1462583     0
            5239     0     849316       5753     0    1360063     0

      # top -SP
      last pid: 77864;  load averages:  0.34,  0.21,  0.12                                                                                                                                                                up 0+15:00:07  11:24:55
      215 processes: 10 running, 188 sleeping, 17 waiting
      CPU 0:  1.1% user,  0.0% nice,  0.4% system,  0.0% interrupt, 98.5% idle
      CPU 1:  2.3% user,  0.0% nice,  1.1% system,  0.0% interrupt, 96.6% idle
      CPU 2:  8.6% user,  0.0% nice,  2.3% system,  0.0% interrupt, 89.1% idle
      CPU 3:  0.0% user,  0.0% nice,  1.9% system,  0.0% interrupt, 98.1% idle
      CPU 4:  0.0% user,  0.0% nice,  0.0% system,  1.5% interrupt, 98.5% idle
      CPU 5:  0.0% user,  0.0% nice,  0.4% system,  0.0% interrupt, 99.6% idle
      CPU 6:  0.0% user,  0.0% nice,  3.0% system,  0.0% interrupt, 97.0% idle
      CPU 7:  0.0% user,  0.0% nice,  0.0% system, 10.1% interrupt, 89.9% idle
      Mem: 1265M Active, 5701M Inact, 684M Wired, 86M Cache, 399M Buf, 191M Free
      Swap: 10G Total, 10G Free

        PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
         14 root        1 171 ki31     0K    16K CPU4   4 867:40 100.00% idle: cpu4
         12 root        1 171 ki31     0K    16K CPU6   6 867:09 100.00% idle: cpu6
         16 root        1 171 ki31     0K    16K CPU2   2 859:29 100.00% idle: cpu2
         13 root        1 171 ki31     0K    16K CPU5   5 860:45 98.88% idle: cpu5
         15 root        1 171 ki31     0K    16K CPU3   3 870:48 98.68% idle: cpu3
         17 root        1 171 ki31     0K    16K CPU1   1 837:09 98.39% idle: cpu1
         18 root        1 171 ki31     0K    16K RUN    0 820:04 96.29% idle: cpu0
         11 root        1 171 ki31     0K    16K CPU7   7 863:25 96.00% idle: cpu7
      59306 root        9  44    0  1491M  1280M select 2   3:19 11.47% trinity-core
         19 root        1 -44    -     0K    16K WAIT   7 100:38  9.28% swi1: net
         20 root        1 -32    -     0K    16K WAIT   5   7:26  0.49% swi4: clock sio
         48 root        1 -68    -     0K    16K -      6  22:23  0.10% dummynet
        893 root        1 -68    -     0K    16K sleep  1   3:28  0.00% ng_queue3
        897 root        1 -68    -     0K    16K sleep  2   3:27  0.00% ng_queue7
        890 root        1 -68    -     0K    16K sleep  0   3:27  0.00% ng_queue0
        894 root        1 -68    -     0K    16K sleep  3   3:27  0.00% ng_queue4
        896 root        1 -68    -     0K    16K sleep  2   3:27  0.00% ng_queue6
        892 root        1 -68    -     0K    16K sleep  0   3:27  0.00% ng_queue2
        891 root        1 -68    -     0K    16K sleep  1   3:26  0.00% ng_queue1
        895 root        1 -68    -     0K    16K sleep  1   3:26  0.00% ng_queue5
      7232 root        2   4    0 21440K  9888K kqread 3   3:12  0.00% transmission-daemon
        899 root        1  44    0 27528K  7324K select 0   2:07  0.00% snmpd
      12093 root        1  44    0 71100K 21476K select 1   1:58  0.00% ghost++
         22 root        1 -16    -     0K    16K -      1   1:18  0.00% yarrow
          3 root        1  -8    -     0K    16K -      0   1:17  0.00% g_up
         57 root        1  20    -     0K    16K syncer 0   0:55  0.00% syncer
         37 root        1 -64    -     0K    16K WAIT   6   0:42  0.00% irq19: uhci1+
          4 root        1  -8    -     0K    16K -      0   0:36  0.00% g_down
      8400 root        1  44    0 38972K 14928K select 1   0:32  0.00% ghost++
      8403 root        1   8    0 38844K 14640K nanslp 0   0:31  0.00% ghost++
      12096 root        1  44    0 38972K 14672K select 0   0:31  0.00% ghost++
         49 root        1  -8    -     0K    16K m:w1   3   0:29  0.00% g_mirror gm0
      12394 root        2   8    0 23240K  5244K nanslp 6   0:27  0.00% trinity-realm
      25716 root        2   8    0 23240K  5328K nanslp 3   0:25  0.00% trinity-realm
         47 root        1   8    -     0K    16K pftm   0   0:17  0.00% pfpurge
        964 cm          6   8    0 27200K  5236K nanslp 1   0:08  0.00% icecast
      77648 root        1  46    0 31084K  6316K select 2   0:07  0.00% proftpd
        769 root        1  44    0  5692K  1156K select 1   0:04  0.00% syslogd
          2 root        1  -8    -     0K    16K -      1   0:04  0.00% g_event
        514 _pflogd     1 -58    0  6888K  1336K bpf    0   0:04  0.00% pflogd

      В ядре убраны ненужные devices и добавлено
      options         IPSEC
      device          crypto
      device          cryptodev

      options         GEOM_MIRROR
      options         ACCEPT_FILTER_HTTP
      options         ACCEPT_FILTER_DATA
      options         QUOTA
      options         NULLFS
      options         IPFIREWALL
      options         IPFIREWALL_FORWARD
      options         IPFIREWALL_VERBOSE
      options         DUMMYNET
      options         DEVICE_POLLING
      options         HZ=1000

      device          coretemp
      device          ipmi
      device          pf
      device          pflog
      device          pfsync

      Отключение POLLING ситуации не меняет, HZ=1000 менять не пробовал - вроде как DUMMYNET тогда неправильно работает. При дефолтных sysctl тормоза в часы пик остаются, при таких тоже:
      security.bsd.see_other_uids=0
      kern.coredump=0
      net.inet.ip.fw.one_pass=0
      net.inet.ip.dummynet.io_fast=0
      net.inet.ip.dummynet.hash_size=256

      net.inet.tcp.sendspace=2097152
      net.inet.tcp.recvspace=2097152
      net.inet.tcp.sendbuf_max=16777216
      net.inet.tcp.recvbuf_max=16777216
      net.inet.tcp.mssdflt=1460
      net.inet.tcp.slowstart_flightsize=54
      net.inet.tcp.tcbhashsize=4096
      net.inet.tcp.msl=15000

      net.inet.icmp.icmplim=100
      net.inet.tcp.blackhole=2
      net.inet.udp.blackhole=1

      net.inet.ip.fastforwarding=1
      kern.ipc.maxsockets=204800
      kern.ipc.maxsockbuf=16777216
      kern.ipc.nmbclusters=262144
      kern.ipc.somaxconn=24096
      kern.polling.each_burst=512
      kern.polling.burst_max=1000
      kern.polling.burst=1000
      net.inet.ip.intr_queue_maxlen=1024

      В моменты сетевых перегрузок Load Average редко поднимается выше 1,5.


  • FreeBSD, сеть, большое число пакетов., !*! dw, 19:31 , 21-Дек-09 (7)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру