Jump to content
Калькуляторы

роутер freebsd8, дисбаланс нагрузки сетевых внешнего и внутреннего интерфейсов

Имеется роутер freeBSD8 , установлена двухголовая сетевуха Intel PRO1000, на роутере крутятся ipfw_NAT и dummynet шейпер,

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

CPU:  0.0% user,  0.0% nice, 38.5% system,  1.5% interrupt, 60.0% idle
Mem: 13M Active, 73M Inact, 130M Wired, 100K Cache, 110M Buf, 768M Free
Swap: 499M Total, 499M Free

  PID USERNAME       PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
   11 root           171 ki31     0K     8K RUN    719.7H 75.88% idle
    0 root           -68    0     0K    72K -      250.8H 19.19% {em1 taskq}
    0 root           -68    0     0K    72K -      140.3H  7.08% {em0 taskq}
   12 root           -32    -     0K   152K WAIT    16.9H  0.39% {swi4: clock}

- это утром, когда нагрузки нет, в часы пик всё совсем плачевно, на роутер по ssh зайти невозможно.

# netstat -I em0 1
            input          (em0)           output
   packets  errs idrops      bytes    packets  errs      bytes colls
      4581     0     0    1963289       8970     0   11783169     0
      2750     0     0    1546138       3936     0    4542593     0
      3646     0     0    1542227       7645     0    9602153     0
      5698     0     0    1674778      12439     0   15911144     0
      4211     0     0    1532071       9564     0   11906136     0
      3793     0     0    1512754       8095     0   10265014     0
      4955     0     0    1732655      11360     0   14124697     0
^C
# netstat -I em1 1
            input          (em1)           output
   packets  errs idrops      bytes    packets  errs      bytes colls
      8794     0     0   11249858       3362     0     975056     0
      7600     0     0    9997996       3077     0    1001101     0
     10414     0     0   13646838       4013     0    1003573     0
     10120     0     0   12928187       3923     0    1057064     0
     10329     0     0   13476388       4049     0    1107544     0
      9571     0     0   12497571       3726     0     965102     0
      7356     0     0    9980667       3295     0    1049251     0

pps соответственно перекошен с большей частью по приему через внешний интерфейс em1.

 

Кто то сталкивался, что может вызывать перекос нагрузки CPU, преимущественно входящий трафик или NAT на этом интерфейсе?

Edited by napTu

Share this post


Link to post
Share on other sites

 

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

Share this post


Link to post
Share on other sites

1. ~18к ппс - очень мало

 

2. Внимательнее нужно быть и учит закон сохранения :)

em0.input <=> em1.output

em0.output <=> em1.input

 

Или просуммируйте ппс по строчкам: input+output и сравните полученное для em0 и em1

Можете даже посчитать среднее суммарное по интерфейсам за определённый период наблюдений, чтобы увидеть действительную разницу ппс - на мой взгляд она незначительная.

 

 

PS: не вижу ничего странного что абоненты КАЧАЮТ а не раздают/отправляют.

Share this post


Link to post
Share on other sites

ух как всё запущено...

 

после замены машины на двуядерную нагрузка по taskq процессам выравнялась

 

странно то что драйвер кушал на прием в два раза больше CPU, чем на передачу

Share this post


Link to post
Share on other sites
ух как всё запущено...
действительно

 

 

после замены машины на двуядерную нагрузка по taskq процессам выравнялась
Скорее всего кеша теперь хватает на всё, и переключать контексты не приходится.

 

 

странно то что драйвер кушал на прием в два раза больше CPU, чем на передачу
Почему вы думаете что в этом драйвере именно приём пакетов так нагружал процессор мне не понятно.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this