BIND 10 #308: simple benchmark for b10-auth query handling

BIND 10 Development do-not-reply at isc.org
Fri Aug 13 17:59:43 UTC 2010


#308: simple benchmark for b10-auth query handling
---------------------------+------------------------------------------------
      Reporter:  jinmei    |        Owner:                      
          Type:  defect    |       Status:  new                 
      Priority:  minor     |    Milestone:  y2 6 month milestone
     Component:  b10-auth  |   Resolution:                      
      Keywords:            |    Sensitive:  0                   
Estimatedhours:  0.0       |        Hours:  0                   
      Billable:  1         |   Totalhours:  2.0                 
      Internal:  0         |  
---------------------------+------------------------------------------------

Comment(by jinmei):

 Please review branches/trac308.  The branch point is r2717.

 I've also a bit tweaked the !AuthSrv class so that I can specify the size
 of hot spot cache.

 This is a proposed !ChangeLog entry:
 {{{
   85.   [func]          jinmei
         Added a micro benchmark test for query processing of b10-auth.
         (Trac #308, svn rTBD)
 }}}

 (The rest of this comment is not directly related to the patch itself, and
 can be ignored for the purpose of code review)

 Just for information, here's a sample result using (an unsigned version
 of) root zone with a real query sample.

 {{{
 % ./query_bench -n 2 root.sqlite3 query.txt
 Parameters:
   Iterations: 2
   Data Source: root.sqlite3
   Query data: file=query.txt (9451 queries)

 Benchmark enabling Hot Spot Cache with unlimited slots
 Processed 18902 queries in 82.609620s (228.81qps)
 Benchmark enabling Hot Spot Cache with 10*#queries slots
 Processed 18902 queries in 82.378802s (229.45qps)
 Benchmark enabling Hot Spot Cache with #queries/2 slots
 Processed 18902 queries in 84.010641s (225.00qps)
 Benchmark disabling Hot Spot Cache
 Processed 18902 queries in 104.356003s (181.13qps)
 }}}

 Note that all queries were processed two times, so this should basically
 be advantageous to hot spot cache.  Actually, the result was not so
 different even if queries weren't repeated. This is probably partly
 because of the nature of the root zone: most of the response would be a
 referral to popular top level domains, so even if queries are different
 many RRsets for the authority and additional sections should be reused
 frequently.

 The size of cache didn't make much difference.  This may also be because
 of the characteristics of the root zone.

 According to this test, hot spot cache improves performance in terms of
 qps about 27%.  Personally, I'm not so sure if the gain is worth the
 additional code complexity.  Next time we wanted to optimize something, we
 should first have a proof that it surely makes substantial improvement.

-- 
Ticket URL: <http://bind10.isc.org/ticket/308#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list