Here are the culprits I can think of for excessive DNS requests:
* qpsmtpd's DNSBL or RHSBL doing what they're supposed to do (looking up incoming email server info in order to block potential spam). You would see a corresponding jump in incoming connections on 25 or 465 at the same time.
* A local infection (server or workstation) of some sort sending spam out. You would see a corresponding jump in outbound connections on 25.
* A service or web app set to log hostnames instead of IPs (requiring DNS lookups on the IP of every host that connects to the app). You would see a corresponding jump in in-bound access to the web app (probably port 80 or 443)
The DNS cache does not do any sort of automatic refresh -- if a cached entry expires it is discarded, and only checked again online if the server or a local workstation re-tries access to that host.
Some diagnostic suggestions:
iptrafI don't know if iptraf still comes pre-installed on SME, but if you have it on your server you can fire it up and capture the actual traffic going from your server to port 53 to see what hostnames are being looked up.
dnscache & tinydns logsThese commands will show:
a) the number of DNS queries transmitted to a DNS server by DNSCache for 5/11/2015
b) the number of DNS requests served locally by tinydns on your SME for 5/11/2015
If you subtract b from a you should get something close to the number of lookups that actually went offsite on 5/11/2015 (compare the result to what you're seeing in your vigor)
Counts of dns lookups:
cat /var/log/dnscache/* |tai64nlocal |grep "^2015-05-11.*tx" |wc -l
cat /var/log/tinydns/* |tai64nlocal |grep "^2015-05-11" |wc -l
On my home server (two users, low email volume, owncloud server setup with 3 - 4 sync clients configured) I get these results, indicating around 8000 dns lookups:
[root@office ~]# cat /var/log/dnscache/* |tai64nlocal |grep "^2015-05-11.*tx" |wc -l
8316
[root@office ~]# cat /var/log/tinydns/* |tai64nlocal |grep "^2015-05-11" |wc -l
333
[root@office ~]#