0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 28
1

Влияние входящего трафика на исходящий во FreeBSD 7.2

28.10.2011, 20:08. Показов 2890. Ответов 25
Метки нет (Все метки)

Приветствую всех поклонников FreeBSD.

Недавно столкнулся с проблемой маршрутизации трафика во FreeBSD, вот в каком ключе. Есть сервер с ОС FreeBSD. Из сервера торчат три патчкорда, по 100 мбит/сек каждый. Каждый патчкорд подключен к своей сетевой плате. Один из трёх сетевых интерфейсов ( на прикрепленном скриншоте имя интерфейса bge1 ) принимает время от времени данные, при этом входящая скорость на нем достигает 7 мбайт/сек ( см. скриншот ). В момент приема данных скорость отдачи данных на двух других интерфейсах резко падает практически до нуля ( отмечено красными прямоугольниками на скриншоте ). Т.е. наблюдается чёткая зависимость Исходящего трафика на одних интерфейсах ( vr0 и bge0, см. скриншот ) от Входящего трафика на другом интерфейсе ( bge1 ). Кто-нибудь может подсказать с чем это связано и как этого избежать?
Миниатюры
Влияние входящего трафика на исходящий во FreeBSD 7.2  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2011, 20:08
Ответы с готовыми решениями:

Чтение из входящего потока и запись в исходящий файловый поток
Здравствуйте ! Подскажите, пожалуйста ошибку. Вообщем, на вход прилетает массив url-адресов, к...

Поведенческие факторы. Влияние накрученного Трафика., Управление ПФ с помощью трафика. На примере we
Здравствуйте! Меня зовут Кристина и я практикую накрутку поведенческих факторов для раскрутки...

Блокировка входящего трафика
Всем привет, помогите с такой проблемой у меня есть сервер Rust legacy и его ддосят через чит...

Контроль входящего сетевого трафика
А можно ли как нибудь контролировать количество входящего сетевого трафика? (по tcp)

25
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 28
31.10.2011, 21:30  [ТС] 21
g_u_e_s_t, да вы правы, судя по всему. Попытался скопировать файл через подмонтированные диски. vr0 нагрузился по полной, как в случае подкачки файла описанной выше. При этом скорость раздачи не упала. Вывод - виновник ситуации, вероятно, сервер lighttpd, который осуществляет логику подкачки файла с подмонтированных дисков (nfs).

Код
20:25:24      0.00      0.00   1337.96  55022.35    498.75  19703.02
20:25:25      0.00      0.00   1028.27  46782.49    370.35  14621.92
20:25:26      0.00      0.00   1490.03  65293.72    561.99  22505.48
20:25:27      0.00      0.00   1080.92  43465.93    418.14  15312.58
20:25:28   9719.61    180.46   1300.87  56136.73    443.16  17534.70
20:25:29  35620.88    644.23   1498.26  64122.34    506.93  20620.95
20:25:30  45867.63    828.11   1035.82  40874.09    422.46  14385.55
20:25:31  63005.57   1137.02   1220.23  50981.84    405.14  17243.01
20:25:32  23415.65    420.67    763.35  27060.38    348.12   9873.72
20:25:33  38300.49    693.50    353.68  14133.74    124.29   4313.75
20:25:34  49898.39    900.22   1392.23  64320.97    488.78  20671.40
20:25:35  27551.99    496.39   1449.29  59059.47    557.44  21333.46
20:25:36  31151.80    562.49   1360.95  58681.30    552.43  22233.46
20:25:37  27900.76    506.00   1314.93  55710.09    550.00  20733.39
20:25:38  78285.10   1413.45   1018.66  39545.03    397.46  13382.41
20:25:39  51195.12    924.27   1174.77  52200.88    472.69  18848.22
20:25:40  36666.65    659.84   1303.16  54483.25    494.72  20775.17
20:25:41  29475.47    534.85   1300.88  52652.55    550.17  21028.79
20:25:42  49377.89    890.62    846.41  35293.84    372.20  14034.64
20:25:43  30027.33    540.86   1480.49  63104.28    584.91  24859.84
20:25:44  27011.50    487.98   1472.49  65253.63    552.24  22480.44
20:25:45  35358.76    640.62   1274.88  48953.59    496.54  17749.31
20:25:46  19862.53    359.37    930.08  40608.04    414.87  16623.33
20:25:47  76069.10   1372.60   1124.36  48611.84    421.42  16679.91
20:25:48  12518.79    227.16   1553.02  64358.07    597.12  25239.99
20:25:49  15981.31    288.46   1169.71  47356.75    471.84  15977.71
20:25:50  29553.76    531.25   1016.79  44413.94    417.89  16763.96
20:25:51  44070.14    798.07   1368.51  57820.25    479.63  19046.08
20:25:52  33318.03    600.95   1076.36  46652.35    429.07  18398.96
20:25:53  15934.09    289.66   1374.87  58034.93    649.02  24506.37
20:25:54  50850.31    915.86    898.97  34560.86    439.38  15709.59
20:25:55  33494.33    604.56   1060.41  48340.94    376.05  17074.86
20:25:56  16599.98    300.48   1240.59  52156.04    554.58  22486.16
20:25:57      0.00      0.00   1023.98  42030.03    486.45  19259.10
20:25:58  25459.42    456.41    822.49  27089.21    316.87   8835.32
20:25:59     92.39      1.17    599.02  28502.39    273.54  12543.47
20:26:00      0.00      0.00   1626.07  70446.85    668.41  27895.00
20:26:01     10.88     11.71    946.10  38312.14    404.46  15530.92
20:26:02      0.00      0.00   1011.85  40754.95    458.64  17318.85
20:26:03      0.00      0.00   1092.79  45222.73    534.03  21021.51
g_u_e_s_t, спасибо Вам огромное, даже не знаю как вас отблагодарить. Можно сказать, половина дела сделана, причина найдена. Теперь осталось подумать как её устранить.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
31.10.2011, 21:40 22
kamik_from_rus, судя по отсутствию каких-то предельных нагрузок, там какой-то лок (выглядит так, будтo-то lighthttpd блокируется на время выполнения копирующего скрипта).
У меня кругом nginx для этого дела, с light дела не имел и ничего конкретного сказать про него не могу(
Кстати vmstat показывал до 3х ждущих процеесов, среди них веб сервера нет?
1
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 28
31.10.2011, 22:18  [ТС] 23
g_u_e_s_t, у меня nginx на переднем плане стоит и в случае прихода определенного типа запроса отдаёт его на выполнение lighttpd. Lighty используется потому, что к нему можно написать дополнительный скрипт на языке lua, который бы контролировал, к примеру, ip адрес с которого запрашивается файл. И если он соответствует определенным характеристикам - отдать файл. Не знаю, можно ли с помощью nginx дописать подобную логику? Вероятно, как то можно. Только с помощью какого инструмента, надо поискать. Плюс Lighty тут используется как сервер для отдачи тяжелого контента. Не знаю, будит ли nginx так же хорошо работать. У nginx предназначение несколько иное.

Скорее всего в vmstat, это не те процессы. А вот команда top m что показывает, в момент подкачки lighty c использованием утилиты cp, это интересно:

Код
last pid: 23163;  load averages:  0.03,  0.05,  0.01   up 3+09:49:23  21:00:31
48 processes:  1 running, 47 sleeping
CPU:  0.0% user,  0.0% nice,  1.7% system,  0.8% interrupt, 97.6% idle
Mem: 533M Active, 977M Inact, 375M Wired, 42M Cache, 213M Buf, 48M Free
Swap: 2048M Total, 52K Used, 2048M Free

  PID USERNAME   VCSW  IVCSW   READ  WRITE  FAULT  TOTAL PERCENT COMMAND
 1007 www           0      0      0      0      0      0   0.00% lighttpd
23163 www         502      6      0     32    502    534 100.00% cp
23162 www           0      0      0      0      0      0   0.00% sh
22952 root          2      7      0      0      0      0   0.00% vmstat
  703 root          7      1      0      0      0      0   0.00% syslogd
  840 _sphinx       2      0      0      0      0      0   0.00% searchd
  477 _pflogd       4      0      0      0      0      0   0.00% pflogd
 1027 root          0      0      0      0      0      0   0.00% cron
  994 mysql         4      0      0      0      0      0   0.00% mysqld
17193 root          2      0      0      0      0      0   0.00% sshd
10242 root          2      0      0      0      0      0   0.00% sshd
17439 root          1      0      0      0      0      0   0.00% sshd
10248 root          0      0      0      0      0      0   0.00% bash
22111 root          2      0      0      0      0      0   0.00% ifstat
23020 root          1      5      0      0      0      0   0.00% top
Добавлено через 10 минут
В нормальном режиме работы всё выглядит так:

Код
last pid: 24175;  load averages:  0.02,  0.04,  0.00             up 3+10:11:20  21:22:28
46 processes:  1 running, 45 sleeping
CPU:  0.0% user,  0.0% nice,  1.9% system,  3.6% interrupt, 94.5% idle
Mem: 534M Active, 979M Inact, 362M Wired, 51M Cache, 213M Buf, 48M Free
Swap: 2048M Total, 52K Used, 2048M Free

  PID USERNAME   VCSW  IVCSW   READ  WRITE  FAULT  TOTAL PERCENT COMMAND
 1007 www         125    405    187      0      0    187 100.00% lighttpd
  703 root          5      1      0      0      0      0   0.00% syslogd
  840 _sphinx       1      0      0      0      0      0   0.00% searchd
  477 _pflogd       4      0      0      0      0      0   0.00% pflogd
 1027 root          0      0      0      0      0      0   0.00% cron
  994 mysql         4      0      0      0      0      0   0.00% mysqld
17193 root          2      0      0      0      0      0   0.00% sshd
10242 root          1      1      0      0      0      0   0.00% sshd
23020 root          1      0      0      0      0      0   0.00% top
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
31.10.2011, 22:21 24
kamik_from_rus, я не люблю говорить о том чего не знаю)
Давно, давно когда выбирали фротэнд для апача, смотрел и на lighth, тогда он работал строго в один процесс/нить т.е. запуск любого долгоиграющего cgi ставил его в позу.
Можно поставить простой эксперимент - вместо копирования воткнуть sleep секунд на 10, если и это даст затык, то...

Касательно nginx и lua, то не официальный модуль есть, но сам Cысоев писал, что создание контекста для lua дело дорогое. Статику же сервер раздает прекрасно.
Я не агитирую, но подумайте) Имхо веб сервер для которого фря родная система, адекватный русскоязычный разработчик хороший выбор)
1
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 28
31.10.2011, 22:44  [ТС] 25
g_u_e_s_t, nginx хороший сервер. Но, всё же, попробую решить проблему с lighttpd, если не получится, буду использовать nginx. g_u_e_s_t, ещё раз, спасибо. Отпишусь обязательно, как чего-то решу по данному вопросу.

Добавлено через 8 минут
g_u_e_s_t, что касается sleep 10; ты прав ), спасибо
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 28
25.11.2011, 15:06  [ТС] 26
Проблема с lighttpd решается до безобразия просто. Необходимо добавить в lighttpd.conf строчку:

server.max-worker = 4
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2011, 15:06
Помогаю со студенческими работами здесь

Ограничения входящего трафика CentOS
Как ограничить количество пакетов с одного айпи? Как ограничить "вес" пакетов с одного айпи? \ udp...

Просмотр входящего/исходящего трафика
Срочно необходим софт, которым можно отслеживать откуда приходят пакеты и в каком кол-ве, а также...

Подсчет исходящего и входящего трафика к MySQL
Здравствуйте. Есть задание, простое задание, но на пути к его решению стоит следующая проблема:...

Изменение входящего трафика до обработки его браузером
Всем здравствуйте :) У меня появилась острая необходимость в фильтрации входящего трафика. А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru