Следом за авторитетным DNS-сервером (PowerDNS Authoritative Server 4.1 (https://www.opennet.me/opennews/art.shtml?num=47654)) сформирован (https://blog.powerdns.com/2017/12/04/powerdns-recursor-4-1/) релиз кэшируюшего DNS-сервера PowerDNS Recursor 4.1 (https://www.powerdns.com/recursor.html), отвечающего за рекурсивное преобразование имён. PowerDNS Recursor и PowerDNS Authoritative Server построены на общей кодовой базе, но развиваются в рамках разных циклов разработки и выпускаются в форме отдельных продуктов. Код проекта распространяется (https://github.com/PowerDNS/pdns) под лицензией GPLv2.
Среди особенностей PowerDNS Recursor: средства для удалённого сбора статистики, мгновенный перезапуск, встроенный движок для подключения обработчиков на языке Lua, полноценная поддержка DNSSEC и DNS64 (https://doc.powerdns.com/recursor/dns64.html), поддержка RPZ (Response Policy Zones) и возможность определения чёрных списков, механизмы борьбы со спуфингом, возможность записи результатов резолвинга в виде файлов зон BIND. Для обеспечения высокой производительности применяются современные механизмы мультиплексирования соединений во FreeBSD, Linux и Solaris (kqueue, epoll, /dev/poll), а также высокопроизводительный парсер DNS-пакетов, способный обрабатывать дестки тысяч параллельных запроcов (например на четырёхядерном Xeon 3GHz достигается производительность в 400 тысяч пакетов в секунду).
Как и в PowerDNS Authoritative Server в новой версии PowerDNS Recursor отмечается (https://doc.powerdns.com/recursor/changelog/4.1.html) значительное увеличение производительности, а также сокращение задержек при обработке запросов. Кроме того:
- В отдаваемую статистику добавлены новые метрики для контроля за производительностью.
- Существенно улучшена поддержка DNSSEC, EDNS Client Subnet (передача сведений об IP клиента авторитетному DNS-серверу при построении сети доставки контента) и RPZ (позволяет на лету вычислять "репутацию" для DNS-имен при помощи специальной децентрализованной DNS-зоны, аналог DNSBL для борьбы с хостами спамеров и мошенников);
- Осуществлён переход на вторую ветку криптографической библиотеки Botan (https://github.com/randombit/botan) (2.x). \
- Добавлена поддержка отдачи статистики по SNMP.
- Во встроенном движке Lua обеспечен доступ ко многим частям резолвера.
- Добавлена поддержка механизма а быстрого открытия TCP-соединений (TCP Fast Open).
- Обеспечена возможность привязки обработчиков к ядрам CPU (CPU affinity).
URL: https://blog.powerdns.com/2017/12/04/powerdns-recursor-4-1/
Новость: http://www.opennet.me/opennews/art.shtml?num=47673
> 400 тысяч пакетов в секундуУра! Ушёл всем юзерам в сети 127.0.0.0/8 приятность сделаю.
> Обеспечена возможность привязки обработчиков к ядрам CPU (CPU affinity).
Ага, типа шедулер ядра это крута, но мы всё равно умнее. :)
>> Ага, типа шедулер ядра это крута, но мы всё равно умнее. :)Толстячок? Ну, на всякий случай напишу: шедулер о твоих задачах знать не знает. И шедулит как у него написано.
>>> Ага, типа шедулер ядра это крута, но мы всё равно умнее. :)
>Толстячок?Тупачок?
Чтоб понять, рекомендую постоять 2 часа на светофоре, подождать пока кортеж со свитой проедет.
>>>> Ага, типа шедулер ядра это крута, но мы всё равно умнее. :)
>>Толстячок?
> Тупачок?
> Чтоб понять, рекомендую постоять 2 часа на светофоре, подождать пока кортеж со
> свитой проедет.вообще на нагруженных рекурсорах кортеж едет постоянным потоком, поэтому там между ядрами плавать не нада, там какрас сразу гвоздями прибивают к ядрам намертво все что можно, начиная от rx/tx прерываний очередей с сетевой. иначе получается эффект irqbalance на роутере.
Вы про трассы для Формула-1? Это да.> иначе получается эффект irqbalance на роутере.
Руки у них их ж...ы, а не эффекты, правильный irqbalance ради
только равномерного выравнивания не перетаскивает процесс.
это вы будите клиентам рассказывать? что irqbalance не правильный и поетому у вас роутер пакеты дропает? или прибьете таки руками хендлеры прерываний от сетевух к процам гвоздями как впринципе и должно быть по логике, вырубите неправильный хопертрединг, неправильный io-mmu, и всю остальную неправильную хрень относящуюся к виртуализации, и начнете таки роутить в 5 рас больше в результате на той же машине? или касаемо рекурсора что вы им будете говорить на вопрос почему ваш днс сервер отвечает через раз стоя колом каждые полчаса? к чему ето все я, general-purpose solution иногда крайне хренова работают в узкоспециализированных задачах.
а чем он такой неправильный?вырубите неправильный хопертрединг, неправильный io-mmu
> а чем он такой неправильный?
> вырубите неправильный хопертрединг, неправильный io-mmuio-mmu тем что когда 100k/s и больше прерываний от сетевухи он тупо не успевает все это прожевать и сам по себе как промежуточный элемент в цепочке DMA в любом случае вносит лишнюю задержку и оверхед чем в любом случае снижает производительность, даже если вдруг успевает, правда я таких еще не видил. гипертрединг тут опять таки бесполезен - одно ядро не может обработать 2 прерывания одновременно двумя разными потоками - одно из них лочица и получается packet loss в результате.
мдяя, полтора часа прожил:) откатываемся на 4.0.7 взад:)