dropooiの日記

Linux/クラウド/スマホ/IoT関連の情報集め

PowerDNSの構成案

PowerDNSの構成案メモ

・ソフトウェア
PowerDNS3.4.4
MariaDB10.0.17

・PowerDNS バックエンド
gmysql NATIVEモード:MySQLレプリケーションバージョン(ZONE転送無し)
 ゾーン転送は重い&ゾーン削除が出来ないため。

・ネットワーク構成
非公開マスタサーバ(pdns+MySQLマスタ) x 1
 NSサーバとしては公開しない。DBのマスタ、ローカルからのレコード確認。
 独自UIでMySQLレコードを操作、または手動操作、またはpdnsのAPIでのレコード操作。
公開ネームサーバ(pdns+mysqlスレーブ) x 3
 NSサーバとして公開
 データはマスタDBのスレーブで自動同期

・PowerDNS設定(pdns.conf)
launch=gmysql
gmysql-host=localhost
gmysql-user=xxx
gmysql-password=xxx
gmysql-dbname=pdns
gmysql-dnssec=no

# パケットキャッシュする秒数
cache-ttl=60
# クエリキャッシュする秒数(個々のバックエンドへのクエリをキャッシュ)
query-cache-ttl=60
# ネガティブキャッシュのクエリキャッシュ秒数
negquery-cache-ttl=60
# Maximum number of milliseconds to queue a query
queue-limit=1500
# 起動するスレッド数
receiver-threads=4
#backendスレッド数
distributor-threads=4
# ロギングON
log-dns-details=yes
# backendのクエリログ出力
# バックエンドのクエリログはOFF
query-logging=no
# syslogファシリティ
logging-facility=0
# クエリログ OFF時
log-dns-queries=no
# クエリログ ON時 ONにすると1/5から1/10程度に応答性能が下がる
#log-dns-queries=yes
# ログレベル (4-9) 4,5だと実質クエリログが出ないので意味がない。6〜9はクエリログが出るが内容に差がないためloglevel=6とする。
loglevel=6


性能
キャッシュが効けば4coreで8万qps、16coreで18万qps位は出る。
キャッシュが効かないと1/5以下に落ちる。