Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версия | |||
| 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, а также с файлом '' | ||
| - | - Повторите необходимое количество тестов с разными устройствами. В названии архива или в самом архиве в файле '' | ||
| - | - Прикрепите архивы к тикету. Если архивы получились слишком большие – загрузите их на любой облачный файлообменник и пришлите нам ссылку. | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | |||