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

    Оптимизация PFS для 1G, 10G

    Scheduled Pinned Locked Moved Russian
    1 Posts 1 Posters 1.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.
    • W
      WY6EPT
      last edited by

      И так, изучение мат. части сподвигло на некоторые настройки коробки ПФС.

      увеличение скоростей передачи данных накладывает некоторые ограничения на устаревшие настройки сетевого оборудования.

      предлагаю объеденить в данном посте наши знания.
      будем собирать с миру по нитке. как говорят, одна голова хороша, а много лучше.

      все дополнения буду дописывать в шапку.

      при множественных запросах, тем более параллельных запросах необходимо расширить размер буфера как приёма так и передачи (причём буфер приёма нужно сделать побольше, малоли очередь):
      все настройки делаются через вэю морду,
      system=>advanced=>System Tunables:
      => net.inet.tcp.sendspace 2097152
          размер TCP буфера для отправки. Влияет на размер "окна переполнения".
      => net.inet.tcp.recvspace 4194304
      размер TCP буфера для приема. Влияет на размер "скользящего окна".
      => kern.ipc.maxsockbuf   67108864
          размер общего буфера приёма и передачи всех интерфейсов
      углубляемся в протокол TCP
      => net.inet.tcp.rfc1323 1
      использовать масштабирование TCP окна (window scaling), RFC 1323.
      функция сложная по описаю, основывается на методе контроля доставки пакетов, смысл простой, с данной фунцией отправится намного больше маленьких пакетов за еденицу времени.
      =>net.inet.ip.intr_queue_maxlen 5000
      отвечает за максимальный размер очереди входящих пакетов
      на скоростях в 1Г их уже много, а если они мелкие, а если интерфейсов 3 о0
      –---------------------------------------------------------------------------------------------------------

      дальше режим работы с устройствами.
      тут много за и против

      =режим по дефолту работает с прерываниями и это не есть гуд по ряду причин.
      у меня дорогая интеловская 1G карта просто ушла в даун при отключении пулинга. как выяснилось до перезагрузки системы. провожу тестирование. загрузка процессора прерываниями в ночное время увеличилась на 1.5%, пулинг грузил один из горшков на 100%
      если сетевая карта поддерживает отложенные прерывания, нужно активировать эту функцию в драйвере системы ( сам до этого еще не дошел) поидее это самый идеальный вариант.

      =пулинг в свою очередь грузит процессор, но при этом система ведёт себя более адекватно. но тоже очень много подводных камней, особенно с переполнением буфера приёма.

      выбор  режима нужно подбирать импирическим путём, то есть проводя синтетические тесты. есть достаточно много программ выдающих красивые графики.

      паралельно вопрос задам, надстройка:
      net.inet.tcp.tso TCP Offload Engine default (1)
      не переходит в 0, когда выключаешь функцию Disable hardware checksum offload
      буду тестить, но может кто подскажет?
      как закрепить сообщение в топ?

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