Большая загрузка swi и em1
Re: Большая загрузка swi и em1
Тогда, если закрыть глаза на совместимость софт\ядро, получается виноват адаптер em1. С поллингом процессор не прерывается на обработку каждого сетевого пакета, а обрабатывает их раз в какое-то время (HZ=1000). Все это время пакеты накапливаются в буфере адаптера. Вот с ним видимо и проблема - судя по увеличивающимся ошибкам. Там у вас, случайно, шина pci не разогнана? Попробуйте сменить адаптер на любой, даже rl.
Re: Большая загрузка swi и em1
Склоняюсь к тому-же, на материнской плате имеется встроенная сетвая re, но freebsd 6.4 ee к сожалению не видит.sopov писал(а):Тогда, если закрыть глаза на совместимость софт\ядро, получается виноват адаптер em1. С поллингом процессор не прерывается на обработку каждого сетевого пакета, а обрабатывает их раз в какое-то время (HZ=1000). Все это время пакеты накапливаются в буфере адаптера. Вот с ним видимо и проблема - судя по увеличивающимся ошибкам. Там у вас, случайно, шина pci не разогнана? Попробуйте сменить адаптер на любой, даже rl.
Шину PCI не разгонял. Еще склоняюсь к тому, что может не хватать таки шины PCI на два девайса, т.к. шина таки запаралелена (оба девайса на pci4). Собственно слотов pci всего два

http://v-lan.com.ua Выделенные линии в Боярке
Re: Большая загрузка swi и em1
Значит так, хочется отчитаться о проделанной работе:
1. Замена сетевых Intel-овых PCI сетевых на одну DUAL не дало никакого резульата.
2. Убрать нагрузку с swi1: net помогло
В FreeBSD7.2 этот параметр стоит по умолчанию, в 6.4 - нет. Нагрузка на swi1: net упала до 0.00%
, потери при netstat -w1 -iem1 упали раза в два-три, сразу стало видно что нехватает мощности процессора.
3.На следующем этапе параллельно поднять второй сервер но уже с MPD5, посмотрим как там будет все жить. Потом плавно (ночью) пеоеведу всех пользователей
.
П.С. забыл выложить текущие показатели топа и нетстата
Собственно ошибки стремятся к нулю.
Дальше будет видно.
1. Замена сетевых Intel-овых PCI сетевых на одну DUAL не дало никакого резульата.
2. Убрать нагрузку с swi1: net помогло
Код: Выделить всё
sysctl net.isr.direct=1

3.На следующем этапе параллельно поднять второй сервер но уже с MPD5, посмотрим как там будет все жить. Потом плавно (ночью) пеоеведу всех пользователей

П.С. забыл выложить текущие показатели топа и нетстата
Код: Выделить всё
#top -SIP
last pid: 94266; load averages: 7.90, 10.17, 10.29 up 0+08:45:10 23:19:27
473 processes: 6 running, 432 sleeping, 14 waiting, 21 lock
CPU 0: 7.6% user, 0.0% nice, 55.7% system, 24.1% interrupt, 12.7% idle
CPU 1: 15.0% user, 0.0% nice, 55.0% system, 6.3% interrupt, 23.8% idle
CPU 2: 3.8% user, 0.0% nice, 25.3% system, 45.6% interrupt, 25.3% idle
CPU 3: 3.8% user, 0.0% nice, 26.6% system, 58.2% interrupt, 11.4% idle
Mem: 331M Active, 154M Inact, 161M Wired, 152K Cache, 214M Buf, 3189M Free
Swap: 4096M Total, 4096M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
23 root 1 -68 -187 0K 16K CPU3 3 409:14 68.41% irq257: em1
22 root 1 -68 -187 0K 16K WAIT 2 68:15 26.27% irq256: em0
12 root 1 171 52 0K 16K CPU1 1 188:58 11.23% idle: cpu1
11 root 1 171 52 0K 16K CPU2 2 127:20 11.23% idle: cpu2
13 root 1 171 52 0K 16K RUN 0 124:11 6.74% idle: cpu0
76985 root 1 118 0 13976K 3528K *Giant 1 9:53 5.22% ppp
10 root 1 171 52 0K 16K RUN 3 119:44 3.71% idle: cpu3
83080 root 1 78 0 13980K 3504K *Giant 1 2:58 0.73% ppp
user# netstat -w1 -h -Iem1
input (em1) output
packets errs bytes packets errs bytes colls
8.9K 0 6.5M 8.7K 0 3.8M 0
9.9K 0 7.8M 8.8K 0 3.2M 0
9.1K 0 7.1M 8.3K 0 3.5M 0
8.4K 0 5.8M 8.7K 0 4.0M 0
9.2K 0 7.0M 8.8K 0 3.9M 0
8.8K 0 6.8M 8.3K 0 3.9M 0
9.6K 0 7.2M 8.9K 0 3.4M 0
9.5K 0 7.5M 8.6K 0 3.6M 0
9.6K 0 7.5M 8.6K 0 3.1M 0
8.5K 10 6.5M 8.1K 0 3.3M 0
^C
user# wq
VPN users ONLINE: 180
user#
Дальше будет видно.
http://v-lan.com.ua Выделенные линии в Боярке
Re: Большая загрузка swi и em1
Квад с трудом переваривает 180 юзверей?
Что-то тут не то...
У нас (правда на линуксе) дуалкор, довольно чахленький (атлон 5000+) начинал пухнуть при 500-600+ коннектах... При попытках поюзать тиминг (и таким образом хоть как-то заюзать оба ядра под прерывания, т.к. все по обработке пакета вертится на ядре, которое обслуживает прерывание) - более 700 коннектов вытягивал, но уже с дропом пакетов.
Внешний траффик - около 200 мбит в каждую из сторон...

У нас (правда на линуксе) дуалкор, довольно чахленький (атлон 5000+) начинал пухнуть при 500-600+ коннектах... При попытках поюзать тиминг (и таким образом хоть как-то заюзать оба ядра под прерывания, т.к. все по обработке пакета вертится на ядре, которое обслуживает прерывание) - более 700 коннектов вытягивал, но уже с дропом пакетов.
Внешний траффик - около 200 мбит в каждую из сторон...
Re: Большая загрузка swi и em1
Вот и я говорю, всеравно не есть гуд. Текущее железо, при оптимальной настройке, способно переварить порядка 1G трафика и х.з. сколько ppp трубок - думаю больше 1000 точно... Всеравно большая нагрузка по прирываниям. У меня когдато был exppp, так вот на ~450 ppp у машинки наступал колапс и она ребутилась от чрезмерной нагрузки. После замены всего этого хозяйства на MPD5+NGCAR, тоже железо вобще без нагрузки держит ~800 ppp и около 100 мбит трафа.
Код: Выделить всё
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (3000.37-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf65 Stepping = 5
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0xe59d<SSE3,RSVD2,MON,DS_CPL,EST,TM2,CNXT-ID,CX16,xTPR,PDCM>
AMD Features=0x20000000<LM>
AMD Features2=0x1<LAHF>
Logical CPUs per core: 2
real memory = 2138701824 (2039 MB)
avail memory = 2087890944 (1991 MB)
Код: Выделить всё
last pid: 11223; load averages: 0.03, 0.03, 0.00 up 86+05:30:30 17:45:52
71 processes: 2 running, 50 sleeping, 19 waiting
CPU: 0.4% user, 0.0% nice, 0.4% system, 0.0% interrupt, 99.3% idle
Mem: 47M Active, 312M Inact, 172M Wired, 112M Buf, 1463M Free
Swap: 4000M Total, 4000M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
10 root 1 171 52 0K 8K RUN 1745.3 97.61% idle
13 root 1 -44 -163 0K 8K WAIT 248.7H 0.00% swi1: net
31 root 1 -68 0 0K 8K - 25.5H 0.00% dummynet
11 root 1 -32 -151 0K 8K WAIT 22.7H 0.00% swi4: clock sio
14 root 1 -16 0 0K 8K - 274:48 0.00% yarrow
1053 root 1 96 0 43552K 28048K select 148:22 0.00% mpd5
39 root 1 20 0 0K 8K syncer 111:41 0.00% syncer
927 root 1 96 0 1440K 1100K select 38:25 0.00% syslogd
35 root 1 171 52 0K 8K pgzero 12:41 0.00% pagezero
1001 bind 1 96 0 10940K 10100K select 9:50 0.00% named
3 root 1 -8 0 0K 8K - 8:50 0.00% g_up
4 root 1 -8 0 0K 8K - 7:16 0.00% g_down
26 root 1 -64 -183 0K 8K WAIT 5:20 0.00% irq17: atapci1
2 root 1 -8 0 0K 8K - 3:53 0.00% g_event
41 root 1 -16 0 0K 8K - 3:15 0.00% schedcpu
32 root 1 -8 0 0K 8K m:w1 1:50 0.00% g_mirror gm0
40 root 1 -16 0 0K 8K sdflus 1:03 0.00% softdepflush
846 root 1 96 0 528K 380K select 0:54 0.00% devd
37 root 1 -16 0 0K 8K psleep 0:32 0.00% bufdaemon
38 root 1 -4 0 0K 8K vlruwt 0:30 0.00% vnlru
1230 root 1 96 0 1516K 1228K select 0:27 0.00% inetd
1151 root 1 4 0 1612K 1296K kqread 0:20 0.00% master
90805 root 1 96 0 3256K 2844K select 0:16 0.00% ospfd
1179 root 1 8 0 1432K 1136K nanslp 0:15 0.00% cron
Код: Выделить всё
nas1# ifconfig | grep ng | wc -l
765
Код: Выделить всё
netstat -w1 -h -Iem0
input (em0) output
packets errs bytes packets errs bytes colls
13.9K 0 3.0M 14.2K 0 9.0M 0
13.8K 0 3.0M 14.1K 0 9.0M 0
14.1K 0 2.7M 14.1K 0 9.1M 0
13.8K 0 2.8M 14.1K 0 9.9M 0
13.7K 0 2.5M 14.0K 0 8.8M 0
13.9K 0 2.8M 14.2K 0 9.2M 0
13.8K 0 2.6M 14.2K 0 8.1M 0
14.2K 0 2.7M 14.6K 0 8.6M 0
13.9K 0 2.8M 14.2K 0 8.1M 0
13.6K 0 2.6M 13.8K 0 9.6M 0
13.6K 0 2.5M 13.8K 0 8.7M 0
13.6K 0 2.4M 13.8K 0 8.7M 0
13.6K 0 2.8M 13.9K 0 8.7M 0
13.5K 0 3.1M 13.8K 0 8.6M 0
13.6K 0 2.9M 13.7K 0 9.5M 0
14.1K 0 3.0M 14.1K 0 8.9M 0
14.1K 0 3.0M 14.2K 0 9.0M 0
13.9K 0 3.2M 14.1K 0 8.8M 0
14.0K 0 3.1M 14.2K 0 8.2M 0
13.5K 0 3.1M 13.7K 0 8.6M 0
Re: Большая загрузка swi и em1
Спешу отписаться о найденном тонком месте 
Виной всему не exppp и не сетевая карта
. А бональный IPFW, точнее правила которые, ему скормлены.
Итого: При подключении по ppp (exppp + poptop) Я делю трафик на мир и украину (1670 подсетей).
Не смотря на то, что я использую таблицы в фаерволе, все равно мощности машины не хватает на быструю обработку.
А теперь добавляем в фаервол правило ipfw add 10 allow all from any to any
смотрим что полуилось
ну и нагрузка на систему
В общем ситуация думаю ясна. Решил следующим образом подкорректировал скрипт linkupdown, на предмет создания правил подсчета трафика относительно UAIX (В принципе они там вообще не нужны т.к. считает их exppp посредством файлов net). Ну и ситуация наладилась.
Будем надеяться на лучшее
Посмотрим сколько пользователей теперь сможет отработать коробченка 

Виной всему не exppp и не сетевая карта

Итого: При подключении по ppp (exppp + poptop) Я делю трафик на мир и украину (1670 подсетей).
Не смотря на то, что я использую таблицы в фаерволе, все равно мощности машины не хватает на быструю обработку.
Код: Выделить всё
user# netstat -hw1 -Iem1
input (em1) output
packets errs bytes packets errs bytes colls
8.7K 0 8.0M 7.6K 0 2.9M 0
9.5K 4 8.4M 8.2K 0 2.5M 0
8.8K 0 7.8M 7.7K 0 3.1M 0
9.1K 0 8.0M 7.9K 0 2.9M 0
9.2K 0 8.0M 7.9K 0 2.8M 0
8.8K 2 7.8M 7.7K 0 3.2M 0
9.3K 0 9.2M 7.7K 0 2.6M 0
9.3K 0 8.7M 7.7K 0 2.8M 0
^C
user# wq
VPN users ONLINE: 177
смотрим что полуилось
Код: Выделить всё
user# netstat -hw1 -Iem1
input (em1) output
packets errs bytes packets errs bytes colls
15K 0 14M 12K 0 6.1M 0
13K 0 12M 11K 0 5.3M 0
15K 0 13M 12K 0 6.4M 0
15K 0 14M 12K 0 6.0M 0
13K 0 12M 11K 0 5.6M 0
12K 0 11M 9.9K 0 5.0M 0
13K 0 12M 11K 0 4.7M 0
12K 0 11M 10K 0 4.8M 0
12K 0 12M 9.7K 0 3.8M 0
12K 0 12M 10K 0 4.5M 0
13K 0 12M 11K 0 5.0M 0
13K 0 12M 11K 0 5.2M 0
12K 0 11M 10K 0 4.9M 0
11K 0 9.2M 9.8K 0 4.9M 0
15K 0 16M 12K 0 4.4M 0
16K 0 17M 12K 0 4.6M 0
^C

Код: Выделить всё
user# top -SIP
last pid: 48953; load averages: 2.10, 3.07, 4.26 up 1+23:55:40 14:29:57
437 processes: 5 running, 410 sleeping, 15 waiting, 7 lock
CPU 0: 17.0% user, 0.0% nice, 18.4% system, 0.0% interrupt, 64.6% idle
CPU 1: 6.3% user, 0.0% nice, 20.4% system, 0.5% interrupt, 72.8% idle
CPU 2: 14.2% user, 0.0% nice, 19.1% system, 12.7% interrupt, 53.9% idle
CPU 3: 16.1% user, 0.0% nice, 19.0% system, 12.2% interrupt, 52.7% idle
Mem: 391M Active, 692M Inact, 160M Wired, 232K Cache, 214M Buf, 2494M Free
Swap: 4096M Total, 4096M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
12 root 1 171 52 0K 16K CPU1 1 26.3H 66.89% idle: cpu1
13 root 1 171 52 0K 16K RUN 0 22.1H 52.59% idle: cpu0
10 root 1 171 52 0K 16K CPU3 3 19.9H 42.09% idle: cpu3
11 root 1 171 52 0K 16K CPU2 2 21.6H 39.06% idle: cpu2
22 root 1 -68 -187 0K 16K WAIT 2 531:23 6.74% irq256: em0
48455 root 1 81 0 13888K 3512K select 3 1:05 3.71% ppp
39296 root 1 79 0 13508K 3084K *Giant 2 6:04 0.73% ppp
Код: Выделить всё
user# netstat -hw1 -Iem1
input (em1) output
packets errs bytes packets errs bytes colls
18K 0 20M 12K 0 2.3M 0
14K 0 15M 9.5K 0 1.9M 0
17K 0 18M 11K 0 2.3M 0
18K 0 19M 12K 0 2.3M 0
16K 0 17M 11K 0 2.6M 0
16K 0 17M 11K 0 2.3M 0
15K 0 16M 11K 0 2.6M 0
14K 0 15M 10K 0 2.4M 0
16K 0 16M 11K 0 2.6M 0
17K 0 18M 11K 0 2.0M 0
14K 0 14M 10K 0 2.7M 0
^C


http://v-lan.com.ua Выделенные линии в Боярке
Re: Большая загрузка swi и em1
