Показаны сообщения с ярлыком PowerDNS. Показать все сообщения
Показаны сообщения с ярлыком PowerDNS. Показать все сообщения

суббота, 17 декабря 2011 г.

Просмотр статистики PowerDNS recursor

rec_control get-all
all-outqueries 17950
dlg-only-drops 0
outgoing-timeouts 342
tcp-outqueries 0
throttled-out 14
throttled-outqueries 14
unreachables 58
answers-slow 307
answers0-1 228
answers1-10 0
answers10-100 2746
answers100-1000 3102
case-mismatches 0
chain-resends 2
client-parse-errors 0
edns-ping-matches 0
edns-ping-mismatches 0
ipv6-outqueries 0
no-packet-error 7896
noedns-outqueries 17949
noerror-answers 5694
noping-outqueries 0
nsset-invalidations 103
nxdomain-answers 15
over-capacity-drops 0
qa-latency 50242
questions 11548
resource-limits 0
server-parse-errors 0
servfail-answers 5839
spoof-prevents 0
tcp-client-overflow 0
tcp-questions 0
unauthorized-tcp 0
unauthorized-udp 0
unexpected-packets 0
cache-entries 15959
cache-hits 228
cache-misses 6155
concurrent-queries 0
negcache-entries 168
nsspeeds-entries 7474
packetcache-entries 6100
packetcache-hits 5165
packetcache-misses 6383
sys-msec 2129
throttle-entries 516
uptime 1055
user-msec 1760

пятница, 16 декабря 2011 г.

Увеличение числа рабочих потоков у PowerDNS Recursor

Осуществляется в файле:
vim /etc/powerdns/recursor.conf

Директивой:
threads=12

После этого необходим перезапуск (Debian 6 Squeeze):
/etc/init.d/pdns-recursor restart

Итого:
cat /var/log/daemon.log |grep pdns | grep threads
Dec 13 19:04:28 stat pdns_recursor[11710]: Launching 2 threads
Dec 15 18:39:33 stat pdns_recursor[3534]: Launching 2 threads
Dec 15 18:40:21 stat pdns_recursor[3569]: Launching 2 threads
Dec 16 21:37:11 stat pdns_recursor[15655]: Launching 2 threads
Dec 16 22:53:09 stat pdns_recursor[17691]: Launching 12 threads

четверг, 15 декабря 2011 г.

Отличная статья по асинхронному DNS резволвингу посредством adns из Python

http://www.catonmat.net/blog/asynchronous-dns-resolution/

Ставить сие чудо очень просто:
apt-get install -y python-adns

Результаты обоих вариантов (slow и fast) на моей машине примерно следующие:
python slow.py
It took 31.14 seconds to resolve 100 hosts.
python fast.py
It took 7.30 seconds to resolve 100 hosts.

Это при условии, что на машине работал локальный DNS резольвер (PowerDNS).

вторник, 13 декабря 2011 г.

Ускорение скорости резолвинга за счет использования PowerDNS recursor на Debian Squeeze

Итак, имеем необходимость в частых DNS запросах:
time for i in `seq 1 100`; do host ya.ru > /dev/null; done

real 0m4.938s
user 0m0.160s
sys 0m0.149s
[email protected]:~# time for i in `seq 1 1000`; do host ya.ru > /dev/null; done

real 0m50.746s
user 0m1.601s
sys 0m1.465s

Скорость, как видно, очень низкая и подобная скорость реакции может стать узким горлышком приложения.

Чтобы исправить подобное поведение, можно поставить локальный кэширующий DNS, мне нравится PowerDNS Recursor:
apt-get install -y powerdns-recursor

После установки необходимо сделать установленный DNS сервер основным в системе:
vim /etc/resolv.conf

И в самый верх добавляем следующее, а имеющиеся записи комментируем диезом:
nameserver 127.0.0.1

Повторяем тест:
time for i in `seq 1 1000`; do host ya.ru > /dev/null; done

real 0m3.400s
user 0m1.456s
sys 0m1.735s
[email protected]:~# time for i in `seq 1 1000`; do host ya.ru > /dev/null; done

real 0m3.520s
user 0m1.532s
sys 0m1.735s
[email protected]:~# time for i in `seq 1 1000`; do host ya.ru > /dev/null; done

real 0m3.487s
user 0m1.452s
sys 0m1.782s

Все, результат достигнут, на множестве одинаковых запросов будет достигаться серьезное повышение скорости работы.