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

Freebsd 9.1 + MPD5 + PPPOE + 1 ext + 2 int + ipfw nat

Добрый День Коллеги.

 

 

Имеется freebsd 9.1 Freebsd 9.1 + MPD5 + PPPOE + 1 ext + 2 int + ipfw nat

 

 

 

 

PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND

11 root 155 ki31 0K 96K RUN 5 69.7H 100.00% idle{idle: cpu5}

11 root 155 ki31 0K 96K CPU4 4 69.7H 100.00% idle{idle: cpu4}

11 root 155 ki31 0K 96K CPU1 1 69.2H 98.97% idle{idle: cpu1}

11 root 155 ki31 0K 96K CPU3 3 67.7H 97.56% idle{idle: cpu3}

11 root 155 ki31 0K 96K CPU2 2 68.3H 94.38% idle{idle: cpu2}

11 root 155 ki31 0K 96K CPU0 0 68.9H 80.27% idle{idle: cpu0}

12 root -60 - 0K 400K WAIT 0 51:50 23.00% intr{swi4: clock}

12 root -92 - 0K 400K WAIT 2 85:39 6.79% intr{irq260: igb2:que}

12 root -92 - 0K 400K WAIT 3 120:41 2.88% intr{irq256: igb0:que}

12 root -92 - 0K 400K WAIT 1 32:30 1.37% intr{irq258: igb1:que}

 

 

Один Интерфейс смотрит в инет, и два смотрят в локалку. Каждый в определенный сегмент.

 

 

Смущает меня процесс 12 root -60 - 0K 400K WAIT 0 51:50 43.00% intr{swi4: clock}

 

Нагрузка просто никакая.

 

root@pppoe2222:/etc #

root@pppoe2222:/etc # netstat -h 1

input (Total) output

packets errs idrops bytes packets errs bytes colls

8.7k 0 0 4.4M 10k 0 11M 0

 

 

Вот правила ната

 

#/sbin/ipfw nat 1 config log if igb0 reset same_ports

#/sbin/ipfw add 1200 nat 1 ip from table\(2\) to any via igb0

#/sbin/ipfw add 1300 nat 1 ip from any to x.x.x.x via igb0

 

 

как только я выключаю один из локальных Интерфейсов, нагрузка на intr{swi4: clock} падает.

Share this post


Link to post
Share on other sites

43.00% intr{swi4: clock}

Тоже наблюдал такую ситуацию на одном из серверов, поставил hz = 100 проблема ушла. А сколько у вас данный параметр?

Share this post


Link to post
Share on other sites

43.00% intr{swi4: clock}

Тоже наблюдал такую ситуацию на одном из серверов, поставил hz = 100 проблема ушла. А сколько у вас данный параметр?

 

проблема именно в том, что у меня два локальных интерфейса. через которые ходят клиенты.

 

Если я выключу одну из локальных сетевух проблема уходит.

 

http://lagman.su/2011/03/freebsd8-igb/

 

 

Вот тут чел,пишет в своем блоге что :

 

И это при скромных 300 мегабитах/c внешки и 200 мегабитах/c пиринга. В ipfw кроме скромного ipfw nat никакой обработки пакетов не происходило. С помощью Вадима Гончарова удалось быстро локализовать проблему. Как оказалось, она была в единственном инстансе ната: «То есть, несколько тредов одновременно постоянно дерутся за доступ к instance ната — оно не параллелится. Решение: натить в несколько внешних IP-адресов, для каждого заводить отдельный инстанс libalias (ipfw nat).»

 

Добавление второго инстанса ната в разы снизило нагрузку на процессор. Итоговый idle в пики нагрузки держался на уровне 85%, что наконец стало соответствовать ожиданиям.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.