Powerdns 3.1 (from the svn tag):
When doing lots of queries which result in unique SOA records being returned (ie create database of 1m zones and then query an unknown subdomain on each) we get very poor performance due to the mutex lock in DNSSECKeeper::getFromMeta() (called from packethandler.cc editSOA())
Our 16-way test server is producing about 30kqps with this line under the conditions described above (and 40% cpu idle due to threads waiting). Commenting out this line we get 62kqps with 0% idle (all caches disabled, with various other mutex patches installed)
As reported by a mutrace run:
Mutex #120319 (0x0x9c7200) first referenced by:
Mutex # Locked Changed Cont. tot.Time[ms] avg.Time[ms] max.Time[ms] Flags
120319 275562 196965 94067 5451.767 0.020 0.758 M-.--.
Closed by commit 2768. Please test!