Перейти до

Настройка FreeBSD


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

Господа, может быть кто-нибудь поможет немного разобраться в ситуации. Буду оч. признателен.

FreeBSD 8 64 обслуживает сеть на 500 абонентов с тарифами до 30Мбит

Загрузка проца до 90%.

 

в /var/log/messages вот такой беспредел постоянно:

 

 

Nov 28 22:29:00 billing named[4598]: client 10.102.0.157#59721: error sending response: not enough free resources

Nov 28 22:29:04 billing named[4598]: client 10.102.0.48#50931: error sending response: not enough free resources

Nov 28 22:30:14 billing named[4598]: client 10.102.0.13#57705: error sending response: not enough free resources

Nov 28 22:31:14 billing named[4598]: client 10.102.0.13#52667: error sending response: not enough free resources

Nov 28 22:31:27 billing named[4598]: client 10.102.0.13#63844: error sending response: not enough free resources

Nov 28 22:31:28 billing named[4598]: client 10.102.0.13#54231: error sending response: not enough free resources

Nov 28 22:31:32 billing named[4598]: client 10.102.0.13#59381: error sending response: not enough free resources

Nov 28 22:32:01 billing named[4598]: client 10.101.0.17#61350: error sending response: not enough free resources

Nov 28 22:32:04 billing named[4598]: client 10.102.1.39#49844: error sending response: not enough free resources

Nov 28 22:32:04 billing named[4598]: client 10.102.1.39#51602: error sending response: not enough free resources

Nov 28 22:32:04 billing named[4598]: client 10.102.1.39#49624: error sending response: not enough free resources

Nov 28 22:32:04 billing named[4598]: client 10.102.1.39#64985: error sending response: not enough free resources

Nov 28 22:32:04 billing named[4598]: client 10.102.1.39#52094: error sending response: not enough free resources

Nov 28 22:32:24 billing udpxy[10833]: write_buf: write: Broken pipe

Nov 28 22:32:36 billing udpxy[10835]: write_buf: write: Broken pipe

Nov 28 22:32:43 billing udpxy[10836]: write_buf: write: Broken pipe

Nov 28 22:33:07 billing udpxy[10837]: write_buf: write: Broken pipe

Nov 28 22:33:52 billing named[4598]: client 10.102.1.177#54155: error sending response: not enough free resources

Nov 28 22:33:52 billing named[4598]: client 10.102.1.177#53518: error sending response: not enough free resources

Nov 28 22:33:52 billing named[4598]: client 10.102.1.177#64192: error sending response: not enough free resources

Nov 28 22:34:26 billing udpxy[10857]: write_buf: write: Broken pipe

Nov 28 22:34:43 billing udpxy[10865]: write_buf: write: Broken pipe

Nov 28 22:35:00 billing udpxy[7343]: wait_children: waitpid: Interrupted system call

Nov 28 22:35:00 billing udpxy[7343]: udpxy 1.0-Chipmunk (build 19) standard is exiting with rc=[0]

Nov 28 22:35:00 billing udpxy[10898]: udpxy 1.0-Chipmunk (build 19) standard is starting

Nov 28 22:35:02 billing udpxy[10906]: write_buf: write: Connection reset by peer

Nov 28 22:35:15 billing udpxy[10912]: write_buf: write: Broken pipe

Nov 28 22:35:39 billing udpxy[10927]: write_buf: write: Broken pipe

Nov 28 22:35:54 billing udpxy[10941]: write_buf: write: Broken pipe

Nov 28 22:36:03 billing named[4598]: client 10.102.0.13#52582: error sending response: not enough free resources

Nov 28 22:36:15 billing named[4598]: client 10.102.0.225#51068: error sending response: not enough free resources

Nov 28 22:36:21 billing named[4598]: client 10.102.0.107#57504: error sending response: not enough free resources

Nov 28 22:36:21 billing named[4598]: client 10.102.0.107#61439: error sending response: not enough free resources

Nov 28 22:36:21 billing named[4598]: client 10.102.0.107#64007: error sending response: not enough free resources

Nov 28 22:36:21 billing named[4598]: client 10.102.0.107#64008: error sending response: not enough free resources

Nov 28 22:36:25 billing udpxy[10942]: write_buf: write: Broken pipe

Nov 28 22:36:30 billing named[4598]: client 10.102.0.112#62676: error sending response: not enough free resources

Nov 28 22:36:33 billing named[4598]: client 10.102.0.31#62765: error sending response: not enough free resources

Nov 28 22:36:34 billing udpxy[10950]: write_buf: write: Broken pipe

Nov 28 22:36:34 billing named[4598]: client 10.102.0.112#62422: error sending response: not enough free resources

Nov 28 22:36:35 billing named[4598]: client 10.102.0.112#49828: error sending response: not enough free resources

Nov 28 22:36:35 billing named[4598]: client 10.102.0.112#53742: error sending response: not enough free resources

Nov 28 22:36:36 billing named[4598]: client 10.102.0.112#53593: error sending response: not enough free resources

Nov 28 22:36:36 billing named[4598]: client 10.102.0.112#49583: error sending response: not enough free resources

Nov 28 22:36:37 billing named[4598]: client 10.102.0.112#55005: error sending response: not enough free resources

Nov 28 22:36:37 billing named[4598]: client 10.102.0.112#53593: error sending response: not enough free resources

Nov 28 22:36:37 billing named[4598]: client 10.102.0.112#57788: error sending response: not enough free resources

Nov 28 22:36:38 billing named[4598]: client 10.102.0.112#55005: error sending response: not enough free resources

Nov 28 22:36:38 billing named[4598]: client 10.102.0.112#51334: error sending response: not enough free resources

Nov 28 22:36:47 billing named[4598]: client 10.102.1.69#58646: error sending response: not enough free resources

Nov 28 22:36:48 billing named[4598]: client 10.102.1.177#52866: error sending response: not enough free resources

Nov 28 22:36:48 billing named[4598]: client 10.102.1.177#51998: error sending response: not enough free resources

Nov 28 22:36:54 billing named[4598]: client 10.102.1.177#52533: error sending response: not enough free resources

Nov 28 22:36:54 billing named[4598]: client 10.102.1.177#56003: error sending response: not enough free resources

Nov 28 22:36:57 billing named[4598]: client 10.102.1.177#56806: error sending response: not enough free resources

Nov 28 22:36:58 billing named[4598]: client 10.102.1.177#56806: error sending response: not enough free resources

Nov 28 22:37:00 billing named[4598]: client 10.102.1.177#64512: error sending response: not enough free resources

Nov 28 22:37:01 billing named[4598]: client 10.102.1.177#64512: error sending response: not enough free resources

Nov 28 22:37:04 billing named[4598]: client 10.102.0.13#54577: error sending response: not enough free resources

Nov 28 22:37:04 billing named[4598]: client 10.102.1.177#54228: error sending response: not enough free resources

Nov 28 22:37:04 billing named[4598]: client 10.102.0.31#55000: error sending response: not enough free resources

Nov 28 22:37:34 billing named[4598]: client 10.102.1.177#52874: error sending response: not enough free resources

Nov 28 22:37:40 billing named[4598]: client 10.102.1.238#62508: error sending response: not enough free resources

Nov 28 22:37:42 billing named[4598]: client 10.102.1.136#58088: error sending response: not enough free resources

Nov 28 22:37:57 billing udpxy[10951]: write_buf: write: Broken pipe

Nov 28 22:38:06 billing udpxy[10959]: write_buf: write: Broken pipe

Nov 28 22:38:13 billing udpxy[10967]: write_buf: write: Broken pipe

Nov 28 22:38:31 billing udpxy[10968]: write_buf: write: Broken pipe

Nov 28 22:38:39 billing named[4598]: client 10.102.0.225#54582: error sending response: not enough free resources

Nov 28 22:38:39 billing named[4598]: client 10.102.0.225#63455: error sending response: not enough free resources

Nov 28 22:38:47 billing udpxy[10969]: write_buf: write: Broken pipe

Nov 28 22:39:01 billing udpxy[10970]: write_buf: write: Broken pipe

Nov 28 22:39:03 billing named[4598]: client 10.101.0.4#64903: error sending response: not enough free resources

Nov 28 22:39:13 billing udpxy[10976]: write_buf: write: Broken pipe

Nov 28 22:39:26 billing named[4598]: client 10.102.1.136#56137: error sending response: not enough free resources

Nov 28 22:39:26 billing named[4598]: client 10.102.1.136#57069: error sending response: not enough free resources

Nov 28 22:39:28 billing udpxy[10979]: write_buf: write: Broken pipe

Nov 28 22:39:52 billing udpxy[10980]: write_buf: write: Broken pipe

Nov 28 22:40:03 billing udpxy[10898]: wait_children: waitpid: Interrupted system call

Nov 28 22:40:03 billing udpxy[10898]: udpxy 1.0-Chipmunk (build 19) standard is exiting with rc=[0]

Nov 28 22:40:03 billing udpxy[11025]: udpxy 1.0-Chipmunk (build 19) standard is starting

Nov 28 22:40:09 billing named[4598]: client 10.102.1.69#59568: error sending response: not enough free resources

Nov 28 22:40:20 billing udpxy[11026]: write_buf: write: Broken pipe

Nov 28 22:40:43 billing udpxy[11058]: write_buf: write: Broken pipe

Nov 28 22:41:38 billing named[4598]: client 10.102.1.19#16304: error sending response: not enough free resources

Nov 28 22:41:38 billing named[4598]: client 10.102.1.19#16307: error sending response: not enough free resources

Nov 28 22:42:15 billing named[4598]: client 10.102.1.63#55887: error sending response: not enough free resources

Nov 28 22:43:04 billing named[4598]: client 10.102.1.185#54371: error sending response: not enough free resources

Nov 28 22:44:21 billing named[4598]: client 10.102.1.132#60418: error sending response: not enough free resources

Nov 28 22:44:21 billing named[4598]: client 10.102.1.132#52891: error sending response: not enough free resources

Nov 28 22:45:40 billing named[4598]: client 10.101.0.4#54651: error sending response: not enough free resources

Nov 28 22:45:40 billing named[4598]: clients-per-query decreased to 17

Nov 28 22:46:29 billing named[4598]: client 10.102.0.107#57503: error sending response: not enough free resources

Nov 28 22:46:29 billing named[4598]: client 10.102.0.107#61031: error sending response: not enough free resources

Nov 28 22:46:29 billing named[4598]: client 10.102.0.107#64073: error sending response: not enough free resources

Nov 28 22:46:29 billing named[4598]: client 10.102.0.107#49893: error sending response: not enough free resources

 

Что-бы это значило и что делать?

 

Заранее спасибо за отзывы!

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

Та намедовские варнинги до одного места, они ни на что не влияют.

udpxy тоже, там постоянно что-то не так.

Я бы вынес эти (хотя бы) задачи на отдельный тазик и забил.

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

10.102.0.225, 10.102.0.107.... да блин, реальней не бывает....

 

error sending response: not enough free resources

пофиг

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

top -SPHC немного прояснил бы ситуацию, 90% от E3-1220 на 200 Мегабит трафа - это вообще ни в какие ворота.

cat /var/run/dmesg.boot

cat /boot/loader.conf

cat /etc/sysctl.conf

kldstat

uname -a

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

Сетевые 4 x Intel® 82574L

Видятся как

em0: <Intel® PRO/1000 Network Connection 7.2.3> port 0xe000-0xe01f mem 0xdfe00000-0xdfe1ffff,0xdfe20000-0xdfe23fff irq 16 at device 0.0 on pci3

em0: Using MSIX interrupts with 3 vectors

 

На em0 8 vlans (канал 100М) на em1 один (канал 200М). Вынесли на отдельную т.к. начало упираться в прерывания.

 

top -SPHC:

last pid: 8859; load averages: 3.75, 4.04, 3.51 up 0+00:25:02 20:18:12

189 processes: 13 running, 155 sleeping, 21 waiting

CPU 0: 1.1% user, 0.0% nice, 12.0% system, 84.8% interrupt, 2.2% idle

CPU 1: 1.1% user, 0.0% nice, 28.3% system, 66.3% interrupt, 4.3% idle

CPU 2: 0.0% user, 0.0% nice, 65.2% system, 18.5% interrupt, 16.3% idle

CPU 3: 0.0% user, 0.0% nice, 57.6% system, 25.0% interrupt, 17.4% idle

Mem: 171M Active, 129M Inact, 218M Wired, 432K Cache, 62M Buf, 3386M Free

Swap: 4096M Total, 4096M Free

 

PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND

12 root -92 - 0K 400K CPU1 1 22:32 100.00% intr{irq259: em1:rx 0}

12 root -92 - 0K 400K CPU0 3 21:39 100.00% intr{irq256: em0:rx 0}

0 root -92 0 0K 256K - 2 13:26 63.18% kernel{em1 rxq}

0 root -92 0 0K 256K - 0 8:33 44.87% kernel{em0 rxq}

0 root -92 0 0K 256K CPU2 2 11:08 43.46% kernel{dummynet}

11 root 155 ki31 0K 64K RUN 3 7:47 25.10% idle{idle: cpu3}

11 root 155 ki31 0K 64K RUN 2 7:35 20.65% idle{idle: cpu2}

11 root 155 ki31 0K 64K RUN 1 3:51 9.86% idle{idle: cpu1}

11 root 155 ki31 0K 64K RUN 0 2:14 4.05% idle{idle: cpu0}

0 root -16 0 0K 256K sched 3 0:23 0.00% kernel{swapper}

12 root -92 - 0K 400K WAIT 3 0:04 0.00% intr{irq257: em0:tx 0}

4617 bind 20 0 118M 80592K uwait 0 0:04 0.00% named{named}

4617 bind 20 0 118M 80592K uwait 0 0:04 0.00% named{named}

4617 bind 20 0 118M 80592K RUN 0 0:04 0.00% named{named}

4617 bind 20 0 118M 80592K uwait 0 0:04 0.00% named{named}

 

FreeBSD 9.0-RELEASE

 

include GENERIC

 

nooption INET6

 

options IPFIREWALL

options IPFIREWALL_DEFAULT_TO_ACCEPT

options IPFIREWALL_VERBOSE

options IPFIREWALL_VERBOSE_LIMIT=16

options IPFIREWALL_FORWARD

options IPFIREWALL_NAT

options DUMMYNET

options LIBALIAS

 

kldstat:

Id Refs Address Size Name

1 9 0xffffffff80200000 11a8518 kernel

2 1 0xffffffff81412000 1ba9 ng_socket.ko

3 2 0xffffffff81414000 8e12 netgraph.ko

4 1 0xffffffff8141d000 1861 ng_mppc.ko

5 1 0xffffffff8141f000 284 rc4.ko

 

loader.conf пуст

autoboot_delay="2"

#hw.em.rxd="4096" особой разницы нет

#hw.em.txd="4096"

 

sysctl на сегодня такой:

 

net.inet.tcp.blackhole=2

net.inet.udp.blackhole=1

net.inet.icmp.drop_redirect=1

net.inet.ip.redirect=0

net.inet.ip.dummynet.io_fast=1

net.route.netisr_maxqlen=1024

net.inet.tcp.recvspace=131072

net.inet.tcp.sendspace=131072

net.inet.ip.fw.dyn_buckets=4096

net.inet.ip.fw.dyn_max=16384

net.inet.ip.intr_queue_maxlen=8192

net.inet.ip.dummynet.pipe_slot_limit=2048

net.inet.ip.dummynet.hash_size=65535

kern.ipc.somaxconn=32768

kern.ipc.nmbclusters=524288

kern.ipc.maxsockets=32768

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

ipfw правил сколько ?

шейпите так ?

ipfw add pipe tablearg ip from table(31) to any in recv vlan*

ipfw add pipe tablearg ip from any to table(30) out xmit vlan*

 

hw.em.rxd="4096"

hw.em.txd="4096"

должны быть

sysctl net.isr.direct=1

sysctl net.inet.ip.fastforwarding=1

также покажите какие крутилки есть в `sysctl dev.em`

проверьте наличие чего-то похожего

dev.em.1.rx_int_delay: 600

dev.em.1.tx_int_delay: 600

dev.em.1.rx_abs_int_delay: 1000

dev.em.1.tx_abs_int_delay: 1000

 

vmstat -i покажите

.

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

netstat -m ?

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

 

 

Загрузка проца до 90%.

 

Что у вас за зверь стоит такой?)

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

>>ipfw правил сколько ?

где-то 1500

 

>>шейпите так ?

Шейпим не так. Если убрать все шейпы к айделу плюсуется 15% примерно что не существенно.

 

 

>>hw.em.rxd="4096"

>>hw.em.txd="4096"

>>должны быть

ставил разницы нет.

 

>>sysctl net.isr.direct=1

В девятке эта штука реадонли. Поменять можно только профалом net.isr.dispatch.

В приципе, она отключает isr. В итоге теряем распределение нагрузки по процессорам.

На этой машинке отнимает у айдела гдето 20%.

 

>>sysctl net.inet.ip.fastforwarding=1

Тоже самое.

 

 

также покажите какие крутилки есть в `sysctl dev.em`

проверьте наличие чего-то похожего

dev.em.1.rx_int_delay: 600

dev.em.1.tx_int_delay: 600

dev.em.1.rx_abs_int_delay: 1000

dev.em.1.tx_abs_int_delay: 1000

 

>>vmstat -i покажите

. vmstat -i

interrupt total rate

irq16: ehci0 18956 1

irq19: atapci0+ 23809 1

irq23: ehci1 19008 1

cpu0:timer 14189069 1125

irq256: em0:rx 0 83414683 6615

irq257: em0:tx 0 70173100 5565

irq258: em0:link 2 0

irq259: em1:rx 0 92266550 7317

irq260: em1:tx 0 87291633 6922

irq261: em1:link 2 0

cpu1:timer 13989701 1109

cpu2:timer 13789929 1093

cpu3:timer 11229249 890

Total 386405691 30645

 

 

>> Если буферы не переполнены, посмотрите не закрыт ли доступ для выших шлюзов в фаере.

Буферы не переполнены. Если закрыть доступ к шлюзу, то как тогда натить ?

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

присоединяюсь к bit не больше 40.

 

Конструкции

${ipfw} pipe 4095 config bw 4Mbit/s mask src-ip 0xFFFFFFFF buckets 1024

${ipfw} pipe 4096 config bw 4Mbit/s mask dst-ip 0xFFFFFFFF buckets 1024

приводит к клонированию пайпа 4095, 4096 для каждого src, dst ip, поэтому если создать правило

ipfw add pipe 4095 ip from "table(30, 4095)" to any in via vlan*

для каждого ip в table(30) будет создан свой пайп

ipfw add pipe tablearg ip from "table(30)" to any via vlan* сделает то же самое

для исхода второе правило по-аналогии

в таблицу клиентов добавлять: ipfw table 30 add 192.168.1.100 4095

для исхода своё правило и своя таблица ipfw table 31 add 192.168.1.100 4096

это может сильно сократить количество правил если они у вас все на шейпера разошлись

выложить полный конфиг ?

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

Читаем рассылку Freebsd http://lists.freebsd.org/pipermail/freebsd-questions/2009-June/199818.html

И обращаем внимание что это проблема NAMED. Я предполагаю что вы резолвите както клиентов?

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

Помниться мне, что в свое время на где-то 500 клиентах при кол-ве правил шейпа под тысячу где-то так всё и было.

Пришлось оптимизировать под О(кол-во тарифов), сведя где-то к 50-60....

И как часы который год....

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

Да, вы правы.

Загрузка сильно зависит от количества правил.

Будем оптимизировать.

 

Благодарю за внимание и небезразличие.

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

Для статистики сообщаю результаты.

 

Перекинул пока всех в один канал. Фаервол сократил до 30 правил, получил нагрузку 25% при трафике 200Мбит/сек.

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

Ну теперь нагрузка зависит не от трафика а от кол-ва активных пользователей, т.е. активных пайпов.

Тюнинг сетевых плюсов не дал. Только аномалии.

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

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

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

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

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

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

Вхід

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

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

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

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