09.29.09

unbound

Posted in mail, opensource at 3:52 pm by viliar

Типа немножко рекламы. Далеко не новость, что с bind все не очень хорошо во многих аспектах. Но, честно говоря, он является де-факто стандартом среди dns серверов и даже, цитируя opennet, он является “reference implementation, т. е. если где то стандарт можно толковать по разному, то делать надо так как это сделано в bind.”

Поэтому, пока я не столкнулся с тем, что он просто дропает часть запросов на очень нагруженном почтовом фронтенде с postfix и отьедает много памяти и проца, у меня и мысли не было искать ему замену. Готов согласиться с тем, что вероятнее всего среди авторитарных dns серверов ему сейчас замены нет, но для использования dns только в роли рекурсора все не так фатально. В статье по ссылке на opennet рассказывалось об различных альтернативах, но все они по разным причинам мне не походили. Как обычно меня не хватает на детальный разбор полетов, в смысле обзор, поэтому обойдусь практически без цифр :-) Лучше всего показал себя в моих условиях unbound, который в качестве рекурсора решил все проблемы, которые были у меня с bind. Память лимитируется и ему хватило 256Mb, ну и запросы он пока не дропает. Процессор не поедает.

root@mx1 ~]# top -b | grep unbound
743 unbound 1 4 0 256M 237M kqread 0 20.6H 0.49% unbound
[root@mx1 ~]# ps aux | grep unbound | head -1
unbound 743 0.1 11.7 262028 242532 ?? RsJ 26Jul09 1233:48.63 /usr/local/sbin/unbound

[root@mx1 ~]# unbound-control stats
thread0.num.queries=623538557
thread0.num.cachehits=499713882
thread0.num.cachemiss=123824675
thread0.num.recursivereplies=123824635
thread0.requestlist.avg=20.4801
thread0.requestlist.max=240
thread0.requestlist.overwritten=0
thread0.requestlist.exceeded=0
thread0.requestlist.current.all=20
thread0.requestlist.current.user=15
thread0.recursion.time.avg=2.000007
thread0.recursion.time.median=0.0278163
total.num.queries=623538557
total.num.cachehits=499713882
total.num.cachemiss=123824675
total.num.recursivereplies=123824635
total.requestlist.avg=20.4801
total.requestlist.max=240
total.requestlist.overwritten=0
total.requestlist.exceeded=0
total.requestlist.current.all=20
total.requestlist.current.user=15
total.recursion.time.avg=2.000007
total.recursion.time.median=0.0278163
time.now=1254227226.907645
time.up=5600244.498232
time.elapsed=1947.175681

Любопытно будет посмотреть его статы, когда вся хостинговая почта будет переключена на использование этого фронтенда. Собственно говоря, связка postfix+unbound+milter-greylist показала себя уже очень хорошо и я могу ее рекомендовать в качестве реального антиспамого щита, но так как почти весь спам отшибается, совсем не видно, как работать система будет при большом потоке нормальных писем, которые нужно будет сохранять и передавать бэкендам. Тут как раз я имею шанс узнать, что такое нехватка дискового io с большой очередью :-) . Ну все-таки задача приема писем безболезненно распараллеливается на несколько машин, поэтому не думаю, что тут будут какие-то глобальные проблемы. Так или иначе, об этом я тоже напишу по-позже.

P.S. И да, еще пара голословных утверждений: С точки зрения производительности gps(greylist policy service) - отстой. А milter-greylist рулит.

Comments are closed.

14 queries. 0.239 seconds