[Pdns-users] Severe PDNS Performace Problems (Long Mial Contains Config)
AJ McKee
aj.mckee at nmtbmedia.com
Thu Feb 27 11:13:11 UTC 2003
Hi Again,
As my last mail did not have enough information I will explain my setup
here and the problems I am having.
Setup
-----------------------
Hardware: Compaq Proliant Dl360 (Secondary Server Intel 700Mhz 256MB
Ram)
Compaq Proliant DL380 (Primary Intel 1Ghz 256Mb Ram)
OS: RedHat Linux 8.0
PowerDNS Version: 2.9.6
Database Server: Mysql
Databse Setup: Mysql Replication. Master DB is on a Private network and
Replicates to the Secondary which in turn Replicates to the Primary in
another network
Mysql Config: I increased the mysqld max connections to 499 on both
hosts in order to help increase performnce on the Primary after it
failed to be effiecent to server records.
Problems
-----------------------
I am having several problems, and all relate mostly to the primary name
server. First of all performace is incredably slow. I did read the
performace section on the docs and applied them to my setup, however the
server still died on a regular basis. Once the server was restarted,
then lookups would happen quite wuickly, however as after about 15 to 30
min, lookups would return a DNS timeout error. In order to combat this
(As I made this server a live box yesterday) the server is restarted
every hour by a cronjob.
At 7:33 this morning, Nagios stated the server was down. A subsequent
check in messages and /etc/init.d/pdns ststus revealed the server had
died. Unfortunatly I did not get to copy the messages in /var/log
I Did have issues with PTR records but this had been resolved. My
mistake there and I put my hands Up.
Solutions
--------------------
If anyone has any suggestions, on how I can improve performance and
increase the stability of this critical server please feel free. I am
not adverse to putting my hand up and saying I messed up here. I am
quite anxios about this problem at the moment as if I don't get it to
work nicely for me, I'm gonna have to stick a Bind server in which is
what I want to advoid at all costs.
The configuration is below
Many thanks in advance
AJ
PDNS Configuration
-----------------------
# Autogenerated configuration file template
#################################
# allow-axfr-ips If disabled, DO allow zonetransfers from these
IP addresses
#
#allow-axfr-ips=
#################################
# allow-recursion List of netmasks that are allowed to recurse
#
#allow-recursion=
#################################
# cache-ttl Seconds to store packets in the PacketCache
#
cache-ttl=600
#################################
# chroot If set, chroot to this directory for more security
#
#chroot=./
#################################
# config-dir Location of configuration directory (pdns.conf)
#
config-dir=/usr/local/etc
#################################
# config-name Name of this virtual configuration - will rename the
binary image
#
# config-name=
#################################
# control-console Debugging switch - don't use
#
# control-console=no
#################################
# daemon Operate as a daemon
#
# daemon=no
#################################
# default-soa-name name to insert in the SOA record if none set in
the backend
#
default-soa-name=auth01.noc.tornado.ie
#################################
# disable-axfr Disable zonetransfers but do allow TCP queries
#
disable-axfr=no
#################################
# disable-tcp Do not listen to TCP queries
#
disable-tcp=no
#################################
# distributor-threads Default number of Distributor (backend) threads
to start
#
distributor-threads=20
#################################
# fancy-records Process URL and MBOXFW records
#
fancy-records=no
#################################
# guardian Run within a guardian process
#
# guardian=no
#################################
# launch Which backends to launch and order to query them in
#
# launch=
launch=mysql
mysql-socket=/var/lib/mysql/mysql.sock
mysql-user=powerdns
mysql-password=*******
mysql-dbname=dns_server
#################################
# lazy-recursion Only recurse if question cannot be answered
locally
#
lazy-recursion=yes
#################################
# load-modules Load this module - supply absolute or relative path
#
# load-modules=
#################################
# local-address Local IP address to which we bind
#
local-address=x.x.x.15,x.x.x.6
#################################
# local-ipv6 Local IP address to which we bind
#
# local-ipv6=
#################################
# local-port The port on which we listen
#
local-port=53
#################################
# log-dns-details If PDNS should log failed update requests
#
#log-dns-details=
#################################
# log-failed-updates If PDNS should log failed update requests
#
# log-failed-updates=
#################################
# logfile Logfile to use
#
# logfile=/var/log/pdns.log
#################################
# logging-facility Log under a specific facility
#
# logging-facility=syslog
#################################
# loglevel Amount of logging. Higher is more. Do not set below 3
#
# loglevel=3
#################################
# master Act as a master
#
master=no
#################################
# max-queue-length Maximum queuelength before considering situation
lost
#
max-queue-length=5000
#################################
# max-tcp-connections Maximum number of TCP connections
#
max-tcp-connections=300
#################################
# module-dir Default directory for modules
#
# module-dir=/usr/local/bin/../lib
#################################
# negquery-cache-ttl Seconds to store packets in the PacketCache
#
negquery-cache-ttl=60
#################################
# only-soa Make sure that no SOA serial is less than this number
#
# only-soa=org
#################################
# out-of-zone-additional-processing Do out of zone additional
processing
#
out-of-zone-additional-processing=no
#################################
# query-cache-ttl Seconds to store packets in the PacketCache
#
query-cache-ttl=200
#################################
# query-logging Hint backends that queries should be logged
#
# query-logging=no
#################################
# queue-limit Maximum number of milliseconds to queue a query
#
queue-limit=1500
#################################
# receiver-threads Number of receiver threads to launch
#
receiver-threads=10
#################################
# recursive-cache-ttl Seconds to store packets in the PacketCache
#
recursive-cache-ttl=100
#################################
# recursor If recursion is desired, IP address of a recursing
nameserver
#
recursor=209.41.200.115
#################################
# setgid If set, change group id to this gid for more security
#
setgid=powerdns
#################################
# setuid If set, change user id to this uid for more security
#
setuid=powerdns
#################################
# skip-cname Do not perform CNAME indirection for each query
#
skip-cname=no
#################################
# slave Act as a slave
#
# slave=no
#################################
# slave-cycle-interval Reschedule failed SOA serial checks once every
.. seconds
#
# slave-cycle-interval=60
#################################
# smtpredirector Our smtpredir MX host
#
# smtpredirector=a.misconfigured.powerdns.smtp.server
#################################
# soa-minimum-ttl Default SOA mininum ttl
#
soa-minimum-ttl=3600
#################################
# soa-serial-offset Make sure that no SOA serial is less than this
number
#
soa-serial-offset=0
#################################
# socket-dir Where the controlsocket will live
#
# socket-dir=/var/run
#################################
# strict-rfc-axfrs Perform strictly rfc compliant axfrs (very slow)
#
# strict-rfc-axfrs=no
#################################
# urlredirector Where we send hosts to that need to be url redirected
#
# urlredirector=127.0.0.1
#################################
# use-logfile Use a log file
#
# use-logfile=no
#################################
# webserver Start a webserver for monitoring
#
webserver=no
#################################
# webserver-address IP Address of webserver to listen on
#
#webserver-address=
#################################
# webserver-password Password required for accessing the webserver
#
#webserver-password=
#################################
# webserver-port Port of webserver to listen on
#
#webserver-port=8080
#################################
# webserver-print-arguments If the webserver should print arguments
#
#webserver-print-arguments=yes
#################################
# wildcard-url Process URL and MBOXFW records
#
# wildcard-url=no
#################################
# wildcards Honor wildcards in the database
#
# wildcards=
More information about the Pdns-users
mailing list