Тестирование
производительности
DNS-серверов
Андрей Лескин
QratorLabs/HLL
Что такое DNS?
Что такое DNS?
• Коротко:
highloadlab.com  178.248.233.7
Что такое DNS?
• Коротко:
highloadlab.com  178.248.233.7
• Длинно:
(список
неполон)
DNS-серверы
• minidns dns server
https://code.google.com/p/minidns/source/browse/minidns
“wc -l minidns”
107 (!!!)
DNS-серверы
• minidns dns server
https://code.google.com/p/minidns/source/browse/minidns
“wc -l minidns”
107 (!!!)
DNS-серверы
• minidns dns server
https://code.google.com/p/minidns/source/browse/minidns
“wc -l minidns”
107 (!!!)

• Authoritative.
There can be only one!

• Caching.
The cache is out there...
А что мы хотим?
• Скорость
• Устойчивость
• Производительность
А что мы хотим?
• Скорость
• Устойчивость
• Производительность

SUPER
Authoritative
Server

SLOW
Authoritative
Server

SUPER
Caching
Server

QUERIES
QUERIES
А что мы хотим?
• Скорость
• Устойчивость
• Производительность

SUPER
Authoritative
Server

SLOW
Authoritative
Server

SUPER
Caching
Server

QUERIES

• Доменов: МАЛО
• Запросов: МНОГО

QUERIES
DNS test. А что уже было сломано
до нас?
DNS test. А что уже было сломано
до нас?

• dnsperf & resperf?
DNS test. А что уже было сломано
до нас?

• dnsperf & resperf? NO
• tcpreplay?
DNS test. А что уже было сломано
до нас?

• dnsperf & resperf? NO
• tcpreplay? NO
• Ideal/real world data? NOOO!!!
DNS test. How?
DNS test. How?
DNS test. Measurements

• QPS, RPS = PPS
• Traffic: Mbit/s
• CPU load avg
• Поведение при повышении нагрузки
• А еще есть крутилки и включалки!
DNS test. А на что будем смотреть?
• Knot (1.2.0 & 1.3.0-RC5)
• Yadifa (1.0.2)
• NSD3 (3.2.15)
• NSD4 (4.0.0b4)
• PowerDNS (3.3)
• TinyDNS (1.05)
• Unbound (1.4.16)
• Pdnsd (1.2.8)

• Server:
Dual Xeon E5-2670
32Gb RAM DDR3 1333Mhz
Intel X520-DA2 10Gbit
• Generator:
Single Xeon E5-2670
32Gb RAM DDR3 1333Mhz
Intel X520-DA2 10Gbit
• Gentoo Linux 3.7.9
DNS test. Setup
• Максимально ванильно!
• Authoritative:
300 сформированных зон
• Caching:
Прогреваем кэш на такой же объем
данных
Results. Выбираем победителя
крутилок.
Knot-1.2.0, queries=1
Results. Выбираем победителя
крутилок.
Knot-1.2.0, queries=1
Results. Queries in flow: 01
Knot
NSD
Unbound
Yadifa

PowerDNS
Pdnsd
TinyDNS
Results. Queries in flow: 01
Knot
NSD
Unbound
Yadifa

PowerDNS
Pdnsd
TinyDNS
Results. Queries in flow: 02
Knot
NSD
Unbound
PowerDNS

Pdnsd
Yadifa
TinyDNS
Results. Queries in flow: 02
Knot
NSD
Unbound
PowerDNS

Pdnsd
Yadifa
TinyDNS
Results. Queries in flow: 02
Knot
NSD
Unbound
PowerDNS

Pdnsd
Yadifa
TinyDNS
Results. Queries in flow: 20
Knot
NSD
Unbound
PowerDNS

Pdnsd
Yadifa
TinyDNS
Подводные камни.

IT HAPPENS.
BE PREPARED
Подводные камни. Local.

• Knot-1.2.0
Победитель может все... Или не все?
Подводные камни. Local.

• Knot-1.2.0
Победитель может все... Или не все?

• Yadifa-1.0.2
Нужно больше золота!
Подводные камни. Local.

• Knot-1.2.0
Победитель может все... Или не все?

• Yadifa-1.0.2
Нужно больше золота!

• Pdnsd
Приз за оригинальность.
Подводные камни. Global.
Камень

Контр-камень

• UDP

• BCP38

Мне кажется, пакет пришел оттуда... Но я не
гарантирую это!

Когда случится счастье – нам не ведомо!
Подводные камни. Global.
Камень

Контр-камень

• UDP

• BCP38

Мне кажется, пакет пришел оттуда... Но я не
гарантирую это!

• DNS cache poisoning (Kaminsky)
Адрес поменялся! Иди сюда!

Когда случится счастье – нам не ведомо!

• DNSSec

Это счастье есть, но мало кто пользуется 
Подводные камни. Global.
Камень

Контр-камень

• UDP

• BCP38

Мне кажется, пакет пришел оттуда... Но я не
гарантирую это!

• DNS cache poisoning (Kaminsky)

Когда случится счастье – нам не ведомо!

• DNSSec

Адрес поменялся! Иди сюда!

Это счастье есть, но мало кто пользуется 

• Стать DNS Amplifier

• Можно самостоятельно:
- закрыть рекурсию извне
- RRL (DROP, SLIP)
- DROP пакетов с src_port 53

Чтобы не быть жертвой - надо не быть жертвой

- dig isoc.org ANY (26 vs 2435)
- открытая рекурсия
Подводные камни. Сам не выжил.
Подводные камни. Сам не выжил.
Подводные камни. Сам не выжил.
Спасибо!
Андрей Лескин
serenheit@highloadlab.com

More Related Content

PDF
UDP Amplifiers на примере DNS и способы противодействия
PDF
Андрей Лескин, QratorLabs/HLL
PPTX
Андрей Лескин (QratorLabs/HLL)
PDF
Всеволод Поляков "История одного мониторинга"
PDF
Игнат Корчагин "Как Cloudflare помогает справиться с крупнейшими атаками в Сети"
PDF
Tech Talks @NSU: Что такое Highload? Секреты высокой нагрузки.
PDF
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
UDP Amplifiers на примере DNS и способы противодействия
Андрей Лескин, QratorLabs/HLL
Андрей Лескин (QratorLabs/HLL)
Всеволод Поляков "История одного мониторинга"
Игнат Корчагин "Как Cloudflare помогает справиться с крупнейшими атаками в Сети"
Tech Talks @NSU: Что такое Highload? Секреты высокой нагрузки.
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...

What's hot (20)

PDF
2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...
PPTX
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
PDF
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
PPTX
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
PDF
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
PPTX
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
PPTX
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
PDF
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
PDF
Балансировка нагрузки и отказоустойчивость в Одноклассниках
PPTX
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
PDF
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
PPTX
Docker в работе: взгляд на использование в Badoo через год
PPSX
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
PDF
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...
PDF
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
PDF
My talk on monitoring systems at RootConf 2016
PPTX
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
PDF
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
PDF
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
PPTX
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Балансировка нагрузки и отказоустойчивость в Одноклассниках
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Docker в работе: взгляд на использование в Badoo через год
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. H...
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
My talk on monitoring systems at RootConf 2016
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Ad

Similar to HL++2013 Leskin (20)

PDF
A popular DNS security overview
PDF
Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (...
PPTX
Service Discovery. More that it seems
PPTX
Rootconf2016 nginx-lua-balancing
PDF
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
PDF
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
PDF
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
PDF
Что такое Highload? Секреты высокой нагрузки
PPTX
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
PPTX
Алексей Зозуленко - "Использование Selenium Grid 2 для ускорения выполнения т...
PDF
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
PDF
Евгений Потапов, АйТиСумма
PDF
Технические аспекты знакоства с девушкой в Интернете
PPTX
HighLoad весна 2014 лекция 2
PDF
Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)
PPTX
Считаем Рунет или миллион pps в секунду / Дмитрий Смирнов (TNS Russia)
PPTX
apache cassandra и подруга её scylla
PPTX
Wi-Fi Audit Workshop
PDF
{ab}use their clouds
PDF
История одной картинки
A popular DNS security overview
Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (...
Service Discovery. More that it seems
Rootconf2016 nginx-lua-balancing
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Что такое Highload? Секреты высокой нагрузки
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Алексей Зозуленко - "Использование Selenium Grid 2 для ускорения выполнения т...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Евгений Потапов, АйТиСумма
Технические аспекты знакоства с девушкой в Интернете
HighLoad весна 2014 лекция 2
Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)
Считаем Рунет или миллион pps в секунду / Дмитрий Смирнов (TNS Russia)
apache cassandra и подруга её scylla
Wi-Fi Audit Workshop
{ab}use their clouds
История одной картинки
Ad

HL++2013 Leskin