The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"FreeBSD8 и сетевые Broadcom - проблема при шейпировании"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Сеть. проблемы, диагностика / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от qwek (ok) on 10-Дек-10, 21:17 
CPU: Intel(R) Xeon(TM) CPU 3.60GHz (3600.16-MHz 686-class CPU)

bge0@pci0:6:0:0: class=0x020000 card=0x02c61014 chip=0x165914e4 rev=0x11 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'NetXtreme Gigabit Ethernet PCI Express (BCM5721)'
class = network
subclass = ethernet

bge1@pci0:7:0:0: class=0x020000 card=0x02c61014 chip=0x165914e4 rev=0x11 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'NetXtreme Gigabit Ethernet PCI Express (BCM5721)'
class = network
subclass = ethernet

swapinfo
Device 1K-blocks Used Avail Capacity
/dev/da0s1b 4194304 0 4194304 0%

real memory  = 4294967296 (4096 MB)

Ситуация:
машина занимается шейпированием трафика. Скорость абонента 2 мегабита. Скорость канала в целом 100 мегабит. Число абонентов на шейпере около 600 (в списке в целом). Система FreeBSD 8.0 При подключении одного абонента все нормально. Скорость в норме - как и положено 2 мегабита.

При подключении нагрузки снижается скорость до 0.2 мегабита, присутствуют потери. Показания спидетест дергаются. В целом создаётся картина, что машина загружена прерываниями, однако показания interrupt не высоки, загрузка процессора тоже низкая.

Подозреваю, что что-то происходит с сетевыми картами но ума не приложу как это можно увидеть и полечить. Может кто нибудь натолкнуть на мысль?
Спасибо!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от temny email(ok) on 11-Дек-10, 03:51 
По описанию похоже на переполнение очереди пайпа используемого шейпером.

Проверить можно где-то так:

ground# ipfw pipe 1 show
00001:  30.000 Kbit/s    0 ms burst 0
q131073  50 sl. 0 flows (1 buckets) sched 65537 weight 0 lmax 0 pri 0 droptail
sched 65537 type FIFO flags 0x0 0 buckets 1 active
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 ip           0.0.0.0/0             0.0.0.0/0      198   136856 50 24410 108

в последней строке последняя запись (Drp) - это счётчик пакетов, дропнутых шейпером в виду того, что они не поместились в отведённую по умолчанию очередь для данного пайпа

третья/вторая запись с конца (Pkt/Byte) - количество пакетов/байт во внутренней очереди шейпера

размер внутренней очереди пайпа в данном примере 50 пакетов (50 sl.)

Таким образом из данного примера можно сказать, что размера внутренней очереди для данного пайпа недостаточно.

Исправить можно указав параметр queue при создании пайпа. Т.е. где-то так:

ipfw pipe 1 config bw 30Kbit/s queue 256Kbytes

в этом случае вы указываете, что размер внутренней очереди, связанной с пайпом 256 Кбайт
или так:
ipfw pipe 1 config bw 30Kbit/s queue 300

в этом случае вы указываете, что размер внутренней очереди, связанной с пайпом 300 пакетов
(возможно ещё придётся поднять значение sysctl net.inet.ip.dummynet.pipe_slot_limit)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от qwek (ok) on 11-Дек-10, 12:14 
Для проверки отключил фаерволл (FreeBSD шейпер находится за линуксовым натом), в результате получил такой же результат - загрузка канала 20-30 мегабит вместо положеных 80-90, скорость на спидтесте плавает, падает почти до нуля и поднимается до 2-3 мегабит. Вобщем не работает как надо. Ничего вообще теперь не понимаю. Выходит таки сетевые шалят? Что может такое происходить? Куда теперь рыть? Подскажите, что можно еще проверить, сам уже почти всю бороду выщипал.
Спасибо!
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от temny email(ok) on 11-Дек-10, 16:20 
Покажите вывод команды
netstat -dw 10 -q 10

На счёт загрузки CPU - какие пиковые значения вам удаётся наблюдать в top если "зажать пробел". Интересуют system и interrupt.

Пробовали ли вы работать с включеным polling-ом?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от qwek (ok) on 11-Дек-10, 21:34 
> Покажите вывод команды
> netstat -dw 10 -q 10
> На счёт загрузки CPU - какие пиковые значения вам удаётся наблюдать в
> top если "зажать пробел". Интересуют system и interrupt.
> Пробовали ли вы работать с включеным polling-ом?

Полинг включен, smp также включено.

netstat -dw 10 -g 10
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls drops
    135402     0   73664084     135086     0   73255532     0     0
    133977     0   73565240     133725     0   73201192     0     0
    133668     0   74402225     133461     0   74118434     0     0
    131349     0   74338555     131165     0   74070570     0     0

При зажатом пробеле (top -SPH) процессоры выстраиваются в 100% idle периодически system и interrupt отжирают по очереди от 20% до 30% буквально на доли секунды. Периодически возникают провалы в трафике до нуля (не часто), потом поднимается понемногу до 40 - 50-ти мегабит.

###################################                        #####
###################################                        #####
###################################                        #####
###################################                        #####
###################################                        #####
###################################                        #####
####################################                      |#####
####################################                      ######
####################################                      ######
####################################                      ######
####################################                      ######  Curr: 18.97 MBit/s
####################################                      ######  Avg: 38.27 MBit/s
####################################                      ######  Min: 0.00 Bit/s
####################################                     .######  Max: 49.40 MBit/s
####################################                     #######  Ttl: 3.78 GByte

Outgoing
#######################################
#######################################
#######################################                        #
#######################################                       .#
#######################################                    |. ##
#######################################                    #####
#######################################.                   #####
########################################                   #####
########################################                  .#####
########################################                  ######
#########################################|.               ######
##########################################| |.            ######  Curr: 8.92 MBit/s
##########################################|.             ######  Avg: 11.73 MBit/s
##############################################.        ######  Min: 0.32 kBit/s
###################################################  ######  Max: 15.12 MBit/s
###################################################.#######  Ttl: 1.34 GByte

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от temny email(ok) on 11-Дек-10, 23:13 
Сорри, у меня на данный момент идей нет. Если что-то прийдёт в голову, то я ещё напишу.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от qwek (ok) on 11-Дек-10, 23:23 
Да, понял. Спасибо в любом случае!
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от YuSt on 12-Дек-10, 01:28 
бр-р-р....
Во-первых Вы бы для начала хоть немного "отрисовали" нам структуру вашей сети-серверов, что-ли ;)
Во-вторых почти обидное детское замечание - оставьте спидтест Вашим пользователям. Для Вас есть netstat, htop, wget и прочие подобные штуки ;)
В третьих пошли бы по порядку - на этой машинке, где у Вас крутится шейпер - можете проверить качество внешнего канала - например выполнив wget с ближайшего ftp-сервера с жирным каналом и посмотрев результаты через netstat (при отключенных шейпере и клиентах)?
В общем давайте вначале пункт первый, а затем попробуем локализовать проблему... А то слишком много вариантов - от глючных сетевух и маленького буфера для очередей до криво настроенного ната и шейпера ;)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от qwek (ok) on 13-Дек-10, 13:43 
>[оверквотинг удален]
> что-ли ;)
> Во-вторых почти обидное детское замечание - оставьте спидтест Вашим пользователям. Для
> Вас есть netstat, htop, wget и прочие подобные штуки ;)
> В третьих пошли бы по порядку - на этой машинке, где у
> Вас крутится шейпер - можете проверить качество внешнего канала - например
> выполнив wget с ближайшего ftp-сервера с жирным каналом и посмотрев результаты
> через netstat (при отключенных шейпере и клиентах)?
> В общем давайте вначале пункт первый, а затем попробуем локализовать проблему... А
> то слишком много вариантов - от глючных сетевух и маленького буфера
> для очередей до криво настроенного ната и шейпера ;)

wget мне ничего не даст, закачает в любом случае потому что тянет в один поток. htop я показывал там практически всегда 0 по всем важным пунктам контроля. Netstat ошибок не выявляет - нет дропаных пакетов. Думал по поводу проверки сети с помощью iperf но условий для теста пока не создал. Шейпер и нат исключены в поиске неисправности, потому что шейпер отключал, результат не изменился, а NAT находится на другой машине под Linux и с ним по определению ничего быть не может, так как аналогичная конфигурация на другой машине выдаёт 95 мегабит легко без напряга и потерь.

Глючные сетевые и маленький буфер это очень интересно, можно чуть подробнее по этим пунктам? Как посмотреть, где крутнуть?
Спасибо!

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от qwek (ok) on 14-Дек-10, 11:35 
Видимо таки нельзя. Ну да ладно и на том спасибо всем кто откликнулся. Дальше сам поплыву.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "FreeBSD8 и сетевые Broadcom - проблема при шейпировании"  +/
Сообщение от qwek (ok) on 16-Дек-10, 11:51 
Если у кого то возникнут подобные проблемы ищите ответ в этих статьях:

http://markmail.org/message/vtxhbattmuubmvoo
http://www.opennet.me/base/net/tune_freebsd.txt.html

Отчасти мне это помогло, но конкретно моя проблема оказалась в неисправном оборудовании. Еще раз всем спасибо, Opennet лучший ресурс для системного администратора.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру