Долгий отклик запросного канала

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
fat_johnik
проходил мимо
Сообщения: 1
Зарегистрирован: 2010-04-21 14:48:27

Долгий отклик запросного канала

Непрочитанное сообщение fat_johnik » 2010-05-05 7:27:24

Всем салют!

Есть проблема с падением производительности сети, а именно исходящих запросов. Глюк довольно странный и не устраняемый заменой оборудования. Дело в том что когда клиентов немного- все прекрасно работает, запросы уходят моментально и страницы открываются как по локалке, но когда количество одновременно подключенных клиентов увеличивется до 30-40 все - затык, запрос может висеть и минуту, иногда приходится даже обновлять его, а ответ приходить практически моментально( страницы грузятся очень быстро)

Есть сервак:
FreeBSD 8.0-RELEASE-p2 #1: Wed Feb 24 12:04:18 ALMT 2010
CPU: Intel(R) Xeon(TM) CPU 3.00GHz (2992.51-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
две сетевухи первая: смотрит в интернет на ней прицеплен реальный адрес 212.154.х.х
em0: <Intel(R) PRO/1000 Network Connection 6.9.14> port 0xec80-0xecbf mem 0xfebe0000-0xfebfffff irq 16 at device 4.0 on pci7
вторая смотрит внутрь с адресом 192.168.0.2
re0: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet> port 0xdc00-0xdcff mem 0xfcfffc00-0xfcfffcff irq 48 at device 1.0 on pci3
(сразу оговорюсь что неисправности оборудования практически сведены к минимуму, т.к. это последняя конфигурация и та же ситуация происходила и на 3Com-овской и на Intel-овской карте)

включен pf,nat
поднят: BIND 9.6.1-P1 -t /var/named -u bind он держит первичную зону.
Канал 2Мб/с. Сначала были глюки с ласт-майлом, но после усердного пинания прова, и замены кабеля а также порта на DSLAMе, ситуация не изменилась.

Так же на нем крутится
Squid Cache: Version 2.7.STABLE7
и поднят exim:
Exim version 4.71 #0 (FreeBSD 8.0) built 25-Feb-2010 10:17:08
Copyright (c) University of Cambridge, 1995 - 2007
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() use_setclassresources PAM Perl Expand_dlfunc OpenSSL Content_Scanning DKIM Old_Demime Experimental_SPF
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch mysql nis nis0 passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
OpenSSL compile-time version: OpenSSL 0.9.8k 25 Mar 2009
OpenSSL runtime version: OpenSSL 0.9.8k 25 Mar 2009
Configuration file is /usr/local/etc/exim/configure
пробовал добавить одновременных коннектов и портов
net.inet.ip.portrange.randomtime: 45
net.inet.ip.portrange.randomcps: 10
net.inet.ip.portrange.randomized: 1
net.inet.ip.portrange.reservedlow: 0
net.inet.ip.portrange.reservedhigh: 1023
net.inet.ip.portrange.hilast: 65535
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.last: 48000
net.inet.ip.portrange.first: 1024
net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.lowfirst: 1023

kern.ipc.somaxconn: 4096
результат тот же.
Перегрузишь правила PF 2 минуты работает, потом опять затык.
Пробовал стопить squid чтоб все ездили через голый NAT эффект тот же.
В Pfе уже открыл все что можно было вот конфиг:
int_if="re0"
ext_if="em0"

int_net="192.168.0.0/24"
ext_net="212.154.х.х/26"
proxy="127.0.0.1"
gate="192.168.0.2"
aval="212.154.х.5/32"
ftp_ip="212.154.х.2/32"
mail="212.154.х.1/32"
vsrv="192.168.0.100"
srva="192.168.0.5"
john="192.168.0.234"
cheef="192.168.0.146"

table <badhosts> persist file "/etc/badhosts"

tcp_services="{ntp,domain,www,https,ssh,imap,imaps,pop3,pop3s,9100,smtp,3128,3306,6017,8000 }"
email="{smtp, 465, 587, pop3, imap, imap3, imaps, pop3s }"
webports="{ http, https, 1000 }"
ftp="{ftp, ftp-data }"

# options
set block-policy return
set loginterface $ext_if
set skip on lo

# scrub
#scrub in on $ext_if all fragment reassemble min-ttl 20 max-mss 1500
#scrub in on $ext_if all no-df
#scrub on $ext_if all reassemble tcp

nat on $ext_if from $int_if:network to any -> ($ext_if)
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
#nat/rdr

#Redirect
rdr on $int_if proto tcp from $int_if:network to port 80 -> 127.0.0.1 port 3128
#rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021
#web and email servers inside
rdr on $ext_if proto tcp from any to $aval port $webports -> $srva
rdr on $ext_if proto tcp from any to $aval port $email -> $srva
rdr on $ext_if proto tcp from any to $mail port $email -> $gate
rdr on $ext_if proto tcp from any to any port 6882 -> $john port 6882
rdr on $ext_if proto udp from any to any port 6882 -> $john port 6882
rdr on $ext_if proto tcp from any to any port 6883 -> $cheef port 6883
rdr on $ext_if proto udp from any to any port 6883 -> $cheef port 6883
rdr on $ext_if proto tcp from any to any port 5631 -> $cheef port 5631
rdr on $ext_if proto udp from any to any port 5632 -> $cheef port 5632
rdr on $ext_if proto tcp from any to any port 3389 -> $cheef port 3389
rdr on $ext_if proto udp from any to any port 3389 -> $cheef port 3389
rdr on $ext_if proto tcp from any to any port 8100 -> $vsrv port 8100
rdr on $ext_if proto udp from any to any port 8100 -> $vsrv port 8100

antispoof quick for { lo $int_if $ext_if }

anchor "ftp-proxy/*"

pass in quick on $ext_if proto tcp from any to $john port 6882 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $john port 6882 keep state
pass in quick on $ext_if proto tcp from any to $cheef port 6883 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $cheef port 6883 keep state
pass in quick on $ext_if proto tcp from any to $cheef port 3389 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $cheef port 3389 keep state
pass in quick on $ext_if proto tcp from any to $cheef port 5631 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $cheef port 5632 keep state
pass in quick on $ext_if proto tcp from any to $vsrv port 8100 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $vsrv port 8100 keep state
#for web and email servers inside

pass in quick on $ext_if proto tcp from any to $srva port $webports flags S/SA synproxy state
pass in quick on $ext_if proto tcp from any to $srva port $email flags S/SA synproxy state
pass in quick on $ext_if proto tcp from $srva to any port smtp flags S/SA synproxy state
pass in quick on $ext_if proto tcp from any to $gate port $email flags S/SA synproxy state
pass in quick on $ext_if proto tcp from $gate to any port smtp flags S/SA synproxy state
pass in on $ext_if inet proto tcp to $aval port 21 flags S/SA keep state
pass out on $int_if inet proto tcp to $srva port 21 user proxy flags S/SA keep state
pass in quick on $ext_if proto tcp from any to $ftp_ip port ftp flags S/SA synproxy state

pass inet proto icmp from any to any
pass in quick on lo0 all
pass out quick on lo0 all
вот и так уже неделю.
До этого стоял сервак на 6 фре и все было более чем замечательно, а тут решил на новую (ну не очень) железку переехать и вот...

Хостинговая компания 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/

Аватара пользователя
baton4eg
сержант
Сообщения: 274
Зарегистрирован: 2009-10-11 14:36:35
Контактная информация:

Re: Долгий отклик запросного канала

Непрочитанное сообщение baton4eg » 2010-05-08 10:52:19

возможно в коде pf произошли какие то изминения, отпиште в список рассылки, они вам подскажут
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих файлов вообще нет!" (c)
"Я ем руками, она вилкой и ножом, я бью вилкой и ножом, она руками" (с)