McGregor2006 Опубликовано 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 запросов? Каким образом можно распараллелить потоки по ядрам? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 27 июля, 2015 · Жалоба А именно ли поверднс грузит? Точно это не прерывания забитые на первое ядро? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 27 июля, 2015 · Жалоба Birq попробуйте запустить - он размажет прерывания по ядрам красиво :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
McGregor2006 Опубликовано 27 июля, 2015 · Жалоба PowerDNS в связке с Mysql, если смотреть через top при запуске dnsperf на в первых строчках висит процесс Power DNS, изредка выскакивает MySQL. Хорошо а как проверить какие именно прерывания забиты под конкретное ядро? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
McGregor2006 Опубликовано 27 июля, 2015 · Жалоба Немного посмотрел про Birq, я так понял что программа аккуратно размазывает аппаратные прерывания. А как у нее у управлением thread`ами? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 27 июля, 2015 · Жалоба Прерывания смотреть тут: cat /proc/interrupts Birq умеет HT. Но смысла в том, чтобы не навешивать на одно и тоже логическое ядро - отсутствует, HT очень умный и отлично разруливает этот кейс :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tux-tm Опубликовано 28 июля, 2015 · Жалоба Полагаю что нужно кол-во тредов увеличить примерно по кол-ву ядер, ну или как вам там удобнее В конфиге PowerDNS recursor мне это сильно помогло в свое время. # threads Launch this number of threads # threads=4 В PowerDNS по тредам настроек поболее Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...