You could just run tcpdump to dump DNS packets and look at how DNS traffic is behaving. Something like the following, entered in Terminal, should do the trick:
sudo tcpdump -i en0 -n udp port 53
-i en0 should reference your active interface. On Macs, this is usually
en0, but if you have both an ethernet jack and a wireless adapter, you might need to use
en1. This will produce output like (I've wrapped long lines for clarity):
22:19:46.160992 IP 192.168.1.143.61150 > 192.168.1.1.53:
60237+ A? www-google-analytics.l.google.com. (51)
22:19:46.184272 IP 192.168.1.1.53 > 192.168.1.143.61150:
60237 11/0/0 A 220.127.116.11, A 18.104.22.168, A 22.214.171.124,
A 126.96.36.199, A 188.8.131.52, A 184.108.40.206, A 220.127.116.11,
A 18.104.22.168, A 22.214.171.124, A 126.96.36.199, A 188.8.131.52 (227)
This dump shows a request from my machine to my router (
192.168.1.143 > 192.168.1.1) at
22:19:46.160992. My router replied back at
22:19:46.184272 with the response. So this DNS request took about 23ms.
If you suspect a DNS performance problem, run the tcpdump command and look for the DNS requests for the server which interests you. If you see a long delay or several tries, then you know you have a problem.