Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Потери пакетов при увеличении нагрузки

    Scheduled Pinned Locked Moved Russian
    41 Posts 8 Posters 27.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      goliy
      last edited by

      Извиняюсь, что сразу не пояснил до конца - pingtest это тест с сайта pingtest.net.
      С самого же маршрутизатора пинг летает успешно(как, собственно, и с клиентских машин), а проблемы я смотрю по RRD графикам.

      Работающий шейпинг мы прошли уже очень давно =)  (http://forum.pfsense.org/index.php/topic,26220.0.html)

      Это конечно хорошо, но когда потери такие как на графиках - это уже огромная проблема в производительности сети. Приложения в реальном времени почти совсем не работали.

      Сейчас я перенастроил шейпер Визардом(видимо, вся проблема была в том, что я не правильно его настроил), в этот раз почти не меняя настроек после его работы. И с нетерпением жду вечернего краш-теста.
      Первый сюрприз - начал лагать веб-интерфейс. top показывает, что процессы php находятся в состоянии piperd и по очень подолгу не отвечают. Решилось - ребутом

      –----------------------------------------------------------------------------------------

      Итак, прогресса почти нет =(
      Снова нагрузка возрастает - потери увеличиваются. И так до тех же показателей потерь, как на приложении в первом сообщении.

      Пинг с сервера почти не выявляет потери(~0.5%), несмотря на графики RRD.
      пинг с клиенских маших - потери до 16%

      Главный вывод - проблема в сетевой карте LAN или со свичем.
      Подтвердите кто-нибудь, а =)

      2.0.2-RELEASE (i386)
      Intel(R) Atom(TM) CPU 330 @ 1.60GHz
      eth: Intel 82574L
      DOM sata, 1Gb
      over 150 users

      1 Reply Last reply Reply Quote 0
      • A
        alexandrnew
        last edited by

        1 народ прав :) ни длинк, ни тем более реалтек - не годны для подобного трафика :)
        з.ы. как пример - почему то VMWARE ESX их не поддерживают :)
        2 какая загрузка собстенно на пк? память? проц ? что немаловажно - винты?  если у тебя логи какие то пишутся может не хватать…
        по процу - если график такая же "гребенка" как и с потерями - то надо задуматься, + какое ядро стоит?
        но 90% что таки сетевуха, возьми и поставь интел, для начала...

        1 Reply Last reply Reply Quote 0
        • G
          goliy
          last edited by

          Еще раз:
          Интерфейс LAN - сетевая карта re0: <rtl8201l 10="" 100="" media="" interface="">Интерфейс WAN - сетевая карта re1: <d-link dge-528(t)="" gigabit="" ethernet="" adapter="">Использование жесткого диска(32253MB <maxtor 4k040h2="" a08.1500="">) - 0%
          Использование оперативной памяти - максимум(2Gb) 5-6%
          Использование процессора(Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz) - максимум до 15-20% доходит. Но обычно 5-12%.

          С этим - все в порядке.

          Насчет сетевой карты - Какую посоветуете? И на что смотреть при выборе? Какие параметры критичны? Что в реалтеках/длинках не так?
          Ведь есть у них качественное оборудование. У билайна, например, все оборудование, кроме самых больших, шлюзовых элементов, стоят д-линки. Странно выглядят советы - просто сменить на Интел. Сейчас в сервере не самый худший д-линк(D-link DGE-528T) на интерфейсе ЛАН стоит. А интелы и по 200рублей бывают. Можно поточнее характеристики, модели, функции.
          Пока я вижу разницу только в наличии функции Flow Control, которая, ввиду разгруженного процессора, не будет иметь профита. Тем более в нашем д-линке(интерфейс ЛАН) она тоже есть.

          Кроме того, freebsd 7.2 не поддерживает никакие 100мегабитные карты Интела, судя по http://www.freebsd.org/releases/7.2R/hardware.html

          Думаю взять Intel EXPI9301CT как LAN, а что на WAN пока не придумал. Нужно 100мегабит. В крайнем случае грамотный способ смены режима работы на 100мегабит гигабитной карты. (аналог обычного rc.conf'a где находится в pfsense? или еще как-нибудь. Пока кроме прописывания ifconfig media 100baseT/UTP ничего в голову не приходит. Может создать в /etc/rc.d/file.sh в который и вписать эту команду? Но, имхо, просто карта на 100мегабит надежнее)

          На яндекс-маркете так ничего 100мегабитного не на чипсетах реалтека и д-линка не нашел =(

          Cегодня заменил карту на LAN'e с D-Link DGE-528(T) на D-Link DFE-530TX+, она 100мегабитная, но может будет лучше. Ждем вечера и заказываем Intel EXPI9301CT.

          Жду советов что взять на WAN интерфейс (pci, 100mbps)</maxtor></d-link></rtl8201l>

          2.0.2-RELEASE (i386)
          Intel(R) Atom(TM) CPU 330 @ 1.60GHz
          eth: Intel 82574L
          DOM sata, 1Gb
          over 150 users

          1 Reply Last reply Reply Quote 0
          • R
            rubic
            last edited by

            pingtest.net - это не совсем пинг, вернее совсем не он, не ICMP. Там с вашей машины летят пакетики на TCP или UDP порт 8080 удаленного сервера. И вот только pfsense знает в какую очередь шейпера они попадают, какой у нее приоритет и насколько она загружена вашими пользователями.
            Что касается RRD Quality, то там, насколько я понял, задержки и потери пакетов определяются постоянным пингом шлюза с WANa pfSense. Как-то трудно представить себе сценарий, при котором вся ваша остальная инфраструктура могла бы на этот график хоть как-то влиять. Единственное исключение - конкретный перегруз канала. Ну еще, учитывая, что upload трафик шейпится на выходе с WAN, возможны варианты.
            Отключите шейпер в момент максимальной нагрузки и посмотрите что будет. Если все нормально, то причем тут свитчи и сетевые карты?

            1 Reply Last reply Reply Quote 0
            • A
              aleksvolgin
              last edited by

              Кроме того, freebsd 7.2 не поддерживает никакие 100мегабитные карты Интела

              :D чукча не читатель, чукча писатель  :D

              http://www.freebsd.org/releases/7.2R/hardware.html#ETHERNET

              Adapters supported by the fxp(4) driver include:

              Intel EtherExpress PRO/10

              Intel InBusiness 10/100

              Intel PRO/100B / EtherExpressPRO/100 B PCI Adapter

              Intel PRO/100+ Management Adapter

              Intel PRO/100 VE Desktop Adapter

              Intel PRO/100 VM Network Connection

              Intel PRO/100 M Desktop Adapter

              Intel PRO/100 S Desktop, Server and Dual-Port Server Adapters

              Contec C-NET(PI)-100TX (PC-98)

              NEC PC-9821Ra20, Rv20, Xv13, Xv20 internal 100Base-TX (PC-98)

              NEC PC-9821X-B06 (PC-98)

              Many on-board network interfaces on Intel motherboards

              http://www.freebsd.org/cgi/man.cgi?query=fxp&sektion=4&manpath=FreeBSD+7.2-RELEASE

              The fxp driver provides support for Ethernet adapters based on the Intel
                  i82557, i82558, i82559, i82550, and i82562 chips. The driver supports
                  TCP/UDP/IP checksum offload for both transmit and receive on i82550 and
                  i82551.  On i82559 only TCP/UDP checksum offload for receive is sup-
                  ported.  TCP segmentation offload (TSO) for IPv4 as well as VLAN hardware
                  tag insertion/stripping is supported on i82550 and i82551.  Wake On Lan
                  (WOL) support is provided on all controllers except i82557, i82259ER and
                  early i82558 revisions.

              1 Reply Last reply Reply Quote 0
              • G
                goliy
                last edited by

                Да, признаю, что ошибся с картами. Криво смотрел. Спасибо, что показали.

                2.0.2-RELEASE (i386)
                Intel(R) Atom(TM) CPU 330 @ 1.60GHz
                eth: Intel 82574L
                DOM sata, 1Gb
                over 150 users

                1 Reply Last reply Reply Quote 0
                • G
                  goliy
                  last edited by

                  @rubic:

                  pingtest.net - это не совсем пинг, вернее совсем не он, не ICMP. Там с вашей машины летят пакетики на TCP или UDP порт 8080 удаленного сервера. И вот только pfsense знает в какую очередь шейпера они попадают, какой у нее приоритет и насколько она загружена вашими пользователями.
                  Что касается RRD Quality, то там, насколько я понял, задержки и потери пакетов определяются постоянным пингом шлюза с WANa pfSense. Как-то трудно представить себе сценарий, при котором вся ваша остальная инфраструктура могла бы на этот график хоть как-то влиять. Единственное исключение - конкретный перегруз канала. Ну еще, учитывая, что upload трафик шейпится на выходе с WAN, возможны варианты.
                  Отключите шейпер в момент максимальной нагрузки и посмотрите что будет. Если все нормально, то причем тут свитчи и сетевые карты?

                  При отключении шейпера при нагрузках трафик забивается торрентами на 100%, что влечет за собой большое увеличение времени пинга, что влечет за собой аналогичные проблемы с юзабилити - никакие реал-тайм пиложения не работают, даже ДНСки перестают отвечать.
                  Так что сам я уже думал об этом, что дело в шейпере, но в любом случае он должен работать и в случае его вины - очень нуждаюсь в помощи по его настройке.

                  Сегодня в момент нагрузки попробую протестировать командами ping host с сервера и с клиентов с отключенным и включенным шейпингом и отпишу что получилось.

                  –----------------------------------------------------------------------------------------------

                  21:00, нагрузка стандартна.
                  И, о чудо! Либо сегодня все пользователи отключили свои ботнеты, либо проблема крылась в глючной сетевухе D-link DGE-528T, которую сегодня утром успешно сменила DFE-530TX на нелегком её посту. И потери приблизились к более-менее нормальным(/допустымым), на мой взгляд. Итак:

                  При включенном шейпере:
                  на RRD все терпимо(я бы даже сказал на 4+, потерь почти совсем нет), pingtest.net показывает, что потери не привышают 1-2%(изредка долетает до 8-12), 80 процентов замеров показали 0% потерь
                  ping host с сервера не выявил потерь,
                  пинг хост с клиента:
                  замер 1--- ya.ru ping statistics ---
                  2381 packets transmitted, 2326 received, 2% packet loss, time 3241083ms, что, я думаю, тоже терпимо, хоть и не идеально.
                  замер 2--- ya.ru ping statistics ---
                  209 packets transmitted, 195 received, 6% packet loss, time 316615ms
                  rtt min/avg/max/mdev = 3.175/4.501/11.848/1.482 ms
                  Иногда вылетает до 10-15%(как и на pingtest.net)

                  При отключенном шейпере:
                  На RRD также все четко. pingtest.net почти стабильно 0%.
                  ping host с сервера:
                  --- ya.ru ping statistics ---
                  364 packets transmitted, 360 packets received, 1.1% packet loss
                  round-trip min/avg/max/stddev = 2.924/6.394/15.897/2.980 ms
                  ping host с клиента:
                  --- ya.ru ping statistics ---
                  316 packets transmitted, 305 received, 3% packet loss, time 375755ms
                  rtt min/avg/max/mdev = 3.121/6.615/13.389/2.976 ms

                  т.е. сейчас дело уже не в нагрузках а в ШЕЙПЕРЕ.
                  Помогите его адекватнее настроить, пожалуйста

                  2.0.2-RELEASE (i386)
                  Intel(R) Atom(TM) CPU 330 @ 1.60GHz
                  eth: Intel 82574L
                  DOM sata, 1Gb
                  over 150 users

                  1 Reply Last reply Reply Quote 0
                  • D
                    deutsche
                    last edited by

                    Возможно проблема с производительностью шейпера. Посмотрите подробную нагрузку по ядрамс парамерами io wait, user. Используйте atop.

                    http://ru.doc.pfsense.org/

                    1 Reply Last reply Reply Quote 0
                    • A
                      alexandrnew
                      last edited by

                      atop - а где его в пфсенсе взять?
                      [2.0-RC1][root@tun.mob]/root(1): atop
                      atop: Command not found.
                      в 1.2.3 тоже самое :(

                      1 Reply Last reply Reply Quote 0
                      • D
                        deutsche
                        last edited by

                        поставить с тарболла, ну.

                        http://ru.doc.pfsense.org/

                        1 Reply Last reply Reply Quote 0
                        • G
                          goliy
                          last edited by

                          @deutsche:

                          Возможно проблема с производительностью шейпера. Посмотрите подробную нагрузку по ядрамс парамерами io wait, user. Используйте atop.

                          Не подойдет ли простой top(который говорит о том, что нагрузка на ЦП не поднимается выше 15-18% при максимальной нагрузке)?
                          atop'a больше нет в пакетах для freebsd

                          Еще, замечу, pfsense собран для однопроцессорной машины, у нас же 2 ядра. Это считается за 1 процессор?) Ибо dmesg сообщает о 2х процессорах. Может переставить?

                          И, вот мой конфиг шэйпера, может в нем что-то не так. Такое чувство, что из-за переполнения каналов(/трубок)в главной мере из-за торрентов, шэйпер дропает и приоритетные пакеты (с 80 порта в том числе), хотя должен как бэ резать торренты до такой степени, при которой все остальные трубки были бы рады и счастливы!
                          Вот, к примеру, опыт. Запущены торренты. upperlimit у них 80%. При полной нагрузке канала имеем на хттп доунлоад со скоростью 20%!! хотя должны иметь максимально допустимую, судя по приоритетам трубок шэйпера. И это при том, что у трубки, в которую входит 80порт 20% это Гарантированная пропускная способность.
                          При отключении торрентов - видим максимальную скорость скачки по хттп.
                          Очередное умозаключение - во-первых, неправильно работают приоритеты трубок. Торренты не освобождают канал более приоритетным трубкам.
                          во-вторых потери происходят в результате дропов шейпера при переполнении всего канала.(хотя должны просто обрезаться торренты)
                          Помогите настроить шейпер!
                          Что не так в конфиге?

                          p.s. прикрепляю конфиг шэйпера, а также данный по процессору взятые с top'a и графиков RRD

                          rdd_proc.png
                          rdd_proc.png_thumb
                          top_proc.png
                          top_proc.png_thumb
                          shaper.txt

                          2.0.2-RELEASE (i386)
                          Intel(R) Atom(TM) CPU 330 @ 1.60GHz
                          eth: Intel 82574L
                          DOM sata, 1Gb
                          over 150 users

                          1 Reply Last reply Reply Quote 0
                          • A
                            alexandrnew
                            last edited by

                            @deutsche:

                            поставить с тарболла, ну.

                            не понял, как?
                            pkg_add -r atop
                            не помогает, в пакаджах я его не нашел, компилятора в пфсенсе нету. что бы скомпилить…

                            1 Reply Last reply Reply Quote 0
                            • G
                              goliy
                              last edited by

                              Очередной вечер.
                              На RRD гребенка, но не такая, как раньше. Получше.
                              пинг хост с сервера и с клиентского компа о потерях не сообщает, но серфинг сильно страдает.
                              pingtest.net говорит о 1-3%. Иногда подскакивает на гораздо большие значения.
                              Что делать - не знаю.
                              По графикам можно предположить, что потери возникают при переполнении каналов.(хотя и не всегда)

                              rdd_traf.png
                              rdd_traf.png_thumb
                              rdd_graf.png
                              rdd_graf.png_thumb

                              2.0.2-RELEASE (i386)
                              Intel(R) Atom(TM) CPU 330 @ 1.60GHz
                              eth: Intel 82574L
                              DOM sata, 1Gb
                              over 150 users

                              1 Reply Last reply Reply Quote 0
                              • R
                                rubic
                                last edited by

                                Хм.. при таких нагрузках я бы еще последил за State table size в Status -> System на предмет переполнения..

                                1 Reply Last reply Reply Quote 0
                                • G
                                  goliy
                                  last edited by

                                  Да!, она часто на пределе. Но т.к. я не знаю что это такое и где Оно увеличивается - ничего сделать не мог.
                                  Сейчас увеличу и посмотрю что будет.
                                  Может еще расскажете что-нибудь о настройках Advancer? И до какого значения имеет смысл увеличивать данное значение? От чего оно зависит?

                                  Cейчас увеличил значение Firewall Maximum States до 20000(т.е в 2 раза), также поставил галочку на Clear DF bit instead of dropping и сменил Firewall Optimization Options с Normal на conservative.
                                  Поправьте, если что не так.
                                  Ждём вечера.
                                  Спасибо за помощь!

                                  –---------------------------------------

                                  Даже сейчас, в7 утра, после увеличения значения Firewall Maximum States оно сразу подскочило до 15-16k. Почитав о том, что 1 table state занимает 1кб оперативной памяти, а она у меня больше чем на 1-3% занята не бывает - увеличиваю значение до 180k.

                                  2.0.2-RELEASE (i386)
                                  Intel(R) Atom(TM) CPU 330 @ 1.60GHz
                                  eth: Intel 82574L
                                  DOM sata, 1Gb
                                  over 150 users

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    rubic
                                    last edited by

                                    Не меняйте все сразу. Посмотрите что будет после увеличения State table size, а то потом непонятно будет, что помогло.
                                    DF-бит - ни о чем, а вот Firewall Optimization Options, думаю, прямо влияет на загрузку State table. При conservative будет хранить все состояния до последнего. Лучше оставьте пока normal.

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      goliy
                                      last edited by

                                      ок. пока снова сменил на normal
                                      И да, ты был прав, значение сразу снизилось с 25-30k до 7-9k

                                      2.0.2-RELEASE (i386)
                                      Intel(R) Atom(TM) CPU 330 @ 1.60GHz
                                      eth: Intel 82574L
                                      DOM sata, 1Gb
                                      over 150 users

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        goliy
                                        last edited by

                                        @rubic:

                                        Хм.. при таких нагрузках я бы еще последил за State table size в Status -> System на предмет переполнения..

                                        ПОМОГЛО!!!
                                        Нормальное значение table state у меня 24-25k.
                                        СПАСИБО!

                                        –-----------------------------------

                                        Помогите еще с тем, чтобы шейпер уступал канал торрентов для траффика хттп.
                                        Трубка для торрентов:
                                        Bandwidth 1%
                                        Priority 1
                                        Random Early Detection
                                        Explicit Congestion Notification
                                        Upperlimit: 80%
                                        Real time: 1kb
                                        Из стандартных настроек я изменил только upperlimit

                                        Трубка для хттп:
                                        Bandwidth 35%
                                        Priority 4
                                        Random Early Detection
                                        Explicit Congestion Notification
                                        Real time:                          30%

                                        Дело в том, что при полной загрузке канала на хттп выделяется только 54%
                                        А на торренты 38%.
                                        Примерно

                                        2.0.2-RELEASE (i386)
                                        Intel(R) Atom(TM) CPU 330 @ 1.60GHz
                                        eth: Intel 82574L
                                        DOM sata, 1Gb
                                        over 150 users

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          alexandrnew
                                          last edited by

                                          блин, а столько версий было :)
                                          я у себя Firewall Maximum States сразу в 100000 поставил

                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            goliy
                                            last edited by

                                            @alexandrnew:

                                            блин, а столько версий было :)
                                            я у себя Firewall Maximum States сразу в 100000 поставил

                                            У меня 180000 стоит, ибо при консервативном режиме фаервола (advanced->Firewall Optimization Options- conservative)при больших нагрузках table states поднимается до 120-130k

                                            2.0.2-RELEASE (i386)
                                            Intel(R) Atom(TM) CPU 330 @ 1.60GHz
                                            eth: Intel 82574L
                                            DOM sata, 1Gb
                                            over 150 users

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.