Dmitry
понт, 120-150к
Dmitry
это тотал, ин и аут. до этого strace гонялся, по pid процесса раздающего и принимающего, не на дебаг ядре, так там времени много тратится write и мало на read
Dmitry
там по одному из тредов я стрейсил. было 8 сокетов с которых читались данные и 8 которые читали, репрокси такое себе
G72K
strace сильно меняет поведение системы, его для такого использовать нельзя. В perf есть свой strace -c
Dmitry
Dmitry
и по каждому fd выше я агрегировал за секунду время проведенное в write сисколе. а вот график переданных данных по каждому fd за это время
Dmitry
Dmitry
ну и предполдожил, что деградация из-за приницпа strace наблюдается существенная. потому перешел на perf
Dmitry
вот топ swapper, в одном случае это EC2, в другом свои сервера с OpenVZ ядром
Dmitry
https://i.stack.imgur.com/XdnBT.png
Dmitry
https://i.stack.imgur.com/BCtil.png
Dmitry
ну и перекос огромный. подозревая что debug ядро на Linux AMI 2017.09 отличается в чем-то от vzkernel7-debug, потому что на последнем куча save_stack, dump_trace и тп сисколов. могу предположить, что именно из-за этих медленных сисколов я вижу такой разброс
Dmitry
но почему их нет на AMI - непонятно
Dmitry
ну и разгружен EC2 инстанс был больше при меньшей вычислительной мощности
G72K
Напомните что за swapper
Dmitry
раньше назывался процесс init, это scheduler походу и ранер остальных процессов
Dmitry
так-то он в idle должен торчать, либо реагировать на softirq от девайсов, в моем случае от NIC
G72K
Это что то openvz специфичное? В любом случае много ack можно подкрутить tcp_delack_min
G72K
Чтобы слать пореже
Dmitry
но не только в нем грабли. любой процесс что делат write в сетевой fd приводит к вызову tcp_write_xmit и начинает тупить
G72K
накиньте памяти сокетам
Dmitry
тюнилось ядро
G72K
sysctl что то там wmem
Dmitry
и там настройки что при аналогичных ситуациях тянули по 20гбит трафика
Dmitry
дада, wmem, mem, rmem - это первым делом
Dmitry
еще до perf, по признакам проявляемым - безрезультатно, как и тюнинг TSO/MSO и смена карточки
Dmitry
ибо был Broadcom 5720, а воткнули X540 для теста
Dmitry
никакой разницы
G72K
Ну отправка пакетов при write это нормально.
G72K
Вы сейчас сколько прокачиваете?
Dmitry
все те же грабли с медленным write, на уровне сискола, а дальше perf по цепочке показывает на уровне кода драйвера. код драйвера читал тоже, на предмет проблем с DMA, но ничего не нашел. заткнулся на том что не знаю особенностей работы с perf и почему save_stack колится
Dmitry
100ин, 200аут на этих железках. максимум 1 гбит возможен на этом конфиге, но с проблемами латенси и большим разбросом
Dmitry
сейчас на 10г карте живем
Dmitry
т.е. ядро намного раньше упирается. бтв, не в контейнере гоняли эксперименты, просто на vzkernel7
G72K
save_stack это точно не артифакт perf?
G72K
Если нет, мож оно в dmesg срет стактрейсами :)
Dmitry
вот не знаю артефакт ли. по работе perf не так много инфы
Dmitry
в vger.kernel.org по листу perf написал, но он полудохлый
G72K
G72K
Если он только в kfree вызовах то это не артефаки
Dmitry
бтв, про delack, в коде сишном запись в сокет с TCP_NODELAY, потому Нагель выключен
Dmitry
так что не должно быть tcp ack delay в принципе
G72K
G72K
Это я про tcp_no delay. Delack он вроде на принимающей стороне
G72K
save_stack все равно подозрительно
Roman
а использовал кто dm-integrity/dm-raid?
Sergey
Dmitry
есть flame graph полный в svg, если интересно
Roman
Roman
Dmitry
там xennet_start_xmit, а на графие другом на его месте будет bnx2_start_xmit
Dmitry
это кол функции драйвера NIC
Dmitry
https://www.dropbox.com/s/gh0uxltxa1ws0ir/ec2_all_processes.svg?dl=0 - EC2 - all processes
Dmitry
https://www.dropbox.com/s/n2g2cywakhl58mb/vzkernel7_all_processes.svg?dl=0 - Our system all processes
Dmitry
детализация по swapper, net_rx_action
Dmitry
https://www.dropbox.com/s/td37qi9h7jdlrod/ec2_all_processes_net_rx_action.png?dl=0 - EC2
Dmitry
https://www.dropbox.com/s/olki993iby2gigp/vzkernel7_all_processes_net_rx_action.png?dl=0 - our system
G72K
G72K
Там в /sys были какие то невменяемые крутилки как раз для такого. Там была опция трейсить определенные вызовы и как раз собирать стэки
Dmitry
я тоже так думал, но по flamegraph есть взовы что не закачниваются стек трейсами, а значит они эпизодические и провялются только в нетворкинг подсистеме
Dmitry
если бы только сеттингс ядра, то было бы на каждом коле такое имхо
shazo
Коллеги,
а может есть тематичный канал по Hadoop?
Dmitry
https://t.me/hadoopusers
shazo
sps
G72K
Igor
https://pbs.twimg.com/media/DTsNw7QWkAAqOIU.jpg:large
Igor
я бы не беспокоил покой чатика, если бы не имя автора
Bogdan (SirEdvin)
Уже было, вроде
Dan
Igor
:'(
Sergey
Вот если б послушать 😊
Womchik
В исполнении?
Aleksey
лепса конечно
Aleksey
а 12-ую что бы бритни спирса
Nklya
Это в чяте хенгопса родилось btw
kevit
дорогие товарищи, а есть ли у кого на примете ubuntu/debian докерфайлы с systemd, нужно для автотестов
Igor
Tadeusz
в слеке есть hangops.slack.com