Перейти к содержимому
Калькуляторы

RadioSintetica

Пользователи
  • Публикации

    35
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем RadioSintetica


  1. 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

  2. 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 почти занято

     

  3. Гигобайтные 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 их не видит...

  4. Если на одном ядре память: 

    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]# 

  5. 13 минут назад, max1976 сказал:

    Выделите на 0 процессоре больше памяти под huge pages и попробуйте запустить.

     

     cat /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
    28

     

    2017-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
     

  6. Судя по тому что 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 пропущеных...

  7. 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
    Aborted

     

     

     

     

     

    9 минут назад, 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
    8

    cat /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages
    8

     cat /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=16

     

    2017-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

  8. 10 минут назад, max1976 сказал:

    По приведенным данным - правильно. Попробуйте поставить 21845 в качестве маски.

    flowhash_size = 1048576 удалить? я почему про расчет спрашиваю - у меня 2 сервера разной конфигурации. вот и пытаюсь понять для себя как оно считается. чтоб меньше форум засорять. Да и кому то возможно это поможет. 

     

    (EAL: invalid coremask на 21845)

  9. 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 мне как расчитать? 

  10. dee То есть мне проще soket 0 использовать для менеджмента а 1 - для extfilter? или наоборот лучше? 

    UPD lstopo-no-graphics - зависает...

  11. 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
     

    Чего то у меня еще больше вопросов...

  12. чего то насмерть запутался с ядрами для 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 - миссы пропали...

  13. Ну фото конечно выбраны жесть. На первом фото - центральная серверная после расширения. Точнее мы расширили ее в 3 раза. Без отключения. И вот кроссовая часть как раз на фото. Да - пока там все вот так вот висит. Потихоньку, ночными работами перекладываем патчи. А Вы бы хотели отключить города днем и начать наводить красоты? Меня бы директора долго пинали в голову и в живот за такое "клиентоорентированное решение". Поэтому пойдем медленно - и буду по 10 - 15 патчиков - но за год и тут красоты будут. На фото под абзацем "Кольцо" - кроссовая часть серверной перед глобальной реконструкцией. этой фотке лет 5. Так что все будет красиво. Но со временем. Главное - сервис для абонента. 

  14. а чем гененируете списки? Я сперва получаю выгрузку ( вней данный урл как раз с 2 //) парсю и отправляю в базу. Из базы extfilter-maker генерирует списки для extfilter.. и вот в этих уже списках данный урл с 1 слешем..

  15. К сожалению не помогло... с 1 слешем (так как выгружается после extfilter-maker) все блокируется. С 2 слэшами - нет. если вручную внести эту ссылку (с 2 слэшами) то работает и так и так

  16. Приветствую! А кто как блокирует ссылки типа qBY1RSBoCqFLw_wcB// 2 слэша в конце? в базе у меня оно верное - а при выгрузке - нормализуется до одного слэша и получаю пропуск...

  17. подтверждаю: последний фильтр просто не работает. ни при коре - = 7, ни при 29, никак. На все выдает "Fatal Application - No cores defined in the configuration file"

    А - сорри - сам идиот)

  18. Добрый день! max1976 - еще раз спасибо за прекрасный extFilter. Остался один вопрос - при отправке HUP - происходят пропуски. Прочитал уже что можно еще один инстанс поднять. но чтот не понял как. Это поднятие еще одного процесса на соседней сетевой карте?

     

    Так и происходят до сих пор ? У кого какое время запуска скриптов (extfilter_maker.pl, extfilter_quagga.pl) в кроне стоит ?

     

    При HUP не должно быть пропусков, т.к. списки проверки подменяются очень быстро.

     

    Тестилки думают иначе. У меня был хуп раз в 40 минут. и каждые 40 минут по время проверок по 10 - 15 ресурсов пролетало. Поставил 2 сервера с разным временем релоада. Стало лучше.

     

    и еще: кто знает за что отвечают параметры mbuf_pool_size и ring_size? Заметил - что чем они больше - тем меньше пропусков.

  19. Добрый день! max1976 - еще раз спасибо за прекрасный extFilter. Остался один вопрос - при отправке HUP - происходят пропуски. Прочитал уже что можно еще один инстанс поднять. но чтот не понял как. Это поднятие еще одного процесса на соседней сетевой карте?