McGregor2006 Posted July 27, 2015 Добрый день. Возникла задача использовать в качестве внутренних DNS серверов связку PowerDNS и MySQL для хранения зон. Версия PowerDNS 3.4.2. При тестировании утилитой DNSperf было выявлено, что вся нагрузка ложится на одно ядро процессора, нагрузка замерялась по каждому ядру отдельно утилитой sar. Хотя разработчики заявляют о поддержке мульпоточности PowerDNS. Изменение параметров в файле pdns.conf - receiver-threads и distributor-threads не приводит не помогло, нагрузка по прежнему ложится на одно ядро. В качестве платформы, на которой развернут PowerDNS, используется виртуальная машина на VmWare ESXI 5.1, выделено 2 vCPU и 3 Гб RAM. ОС - Debian 7.7 , версия ядра 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u1 x86_64 GNU/Linux. Каким образом реализована поддержка многопоточности в PowerDNS в зависимости от количества DNS запросов? Каким образом можно распараллелить потоки по ядрам? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted July 27, 2015 А именно ли поверднс грузит? Точно это не прерывания забитые на первое ядро? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted July 27, 2015 Birq попробуйте запустить - он размажет прерывания по ядрам красиво :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
McGregor2006 Posted July 27, 2015 PowerDNS в связке с Mysql, если смотреть через top при запуске dnsperf на в первых строчках висит процесс Power DNS, изредка выскакивает MySQL. Хорошо а как проверить какие именно прерывания забиты под конкретное ядро? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
McGregor2006 Posted July 27, 2015 Немного посмотрел про Birq, я так понял что программа аккуратно размазывает аппаратные прерывания. А как у нее у управлением thread`ами? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted July 27, 2015 Прерывания смотреть тут: cat /proc/interrupts Birq умеет HT. Но смысла в том, чтобы не навешивать на одно и тоже логическое ядро - отсутствует, HT очень умный и отлично разруливает этот кейс :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
tux-tm Posted July 28, 2015 Полагаю что нужно кол-во тредов увеличить примерно по кол-ву ядер, ну или как вам там удобнее В конфиге PowerDNS recursor мне это сильно помогло в свое время. # threads Launch this number of threads # threads=4 В PowerDNS по тредам настроек поболее Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...