FreeBSD 8.1 Загрузка 15% на прерываниях

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-11 10:46:02

Доброе утро, есть машина
2X5620/3GR1066T/SATA6/2T500G7/6HSA/DVD±RWT/2GLAN/1C/2US/IPMI+/2PS500/4PCIe/RMK/CAR3S
Стоит FreeBSD 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Thu Feb 3 16:56:48 SAMT 2011 amd64
Используется как роутер сервер в ipfw 25 правил
вечером в час пик можно наблюдать такую картину:
Изображение
Изображение
т.е. проц грузится на 15% и трафик начинает падать, хотя 21 самый час пик
При этом многопоточость интерраптов включена и видно что работает:

Код: Выделить всё

last pid: 10381;  load averages:  0.00,  0.00,  0.00    up 3+12:42:41  22:39:17
183 processes: 19 running, 112 sleeping, 1 stopped, 51 waiting
CPU 0:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 1:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 2:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 3:   0.0% user,  0.0% nice,  1.1% system,  0.0% interrupt, 98.9% idle
CPU 4:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 5:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 6:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 7:   0.0% user,  0.0% nice,  0.0% system,  2.3% interrupt, 97.7% idle
CPU 8:   0.0% user,  0.0% nice,  0.0% system, 16.5% interrupt, 83.5% idle
CPU 9:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 10:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 11:  0.0% user,  0.0% nice,  0.0% system, 98.5% interrupt,  1.5% idle
CPU 12:  0.0% user,  0.0% nice,  0.0% system,  1.9% interrupt, 98.1% idle
CPU 13:  0.0% user,  0.0% nice,  0.0% system,  1.1% interrupt, 98.9% idle
CPU 14:  0.0% user,  0.0% nice,  0.0% system,  100% interrupt,  0.0% idle
CPU 15:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 28M Active, 231M Inact, 330M Wired, 392K Cache, 63M Buf, 2371M Free
Swap: 4096M Total, 4096M Free
т.е. два ядра загружены интерраптами полностью, на остальные тоже идет часть нагрузки, но суммарную нагрузку процессора 15% на прерываниях не переходит, подскажите что можно подкрутить?

Код: Выделить всё

sysctl net.isr
net.isr.numthreads: 15
net.isr.defaultqlimit: 256
net.isr.maxqlimit: 10240
net.isr.bindthreads: 0
net.isr.maxthreads: 15
net.isr.direct: 0
net.isr.direct_force: 0

Код: Выделить всё

sysctl net.inet.ip.dummynet
net.inet.ip.dummynet.io_pkt_drop: 285409230
net.inet.ip.dummynet.io_pkt_fast: 5383687691
net.inet.ip.dummynet.io_pkt: 11744876536
net.inet.ip.dummynet.queue_count: 0
net.inet.ip.dummynet.fsk_count: 40
net.inet.ip.dummynet.si_count: 571
net.inet.ip.dummynet.schk_count: 80
net.inet.ip.dummynet.tick_lost: 0
net.inet.ip.dummynet.tick_diff: 4876573
net.inet.ip.dummynet.tick_adjustment: 4773317
net.inet.ip.dummynet.tick_delta_sum: 424
net.inet.ip.dummynet.tick_delta: 504
net.inet.ip.dummynet.red_max_pkt_size: 1500
net.inet.ip.dummynet.red_avg_pkt_size: 512
net.inet.ip.dummynet.red_lookup_depth: 256
net.inet.ip.dummynet.expire_cycle: 0
net.inet.ip.dummynet.expire: 1
net.inet.ip.dummynet.debug: 0
net.inet.ip.dummynet.io_fast: 1
net.inet.ip.dummynet.pipe_byte_limit: 1048576
net.inet.ip.dummynet.pipe_slot_limit: 1000
net.inet.ip.dummynet.hash_size: 8192
полный sysctl прикрепляю

Опции ядра:

Код: Выделить всё

options         HZ=2000
options         NBUF=4096
options         IPFIREWALL
options         IPFIREWALL_FORWARD
options         IPFIREWALL_NAT
options         IPDIVERT
options         DUMMYNET
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_EIFACE
options         NETGRAPH_IPFW
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_NETFLOW
options         NETGRAPH_NAT
options         NETGRAPH_SOCKET
options         NETGRAPH_SPLIT
options         LIBALIAS
Конфиг ядра прикрепляю (as.txt)

Код: Выделить всё

ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:25:90:0b:d4:b2
        inet 10.196.1.3 netmask 0xffffff00 broadcast 10.196.1.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:25:90:0b:d4:b3
        inet белый_ip netmask 0xfffffffc broadcast белый_ip+1
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
Вложения
sysctl.txt
sysctl
(81.12 КБ) 75 скачиваний
as.txt
ядро
(11.59 КБ) 57 скачиваний

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

mav
рядовой
Сообщения: 36
Зарегистрирован: 2009-08-06 14:12:13

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mav » 2011-02-11 13:32:10

Проверь через `pciconf -lvcb` поддерживают ли твои сетевые MSI/MSI-X и используются ли они. Если нет - проверь не шарят ли они с кем-то вектора.

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-11 14:32:12

Вроде есть, включены

Код: Выделить всё

/etc/firewall# pciconf -lvcb | grep MSI
    cap 05[60] = MSI supports 2 messages, vector masks
    cap 05[60] = MSI supports 2 messages, vector masks
    cap 05[60] = MSI supports 2 messages, vector masks
    cap 05[60] = MSI supports 2 messages, vector masks
    cap 05[60] = MSI supports 2 messages, vector masks
    cap 11[80] = MSI-X supports 1 message in map 0x10
    cap 11[80] = MSI-X supports 1 message in map 0x10
    cap 11[80] = MSI-X supports 1 message in map 0x10
    cap 11[80] = MSI-X supports 1 message in map 0x10
    cap 11[80] = MSI-X supports 1 message in map 0x10
    cap 11[80] = MSI-X supports 1 message in map 0x10
    cap 11[80] = MSI-X supports 1 message in map 0x10
    cap 11[80] = MSI-X supports 1 message in map 0x10
    cap 05[60] = MSI supports 1 message, 64 bit
    cap 05[80] = MSI supports 1 message
    cap 05[80] = MSI supports 1 message
    cap 05[80] = MSI supports 1 message
    cap 05[80] = MSI supports 16 messages
    cap 05[d0] = MSI supports 1 message, 64 bit
    cap 11[a0] = MSI-X supports 5 messages in map 0x1c enabled
    cap 05[d0] = MSI supports 1 message, 64 bit
    cap 11[a0] = MSI-X supports 5 messages in map 0x1c enabled
полный pciconf -lvcb прикрепляю
Вложения
pciconf.txt
pciconf -lvcb
(16.15 КБ) 48 скачиваний

mav
рядовой
Сообщения: 36
Зарегистрирован: 2009-08-06 14:12:13

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mav » 2011-02-11 15:46:24

Посмотри в `top -SH` на прерывания какой сетевой карты приходится нагрузка. Нагрузка в контексте прерывания помимо самой карты (что врядли) может происходить и от фаервола и от Netgraph, которые вызываются по приему пакета. Проверяй что там у тебя есть Так-же туда могда-бы попадать и остальная обработка пакетов, но у тебя net.isr.direct выключен.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение ProFTP » 2011-02-11 18:00:11

ядро и все настройки поставить дефолтные...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-12 10:57:38

поставил

Код: Выделить всё

net.isr.direct: 1
net.isr.direct_force: 1
Стало полегче.
Вопрос про использование 2 ядер на 100% при полной загрузке остается, почему не используются остальные свободные?
net.isr.maxthreads: 15
т.е. утром нагрузка примерно такая:

Код: Выделить всё

last pid: 50014;  load averages:  0.06,  0.03,  0.00        up 5+00:53:25  10:50:01
183 processes: 19 running, 112 sleeping, 1 stopped, 51 waiting
CPU 0:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 1:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 2:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 3:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 4:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 5:   0.0% user,  0.0% nice, 38.7% system,  0.0% interrupt, 61.3% idle
CPU 6:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 7:   0.0% user,  0.0% nice,  0.0% system, 22.2% interrupt, 77.8% idle
CPU 8:   0.0% user,  0.0% nice,  0.0% system,  1.5% interrupt, 98.5% idle
CPU 9:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 10:  0.0% user,  0.0% nice,  0.4% system,  0.0% interrupt, 99.6% idle
CPU 11:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 12:  0.0% user,  0.0% nice,  0.0% system, 40.6% interrupt, 59.4% idle
CPU 13:  0.0% user,  0.0% nice,  0.0% system,  4.5% interrupt, 95.5% idle
CPU 14:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 15:  0.0% user,  0.0% nice,  1.1% system,  0.0% interrupt, 98.9% idle
Mem: 28M Active, 291M Inact, 326M Wired, 360K Cache, 63M Buf, 2315M Free
Swap: 4096M Total, 4096M Free
вечером при полной нагрузке

Код: Выделить всё

last pid: 10381;  load averages:  0.00,  0.00,  0.00    up 3+12:42:41  22:39:17
183 processes: 19 running, 112 sleeping, 1 stopped, 51 waiting
CPU 0:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 1:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 2:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 3:   0.0% user,  0.0% nice,  1.1% system,  0.0% interrupt, 98.9% idle
CPU 4:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 5:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 6:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 7:   0.0% user,  0.0% nice,  0.0% system,  2.3% interrupt, 97.7% idle
CPU 8:   0.0% user,  0.0% nice,  0.0% system, 16.5% interrupt, 83.5% idle
CPU 9:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 10:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 11:  0.0% user,  0.0% nice,  0.0% system,  100% interrupt,  0.0% idle
CPU 12:  0.0% user,  0.0% nice,  0.0% system,  1.9% interrupt, 98.1% idle
CPU 13:  0.0% user,  0.0% nice,  0.0% system,  1.1% interrupt, 98.9% idle
CPU 14:  0.0% user,  0.0% nice,  0.0% system,  100% interrupt,  0.0% idle
CPU 15:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 28M Active, 231M Inact, 330M Wired, 392K Cache, 63M Buf, 2371M Free
Swap: 4096M Total, 4096M Free
И дальше начинается затык процессора (суммарная нагрузка не увеличивается) хотя остается 10 потоков с загрузкой 0,
в чем может быть причина?

mav
рядовой
Сообщения: 36
Зарегистрирован: 2009-08-06 14:12:13

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mav » 2011-02-12 11:01:15

Ну так может ты следующие строки из `top -SH` покажеш как я просил?

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-12 11:07:09

Извиняюсь, вчера не копирнул, а пока загрузка не большая

Код: Выделить всё

last pid: 50515;  load averages:  0.00,  0.01,  0.00                     up 5+01:11:26  11:08:02
185 processes: 17 running, 114 sleeping, 1 stopped, 53 waiting
CPU:  0.0% user,  0.0% nice,  0.1% system,  4.4% interrupt, 95.4% idle
Mem: 31M Active, 291M Inact, 327M Wired, 360K Cache, 63M Buf, 2312M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   11 root      171 ki31     0K   256K CPU13  13 120.0H 100.00% {idle: cpu13}
   11 root      171 ki31     0K   256K CPU3    3 118.5H 100.00% {idle: cpu3}
   11 root      171 ki31     0K   256K CPU2    2 118.2H 100.00% {idle: cpu2}
   11 root      171 ki31     0K   256K CPU9    9 117.8H 100.00% {idle: cpu9}
   11 root      171 ki31     0K   256K CPU6    6 117.6H 100.00% {idle: cpu6}
   11 root      171 ki31     0K   256K RUN     0 117.1H 100.00% {idle: cpu0}
   11 root      171 ki31     0K   256K CPU1    1 116.5H 100.00% {idle: cpu1}
   11 root      171 ki31     0K   256K CPU4    4 114.6H 100.00% {idle: cpu4}
   11 root      171 ki31     0K   256K CPU11  11 108.9H 100.00% {idle: cpu11}
   11 root      171 ki31     0K   256K CPU15  15 100.6H 100.00% {idle: cpu15}
   11 root      171 ki31     0K   256K CPU14  14  85.8H 100.00% {idle: cpu14}
   11 root      171 ki31     0K   256K CPU8    8 117.5H 99.90% {idle: cpu8}
   11 root      171 ki31     0K   256K CPU10  10 108.3H 99.61% {idle: cpu10}
   11 root      171 ki31     0K   256K CPU5    5 116.3H 96.48% {idle: cpu5}
   11 root      171 ki31     0K   256K CPU7    7 115.5H 77.78% {idle: cpu7}
   11 root      171 ki31     0K   256K CPU12  12 114.4H 57.18% {idle: cpu12}
   12 root      -68    -     0K   848K WAIT   12 406:08 45.85% {irq261: em1}
   12 root      -68    -     0K   848K WAIT    7 316:08 26.37% {irq256: em0}
    0 root      -68    0     0K   272K -       4 262:22  9.42% {dummynet}
   12 root      -68    -     0K   848K WAIT   13  69:36  4.00% {irq262: em1}
    0 root      -68    0     0K   272K -      14  25:20  0.68% {em0 txq}
   12 root      -68    -     0K   848K WAIT    8  67:55  0.29% {irq257: em0}
   12 root      -32    -     0K   848K WAIT    2  64:53  0.10% {swi4: clock}
   12 root      -44    -     0K   848K WAIT   14  60.3H  0.00% {swi1: netisr 14}
   12 root      -44    -     0K   848K WAIT   15  49.0H  0.00% {swi1: netisr 15}
    0 root      -68    0     0K   272K -      10  22:53  0.00% {em1 txq}
   14 root      -16    -     0K    16K -       0  12:38  0.00% yarrow
    0 root      -68    0     0K   272K -       0   4:12  0.00% {em1 rxq}
 1204 root       44    0 27012K  6912K select  0   3:30  0.00% snmpd
   17 root       44    -     0K    16K syncer  0   2:38  0.00% syncer
    0 root       76    0     0K   272K sched   0   1:05  0.00% {swapper}
 5578 root       44    0 20852K  8360K select  0   0:18  0.00% perl5.10.1
 1915 root       44    0 18388K  3404K select  0   0:18  0.00% {dispatcher}

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение voider » 2011-02-12 13:01:20

mmvds ,а что за порт такой который так красиво графики выводит?

а тебя Dosят походу

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-12 18:43:32

Обычный Cacti на мониторинг сервере, собирает инфу о всех серверах по snmp

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение voider » 2011-02-13 13:33:52

mmvds писал(а):Обычный Cacti на мониторинг сервере, собирает инфу о всех серверах по snmp
ясно потестю ,а зачем тебе options HZ=2000 по умолчанию options HZ=1000 а на 6 ке options HZ=100 из за этой хрени процы греются ,но зато Дос атаки можно выдержать

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-16 21:13:33

Врядли это ддос,
Вот новая вечерняя загрузка с
net.isr.direct: 1
net.isr.direct_force: 1
Изображение
Изображение
картинка красивее, но пинги у клиентов начинают рости :(

Код: Выделить всё

last pid: 84879;  load averages:  1.35,  1.36,  1.31    up 9+10:47:59  20:44:35
183 processes: 20 running, 111 sleeping, 1 stopped, 51 waiting
CPU 0:   0.0% user,  0.0% nice,  1.1% system,  0.0% interrupt, 98.9% idle
CPU 1:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 2:   0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 3:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 4:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 5:   0.0% user,  0.0% nice, 94.4% system,  0.0% interrupt,  5.6% idle
CPU 6:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 7:   0.0% user,  0.0% nice,  0.0% system, 84.2% interrupt, 15.8% idle
CPU 8:   0.0% user,  0.0% nice,  0.0% system,  1.1% interrupt, 98.9% idle
CPU 9:   0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 10:  0.0% user,  0.0% nice,  0.0% system,  0.4% interrupt, 99.6% idle
CPU 11:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 12:  0.0% user,  0.0% nice,  0.0% system, 96.2% interrupt,  3.8% idle
CPU 13:  0.0% user,  0.0% nice,  0.0% system,  4.5% interrupt, 95.5% idle
CPU 14:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 15:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 29M Active, 356M Inact, 342M Wired, 360K Cache, 63M Buf, 2234M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   11 root      171 ki31     0K   256K CPU6    6 223.2H 100.00% {idle: cpu6}
   11 root      171 ki31     0K   256K CPU9    9 223.2H 100.00% {idle: cpu9}
   11 root      171 ki31     0K   256K CPU1    1 221.8H 100.00% {idle: cpu1}
   11 root      171 ki31     0K   256K RUN     0 221.4H 100.00% {idle: cpu0}
   11 root      171 ki31     0K   256K CPU8    8 221.3H 100.00% {idle: cpu8}
   11 root      171 ki31     0K   256K CPU3    3 220.6H 100.00% {idle: cpu3}
   11 root      171 ki31     0K   256K CPU11  11 209.1H 100.00% {idle: cpu11}
   11 root      171 ki31     0K   256K CPU10  10 208.4H 100.00% {idle: cpu10}
   11 root      171 ki31     0K   256K CPU15  15 205.8H 100.00% {idle: cpu15}
   11 root      171 ki31     0K   256K CPU14  14 191.1H 100.00% {idle: cpu14}
   12 root      -68    -     0K   848K CPU12  12  57.8H 100.00% {irq261: em1}
    0 root      -68    0     0K   272K CPU2    2 170:18 100.00% {em1 rxq}
   11 root      171 ki31     0K   256K CPU13  13 223.9H 96.92% {idle: cpu13}
   12 root      -68    -     0K   848K CPU7    7  40.5H 83.94% {irq256: em0}
   11 root      171 ki31     0K   256K CPU4    4 208.3H 83.89% {idle: cpu4}
    0 root      -68    0     0K   272K -       5  36.3H 67.29% {dummynet}
   11 root      171 ki31     0K   256K CPU5    5 217.3H 53.91% {idle: cpu5}
   11 root      171 ki31     0K   256K RUN     7 185.9H 16.46% {idle: cpu7}
   11 root      171 ki31     0K   256K RUN    12 169.1H  3.32% {idle: cpu12}
   12 root      -68    -     0K   848K WAIT   13 157:24  1.76% {irq262: em1}
   12 root      -68    -     0K   848K WAIT    8 130:27  0.73% {irq257: em0}
   12 root      -32    -     0K   848K WAIT   10 111:50  0.39% {swi4: clock}
    0 root      -68    0     0K   272K -       0  41:14  0.10% {em1 txq}
   17 root       44    -     0K    16K syncer  0   5:40  0.05% syncer
    0 root      -68    0     0K   272K -       1   5:21  0.05% {em0 rxq}
так думаю, проблема в этом:
12 root -68 - 0K 848K CPU12 12 57.8H 100.00% {irq261: em1}
вопрос, что можно сделать? можно что-то еще что подкрутить?

mav
рядовой
Сообщения: 36
Зарегистрирован: 2009-08-06 14:12:13

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mav » 2011-02-16 21:21:03

Что у тебя еще на этой машине? NAT? Netflow? Dummynet, как я вижу.

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-16 21:39:40

да, NAT, сброс флоузов на биллинг и диспатчер скрипт - ловит события подключения/отключения клиентов для раскидывания их по таблицам ipfw, но на нем загрузка 0%

mav
рядовой
Сообщения: 36
Зарегистрирован: 2009-08-06 14:12:13

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mav » 2011-02-16 21:54:14

Ну так попробуй поотключать по одному.

mak_v_
проходил мимо

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mak_v_ » 2011-02-19 19:00:22

может конечно и не в тему - попробуйти включить пуллинг на сетевых

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-23 22:55:43

По поводу проблемы, мне подсказали что больше чем 2 ядра не нагрузится, как ни старайся, т.е. 2процессора * 4 ядра = 8 ядер, 100%/8 = 12,5% - одно ядро, умножаем на 2, 25%, именно до этой цифры после всех манипуляций и доходит нагрузка процессора. Посоветовали искать источник проблемы, а не устранять последствия.

Проанализировал логи трафика по частоте отправки пакетов с 1 ip, получил следующее:
около 2% юзеров отправляют от 1000 до 30 000 пакетов за 5 минут, еще 10% от 100 до 1000, все остальные менее 100 пакетов за 5 минут
сделал список тех 2% юзеров, от которых отправка пакетов наибольшая и отдал техподдержке на обзвон, чтоб проверили на вирусы, как оказалось, многие просто пользуются торентами с кучей коннектов им "наплевать, их все устраивает".
Пробовал уменьшать исходящую скорость, нагрузка интерраптами падает прямо пропорционально, что конечно радует, но не является корректным выходом из ситуации :(

Вопрос собственно в том, возможно ли как-то побороть проблему торентов?
Ip у клиентов серые, натятся на 1 ip

mak_v_
проходил мимо

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mak_v_ » 2011-02-23 23:36:04

все же попробуйте включить пуллинг на сетевых
касательно проблемы большого кол-ва соединений - с помощью фаервола можете ограничить кол-во сессий, обычно до 100 хватает
и нат на ipfw обладает свойством "грузить", я лично ушёл в сторону pf - нагрузка значительно снизилась

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение Alex Keda » 2011-02-24 0:17:11

допишите в договор - 20 коннектов на IP например
и этих 2% и режте на это число, тыкая в договор
быстро научатся лимиты ставить
Убей их всех! Бог потом рассортирует...

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-24 12:21:15

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

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение hizel » 2011-02-24 12:29:30

а какой порядок pps(Packet Per Second) ?

Код: Выделить всё

netstat -I em0 -w 1
современные сетевушки могут масштабироватся на четыре ядра и поллинг в интеловских сетевых драйверах встроенный
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

проходил_мимо
проходил мимо

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение проходил_мимо » 2011-02-25 0:03:49

pf однопоточный больше чем на 1 ядре работать не сможет :)
да к тому же em драйвер тоже однопоточный.
Существует неофициальный многопоточный em драйвер от разработчиков яндекса см. http://forum.nag.ru/forum/index.php?sho ... 5411&st=40

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-25 14:26:30

Подскажите пожалуйста, как обрезать кол-во исходящих соединений?
фаервол выглядит так:

Код: Выделить всё

ipfw show
00099      1208       57984 deny tcp from table(77) to any dst-port 25
04998   1333646   200103483 skipto 5990 ip from table(101) to any in via em0
05090  31865077 13137215634 pipe tablearg ip from table(121) to any in via em0
05990  33114850 13284266094 allow ip from table(121) to any in via em0
08090  33088011 13291228363 ngtee 21 ip from table(121) to any out via em1
09999   1535430   314200780 skipto 20000 ip from table(100) to any out via em1
10090  31565576 12984870479 nat 100 ip from table(121) to any out via em1
20000  39230088 37947801039 nat 100 ip from any to me in via em1
29999    982918    75236575 skipto 30590 ip from any to table(101) in via em1
30090  37667969 37956574650 pipe tablearg ip from any to table(122) in via em1
30590  36808048 36029432254 ngtee 21 ip from any to table(121) in via em1
31090  36808326 36029402760 allow ip from any to table(121) in via em1
51090  36949740 36204271464 allow ip from any to table(121) out via em0
60000  33099189 13297599997 allow ip from any to any out via em1
65535 527048987 34225950262 deny ip from any to any
em1 - внешний интерфейс
em0 - внутренний интерфейс
таблица 77 - пользователи, замечанные в спаме
таблицы 121/122 - серые Ip юзеров
таблица 100 - все белые IP
таблица 101 - ip без ограничения скорости

Пробую добавить в самое начало правило для тестового Ip ограничение на 20 соединений

Код: Выделить всё

add 1 allow ip from Ip_тестового_компа_с_белым_ip to any keep-state limit src-addr 20 
И вся сеть сразу падает
пробовал уточнить что на исхдящее через em1

Код: Выделить всё

add 1 allow ip from Ip_тестового_компа_с_белым_ip/32 to any out via em1 keep-state limit src-addr 20
но опять же ложится вся сеть

Подскажите, пожалуйста, что я делаю не так и как исправить.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение LMik » 2011-02-26 9:14:54

Может быть конечно не в тему... но как у вас получилось 2*4 = 16 ядер. Без гипертрединга не обошлось, и сейчас у вас упор приходится 2 раза на пол ядра.

На сервере такого класса с хорошими серверными адаптерами от интел можно элементарно прокачать 2 гигабита с ipfw натом и думинетом. Полинг вам не нужен. Нужно рыть в сторону отложенных прерываний.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: FreeBSD 8.1 Загрузка 15% на прерываниях

Непрочитанное сообщение mmvds » 2011-02-27 10:16:33

LMik писал(а):Может быть конечно не в тему... но как у вас получилось 2*4 = 16 ядер. Без гипертрединга не обошлось, и сейчас у вас упор приходится 2 раза на пол ядра.

На сервере такого класса с хорошими серверными адаптерами от интел можно элементарно прокачать 2 гигабита с ipfw натом и думинетом. Полинг вам не нужен. Нужно рыть в сторону отложенных прерываний.
2*4 * 2 потока, загрузка сейчас 25% всего процессора, т.е. 2 ядра или *2 = 4 CPU
С отложенными прерываниями результат в начале темы.
Про полинг уже писал, что толку 0.
С NAT'ом серых ip на белый? Пользователей с тарифами до 5Мбит/сек? О_о Сильно сомневаюсь.
Если есть реальный пример, как "элементарно" прокачать до 2-х гигабит, буду рад посмотреть.