Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
dpi:faq:fastdpi:administrator:start [2024/07/29 15:06] – elena.krasnobryzh | dpi:faq:fastdpi:administrator:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Вопросы администрирования ====== | ||
- | {{indexmenu_n> | ||
- | |||
- | < | ||
- | < | ||
- | Командой <code bash> | ||
- | </ | ||
- | |||
- | < | ||
- | Командой <code bash> | ||
- | </ | ||
- | |||
- | < | ||
- | Пример отката с 2.7 версии на 2.6: <code bash>yum downgrade fastdpi-2.6</ | ||
- | </ | ||
- | |||
- | < | ||
- | Ошибка выводится из-за отсутствия DSCP по автономным системам. Можно проигнорировать. | ||
- | </ | ||
- | |||
- | < | ||
- | '' | ||
- | Настройки подобны для nginx, которые рекомендуют вставить в файл ''/ | ||
- | <code bash> | ||
- | # Оптимизация работы сетевого стека ОС | ||
- | net.core.netdev_max_backlog=10000 | ||
- | net.core.somaxconn=262144 | ||
- | net.ipv4.tcp_syncookies=1 | ||
- | net.ipv4.tcp_max_syn_backlog = 262144 | ||
- | net.ipv4.tcp_max_tw_buckets = 720000 | ||
- | net.ipv4.tcp_tw_recycle = 1 | ||
- | net.ipv4.tcp_timestamps = 1 | ||
- | net.ipv4.tcp_tw_reuse = 1 | ||
- | net.ipv4.tcp_fin_timeout = 30 | ||
- | net.ipv4.tcp_keepalive_time = 1800 | ||
- | net.ipv4.tcp_keepalive_probes = 7 | ||
- | net.ipv4.tcp_keepalive_intvl = 30 | ||
- | net.core.wmem_max = 33554432 | ||
- | net.core.rmem_max = 33554432 | ||
- | net.core.rmem_default = 8388608 | ||
- | net.core.wmem_default = 4194394 | ||
- | net.ipv4.tcp_rmem = 4096 8388608 16777216 | ||
- | net.ipv4.tcp_wmem = 4096 4194394 16777216 | ||
- | </ | ||
- | для 1Гбит интерфейса: | ||
- | для 10Гбит интерфейса: | ||
- | |||
- | Чтобы не делать ребут, их можно изменить на лету, применив команду <code bash> | ||
- | Например: | ||
- | Это должно решить проблему. | ||
- | |||
- | **Для CentOS 7**\\ | ||
- | Пример: | ||
- | <code bash> | ||
- | # Оптимизация работы сетевого стека ОС | ||
- | net.core.netdev_max_backlog=65536 | ||
- | net.core.optmem_max=25165824 | ||
- | net.core.somaxconn=1024 | ||
- | net.ipv4.tcp_max_orphans = 60000 | ||
- | net.ipv4.tcp_no_metrics_save = 1 | ||
- | net.ipv4.tcp_window_scaling = 1 | ||
- | net.ipv4.tcp_timestamps = 1 | ||
- | net.ipv4.tcp_sack = 1 | ||
- | net.ipv4.tcp_syncookies=1 | ||
- | net.ipv4.tcp_max_syn_backlog = 262144 | ||
- | net.ipv4.tcp_max_tw_buckets = 720000 | ||
- | net.ipv4.tcp_tw_recycle = 1 | ||
- | net.ipv4.tcp_timestamps = 1 | ||
- | net.ipv4.tcp_tw_reuse = 1 | ||
- | net.ipv4.tcp_fin_timeout = 30 | ||
- | net.ipv4.tcp_keepalive_time = 1800 | ||
- | net.ipv4.tcp_keepalive_probes = 7 | ||
- | net.ipv4.tcp_keepalive_intvl = 30 | ||
- | net.core.wmem_max = 33554432 | ||
- | net.core.rmem_max = 33554432 | ||
- | net.core.rmem_default = 8388608 | ||
- | net.core.wmem_default = 4194394 | ||
- | net.ipv4.tcp_rmem = 4096 8388608 16777216 | ||
- | net.ipv4.tcp_wmem = 4096 4194394 16777216 | ||
- | </ | ||
- | Команда обновления: | ||
- | [[https:// | ||
- | |||
- | [[http:// | ||
- | </ | ||
- | |||
- | < | ||
- | Для просмотра загрузки процессора по ядрам в утилите '' | ||
- | Для просмотра загрузки по задачам DPI выполните команду: | ||
- | **Пример** вывода: | ||
- | <code bash> | ||
- | | ||
- | | ||
- | | ||
- | 35.8 23148 41 0 fastdpi_ajb | ||
- | 32.7 23152 41 1 fastdpi_rx_1 | ||
- | 34.1 23165 41 2 fastdpi_wrk0 | ||
- | 34.1 23170 41 3 fastdpi_wrk1</ | ||
- | В DPI задачи COMMAND функционально разделены по ядрам PSR, чтобы не мешать работе друг друга: | ||
- | - потоки '' | ||
- | - поток '' | ||
- | - остальные потоки выполняют прикладные и вспомогательные задачи (генерация Netflow, прием управляющих команд, | ||
- | </ | ||
- | |||
- | < | ||
- | В DPI все предварительно аллоцировано, | ||
- | **Например, | ||
- | <code bash> | ||
- | После изменения параметра потребуется рестарт:< | ||
- | </ | ||
- | |||
- | < | ||
- | <code bash> | ||
- | cp / | ||
- | cp /etc/dpi / | ||
- | mdb_copy /var/db/dpi / | ||
- | </ | ||
- | С '' | ||
- | </ | ||
- | |||
- | < | ||
- | Выполните команду | ||
- | <code bash> | ||
- | Чтобы настройка не потерялась при перезагрузке сервера, | ||
- | </ | ||
- | |||
- | < | ||
- | DPI в процессе работы производит самодиагностику и если один рабочих потоков завис и больше не может проводить обработку трафика, | ||
- | <note important> | ||
- | |||
- | Проблема проявляется только на некоторых серверах и если ваш сервер попал в это число, то рекомендуем изменение стандартного дискового планировщика на deadline: | ||
- | <code bash> | ||
- | echo deadline > / | ||
- | </ | ||
- | |||
- | < | ||
- | DPI выделяет память статически: | ||
- | ОС Linux различает резидентную (обозначена в top как RES) и виртуальную (обозначена в top как VIRT) память процесса. Особенность в том, что пока память не инициализирована (фактически инициализирована нулем), | ||
- | Настройкой '' | ||
- | </ | ||
- | |||
- | < | ||
- | <code bash> | ||
- | 166206 ? Z 0:00 \_ [wd_fastdpi.sh] < | ||
- | 166219 ? Z 0:00 \_ [wd_fastpcrf.sh] < | ||
- | </ | ||
- | Достаточно перезапустить watchdog: <code bash> service watchdog restart</ | ||
- | </ | ||
- | |||
- | < | ||
- | В случае проблем детектирования протоколов или сигнатур необходимо выполнить по три теста на каждом из перечисленных устройств: | ||
- | * персональный компьютер | ||
- | * смартфон на операционной системе IOS | ||
- | * смартфон на операционной системе Android | ||
- | |||
- | Следующие рекомендации позволят избавиться от лишнего трафика: | ||
- | * тест на ПК рекомендуется проводить в браузере в режиме инкогнито | ||
- | * выполняя тест на смартфоне, | ||
- | |||
- | Выполнение теста: | ||
- | - Проверьте, | ||
- | ajb_save_ip=“ip абонента” | ||
- | plc_trace_ip=“ip абонента” | ||
- | </ | ||
- | - Выполните команду <code bash> | ||
- | - Удалите все файлы из ''/ | ||
- | - Откройте в текстовом редакторе файл ''/ | ||
- | ajb_save_ip=“ip абонента” | ||
- | plc_trace_ip=“ip абонента” #Для работы этого параметра на тестовом абоненте должен быть установлен профиль полисинга | ||
- | </ | ||
- | - Подготовьте тестового абонента к запуску, | ||
- | - Сделайте '' | ||
- | - Начните генерировать трафик. Записывайте трафик в течение 1 минуты. | ||
- | - Откройте файл '' | ||
- | ajb_save_ip=“ip абонента” | ||
- | plc_trace_ip=“ip абонента” | ||
- | </ | ||
- | - Сделайте '' | ||
- | - Подготовьте вывод следующих команд в файлы: <code bash> | ||
- | “dscp2lst / | ||
- | “fdpi_ctrl list --policing --ip “ip абонента” | ||
- | “dscp2as / | ||
- | </ | ||
- | - Подготовьте архив с файлами из пункта 10, а также с файлом '' | ||
- | - Повторите необходимое количество тестов с разными устройствами. В названии архива или в самом архиве в файле '' | ||
- | - Прикрепите архивы к тикету. Если архивы получились слишком большие – загрузите их на любой облачный файлообменник и пришлите нам ссылку. | ||
- | </ | ||
- | </ | ||
- | |||
- | |||