RadioSintetica
-
Публикации
35 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем RadioSintetica
-
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
queues = 0,1; 1,2; 2,3; 3,4; 4,5; 5,6; 6,7; и почти нет missed packets .... я уже сам во всем запутался=)
Information Application - All worker threads seen packets: 545075226, IP packets: 545075226 (IPv4 packets: 545075226, IPv6 packets: 0), seen bytes: 251389807266, traffic throughtput: 1.17 M pps
-
3 минуты назад, max1976 сказал:
Попробуйте запустить на 4 ядрах
queues = 0,2; 1,4; 2,6; 3,8
так сейчас и работает: Port 0 input packets 131801326, input errors: 0, mbuf errors: 0, missed packets: 6648
-
2017-10-24 17:45:42.376 [1356] Information Application - Initializing dpi flow hash with ipv4 max flows 240000, ipv6 max flows 8000.
2017-10-24 17:45:42.377 [1356] Information Application - Create pool 'URLPool-10' for urls with number of entries: 49600, size: 29809600 bytes
2017-10-24 17:45:42.381 [1356] Information Application - Create pool 'DPIPool-10' for http dissector with number of entries: 49600, size: 1587200 bytes
2017-10-24 17:45:42.404 [1356] Fatal WorkerThread-10 - Not enough memory for flows pool. Tried to allocate 87296000 bytes on socket 0
2017-10-24 17:45:42.404 [1356] Error Application - Exception: Not enough memory for flows pool
cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
32на машине 72 гига. 65 почти занято
-
Гигобайтные hugepages нельзя изменить после загрузки. Выделяются они каждой ноде. Это боль.
сделал
echo 18048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 18048 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
но dpdk их не видит...
-
Если на одном ядре память:
EAL: Detected 12 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:04:00.0 on NUMA socket -1
EAL: probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:04:00.1 on NUMA socket -1
EAL: probe driver: 8086:10fb net_ixgbe
acl context <extFilter-ipv4-acl0-0>@0x7fbaf08d8000
socket_id=0
alg=2
max_rules=100000
rule_size=96
num_rules=49
num_categories=1
num_tries=1
ACL: allocation of 9600904 bytes on socket 1 for ACL_extFilter-ipv4-acl1-0 failed
[root@dpdk etc]# -
13 минут назад, max1976 сказал:
Выделите на 0 процессоре больше памяти под huge pages и попробуйте запустить.
cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
282017-10-24 16:34:51.050 [3176] Information Application - Initializing dpi flow hash with ipv4 max flows 1600000, ipv6 max flows 800000.
2017-10-24 16:34:51.057 [3176] Information Application - Create pool 'URLPool-10' for urls with number of entries: 480000, size: 288480000 bytes
2017-10-24 16:34:51.097 [3176] Information Application - Create pool 'DPIPool-10' for http dissector with number of entries: 480000, size: 15360000 bytes
2017-10-24 16:34:51.317 [3176] Fatal WorkerThread-10 - Not enough memory for flows pool. Tried to allocate 844800000 bytes
2017-10-24 16:34:51.318 [3176] Error Application - Exception: Not enough memory for flows pool
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
Судя по тому что hugepages разделяются по обоим нодам пропорционально - может и выдавать руками?
echo 31 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepags ?
при 0,1; 1,2; 2,3; 3,4; 4,5 - allports.missed_packets=0...
а нет... 896.67 K pps - 270 пропущеных...
-
max1976 При queues = 0,2; 1,4; 2,6; 3,8; 4,10 и core_mask = 21845
EAL: Detected 12 lcore(s)
EAL: lcore 12 unavailable
EAL: invalid coremask(параметры)
EAL: FATAL: Invalid 'command line' arguments.
EAL: Invalid 'command line' arguments.
Exception: Can't initialize EAL - invalid EAL argumentsпри core_mask = 2047 и
queues = 0,2; 1,4; 2,6; 3,8; 4,10
EAL: Detected 12 lcore(s)
EAL: Probing VFIO support...
EAL: PCI device 0000:04:00.0 on NUMA socket -1
EAL: probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:04:00.1 on NUMA socket -1
EAL: probe driver: 8086:10fb net_ixgbe
acl context <extFilter-ipv4-acl0-0>@0x7f0f3f35c100
socket_id=0
alg=2
max_rules=100000
rule_size=96
num_rules=49
num_categories=1
num_tries=1
acl context <extFilter-ipv4-acl1-0>@0x7f0cff6d8000
socket_id=1
alg=2
max_rules=100000
rule_size=96
num_rules=49
num_categories=1
num_tries=1
PMD: ixgbe_dev_link_status_print(): Port 0: Link Up - speed 0 Mbps - half-duplex
Aborted9 минут назад, dee сказал:вылетает наверно сам дпдк из-за не выделенной памяти , типа того :
cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages # cpuid0
cat /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages # cpuid1
cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
8cat /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages
8cat /usr/lib/tuned/dpdk-tune/tuned.conf
[main]
include=latency-performance[bootloader]
cmdline=isolcpus=2,4,6,8,10 default_hugepagesz=1G hugepagesz=1G hugepages=162017-10-24 15:09:37.084 [3286] Information Application - Initializing dpi flow hash with ipv4 max flows 200000, ipv6 max flows 4000.
2017-10-24 15:09:37.085 [3286] Information Application - Create pool 'URLPool-10' for urls with number of entries: 40800, size: 24520800 bytes
2017-10-24 15:09:37.088 [3286] Information Application - Create pool 'DPIPool-10' for http dissector with number of entries: 40800, size: 1305600 bytes
2017-10-24 15:09:37.107 [3286] Fatal WorkerThread-10 - Not enough memory for flows pool. Tried to allocate 71808000 bytes
2017-10-24 15:09:37.107 [3286] Error Application - Exception: Not enough memory for flows pool
Может ему при загрузке память отдавать только на одну ноду?
echo 31 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
-
queues = 0,2; 1,4; 2,6; 3,8; 4,10 правильно же? (но с такими очередями вылетает: Aborted)
Делаю queues = 0,1; 1,2; 2,3; 3,4; 4,5 - работает...
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
10 минут назад, max1976 сказал:По приведенным данным - правильно. Попробуйте поставить 21845 в качестве маски.
flowhash_size = 1048576 удалить? я почему про расчет спрашиваю - у меня 2 сервера разной конфигурации. вот и пытаюсь понять для себя как оно считается. чтоб меньше форум засорять. Да и кому то возможно это поможет.
(EAL: invalid coremask на 21845)
-
5 минут назад, max1976 сказал:
У вас 6 ядерные процессоры. Используйте один процессор. Ядро 0 для системы, остальные для extfilter. Этим вы упростите работу по выделению памяти для dpdk, т.к. параметры при загрузке ядра по выделению huge pages работают только для первого процессора.
Спасибо большое! Последний вопрос: как посчитать маску? как она считается? я вижу тут советуют людям 0101010101010101 = 21845 это я могу в калькуляторен. но вот где где взять сие магическое 0101010101010101 ?
Вот есть у меня
cores = [0, 8, 2, 10, 1, 9]
sockets = [0, 1]Socket 0 Socket 1
-------- --------
Core 0 [0] [1]
Core 8 [2] [3]
Core 2 [4] [5]
Core 10 [6] [7]
Core 1 [8] [9]
Core 9 [10] [11]
я в cmdline=isolcpus=2,4,6,8,10 изолирую. правильно же? А для extfiltra coremask мне как расчитать?
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
dee То есть мне проще soket 0 использовать для менеджмента а 1 - для extfilter? или наоборот лучше?
UPD lstopo-no-graphics - зависает...
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
1 час назад, max1976 сказал:Не поддерживается и из-за этого могут быть пропуски, т.к. процессору приходится обращаться к памяти другого процессора. Так же важным моментом является то, в какой слот установлена сетевая карта (на шине какого процессора). В случае работы двух процессоров с одной картой могут возникать задержки в обработке пакетов, что так же приводит к пропуску.
1,2 mpps это немного для современного процессора - можно попробовать на 2х ядрах обрабатывать такой объем трафика.
Спасибо за развернутый ответ! А как узнать на шине какого процессора сетевая карта? и вот насчет расчета маски.. как ее посчитать? и что же делает параметр flowhash_size = 4194304 ?
поглядел -
cat /sys/class/net/ens1f1/device/local_cpulist
0-11
cat /sys/class/net/ens1f1/device/numa_node
-1
Чего то у меня еще больше вопросов...
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
чего то насмерть запутался с ядрами для extfilter:
гипертренинг отключил, (правильно же? )
Из вопросов еще - многопроцессорность поддерживается?
cores = [0, 8, 2, 10, 1, 9]
sockets = [0, 1]Socket 0 Socket 1
-------- --------
Core 0 [0] [1]
Core 8 [2] [3]
Core 2 [4] [5]
Core 10 [6] [7]
Core 1 [8] [9]
Core 9 [10] [11]
Как правильно посчитать какие ядра отключать и какую маску вписывать?
пока вроде так вышло: core_mask = 2047
cmdline=isolcpus=2,4,6,8,10,3,5,7,9,11 default_hugepagesz=1G hugepagesz=1G hugepages=16 - получилось по 8 гигов на ядро.
И пропуски:
Было больше, добавил flowhash_size = 1048576
стало лучше:
Information Application - Port 0 input packets 4788357175, input errors: 0, mbuf errors: 0, missed packets: 5635
num_of_senders = 8
[port 0]
queues = 0,2; 1,3; 2,4; 3,5; 4,6; 5,7; 6,8; 7,9трафика 1.42 M pps
UDP сделал flowhash_size = 4194304 - миссы пропали...
-
Ну фото конечно выбраны жесть. На первом фото - центральная серверная после расширения. Точнее мы расширили ее в 3 раза. Без отключения. И вот кроссовая часть как раз на фото. Да - пока там все вот так вот висит. Потихоньку, ночными работами перекладываем патчи. А Вы бы хотели отключить города днем и начать наводить красоты? Меня бы директора долго пинали в голову и в живот за такое "клиентоорентированное решение". Поэтому пойдем медленно - и буду по 10 - 15 патчиков - но за год и тут красоты будут. На фото под абзацем "Кольцо" - кроссовая часть серверной перед глобальной реконструкцией. этой фотке лет 5. Так что все будет красиво. Но со временем. Главное - сервис для абонента.
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
а чем гененируете списки? Я сперва получаю выгрузку ( вней данный урл как раз с 2 //) парсю и отправляю в базу. Из базы extfilter-maker генерирует списки для extfilter.. и вот в этих уже списках данный урл с 1 слешем..
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
К сожалению не помогло... с 1 слешем (так как выгружается после extfilter-maker) все блокируется. С 2 слэшами - нет. если вручную внести эту ссылку (с 2 слэшами) то работает и так и так
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
http://activeseeds.com/?utm_source=google&utm_medium=cpc&utm_campaign=kannabis&gclid=CjwKEAjwkf-gBRCd-b2m2aOo0EQSJABMeQDkYRhwdf0dKU_qiVwHhDIwIntMhK01w6L0K6yqBY1RSBoCqFLw_wcB//'>http://activeseeds.com/?utm_source=google&utm_medium=cpc&utm_campaign=kannabis&gclid=CjwKEAjwkf-gBRCd-b2m2aOo0EQSJABMeQDkYRhwdf0dKU_qiVwHhDIwIntMhK01w6L0K6yqBY1RSBoCqFLw_wcB//
Вот так он в реестра,
а вот так - после extfilter-maker http://activeseeds.com/?utm_source=google&utm_medium=cpc&utm_campaign=kannabis&gclid=CjwKEAjwkf-gBRCd-b2m2aOo0EQSJABMeQDkYRhwdf0dKU_qiVwHhDIwIntMhK01w6L0K6yqBY1RSBoCqFLw_wcB/
-
Приветствую! А кто как блокирует ссылки типа qBY1RSBoCqFLw_wcB// 2 слэша в конце? в базе у меня оно верное - а при выгрузке - нормализуется до одного слэша и получаю пропуск...
-
Опубликовано · Изменено пользователем RadioSintetica · Жалоба на ответ
подтверждаю: последний фильтр просто не работает. ни при коре - = 7, ни при 29, никак. На все выдает "Fatal Application - No cores defined in the configuration file"
А - сорри - сам идиот)
-
Добрый день! max1976 - еще раз спасибо за прекрасный extFilter. Остался один вопрос - при отправке HUP - происходят пропуски. Прочитал уже что можно еще один инстанс поднять. но чтот не понял как. Это поднятие еще одного процесса на соседней сетевой карте?
Так и происходят до сих пор ? У кого какое время запуска скриптов (extfilter_maker.pl, extfilter_quagga.pl) в кроне стоит ?
При HUP не должно быть пропусков, т.к. списки проверки подменяются очень быстро.
Тестилки думают иначе. У меня был хуп раз в 40 минут. и каждые 40 минут по время проверок по 10 - 15 ресурсов пролетало. Поставил 2 сервера с разным временем релоада. Стало лучше.
и еще: кто знает за что отвечают параметры mbuf_pool_size и ring_size? Заметил - что чем они больше - тем меньше пропусков.
-
Пытаюсь запустить еще один процесс extfilter - получаю ошибку : No free hugepages reported in hugepages-1048576kB ... что я делаю не так?
-
А есть какие-то требования к железу? Трафика 2гига
На 2 гига должно i5 хватить. Мне на 2.1 Mpps хватает AMD Opteron 6238
-
Добрый день! max1976 - еще раз спасибо за прекрасный extFilter. Остался один вопрос - при отправке HUP - происходят пропуски. Прочитал уже что можно еще один инстанс поднять. но чтот не понял как. Это поднятие еще одного процесса на соседней сетевой карте?
Блокировка сайтов провайдерами
в Программное обеспечение, биллинг и *unix системы
Опубликовано · Жалоба на ответ
X5650 @ 2.67GHz - 2 процессора.