Rhel 5.6 increasing bind qps

Greaser, Tom tgreaser at hsc.wvu.edu
Sun May 29 11:14:20 UTC 2011


In my haste/excitement  I apologize for not  being clear as to posting about why we wanted to increased the qps on our dns servers.

We had no claims on our systems as to how many qps they could service. Where i got the 100k qps was doing some goggling and seen others post VERY high numbers on some Sun boxes and some vendor appliances.   
(From my experience most appliances are Linux or BSD boxes).

Now granted the dns boxes we use are about 4 years old  but some of the postings were a few years old too..
So my starting question was how could we make our systems get better performance.

I did neglect to post that I ran the queries a few times before the stats to make sure it was cached in named . That was done so all tweaks could be measured so we didn't have to worry about disk IO being a major factor.
I also neglected to post any of our named config settings and to remind people that named by default will run only 1 thread per processor so the servers are running 4 threads of named .

 Our dns boxes also run dhcpd / mysql and apache so we were careful to watch performance changes in those as well.

Also My fedora14 box is 2  hops away from the DNS server .. So I imagine I could have gotten a small increase if I ran the test on the same vlan/subnet.
 
Now if anyone knows of other ways to gain qps results please let me know.. I couldn't find any 1 place to increase performance on any Linux system outside some config settings in named.conf itself (which we did).

Finally here are the paths to the proc settings that were changed ..
/proc/sys/net/core/wmem_max
/proc/sys/net/core/rmem_max
/proc/sys/net/ipv4/udp_rmem_min
/proc/sys/net/ipv4/udp_wmem_min
/proc/sys/net/unix/max_dgram_qlen

Just so credit is passed around, reason i went this direction is a few years ago i read Performance Tuning for Linux® Servers IBM Press .. Its a bit dated (hope they make a new one) 
And http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Web_Platform/5/html/Administration_And_Configuration_Guide/jgroups-perf-udpbuffer.html


Message: 1
Date: Fri, 27 May 2011 14:50:43 -0400
From: "Greaser, Tom" <tgreaser at hsc.wvu.edu>
To: "redhat-list at redhat.com" <redhat-list at redhat.com>
Subject: Rhel 5.6 increasing bind qps
Message-ID:
        <01AE6A0DCAC31F4BB953E10987D404771B6536788A at MSEXCL.hscresex.local>
Content-Type: text/plain; charset="us-ascii"

Hello all.
I just wanted to pass on some testing we have done to increase our qps when running  dnsperf with all dns queries being auth zoned by our bind boxes.
I was tired of seeing postings on line about some boxes getting 100k qps and knew ours could do better than what it currently was getting
Now to be 100% here please read all man pages before mucking with kernel ip stack settings..

My client is Fedora 14 64 (no modified ip stack settings)
dnsperf-1.0.1.0-21.fc14.x86_64

Named Server System  info  (server dose other things too)
8gig ram
Two  Dual-Core AMD Opteron(tm) Processor 2220
Running
2.6.18-238.9.1.el5 #1 SMP Fri Mar 18 12:42:39 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
bind-utils-9.3.6-16.P1.el5
bind-chroot-9.3.6-16.P1.el5
bind-libs-9.3.6-16.P1.el5
bind-9.3.6-16.P1.el5


Statistics:
  Parse input file:     multiple times
  Run time limit:       60 seconds
  Ran through file:     81 times
  Queries sent:         1678416 queries
  Queries completed:    1678361 queries
  Queries lost:         55 queries
  Avg request size:     40 bytes
  Avg response size:    79 bytes
  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Wed May 25 09:29:49 2011
  Finished at:          Wed May 25 09:30:49 2011
  Ran for:              60.000398 seconds

  Queries per second:   27972.497782 qps

then modified
echo 26214400 > wmem_max
echo 26214400 > rmem_max
Statistics:
  Parse input file:     multiple times
  Run time limit:       60 seconds
  Ran through file:     129 times
  Queries sent:         2654557 queries
  Queries completed:    2654538 queries
  Queries lost:         19 queries
  Avg request size:     40 bytes
  Avg response size:    79 bytes
  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Wed May 25 09:34:36 2011
  Finished at:          Wed May 25 09:35:36 2011
  Ran for:              60.000328 seconds

  Queries per second:   44242.058143 qps


then modified
 echo 65536  > udp_rmem_min
 echo 65536  > udp_wmem_min
Statistics:

  Parse input file:     multiple times
  Run time limit:       60 seconds
  Ran through file:     136 times
  Queries sent:         2797867 queries
  Queries completed:    2797859 queries
  Queries lost:         8 queries
  Avg request size:     40 bytes
  Avg response size:    79 bytes
  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Wed May 25 09:38:03 2011
  Finished at:          Wed May 25 09:39:03 2011
  Ran for:              60.000472 seconds

  Queries per second:   46630.616506 qps


 echo 100 > max_dgram_qlen
Statistics:

  Parse input file:     multiple times
  Run time limit:       60 seconds
  Ran through file:     146 times
  Queries sent:         3008730 queries
  Queries completed:    3008730 queries
  Queries lost:         0 queries
  Avg request size:     40 bytes
  Avg response size:    79 bytes
  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Wed May 25 09:41:50 2011
  Finished at:          Wed May 25 09:42:50 2011
  Ran for:              60.000304 seconds

  Queries per second:   50145.245931 qps






More information about the redhat-list mailing list