We hit a problem today where the Beaker test suite is timing out because DNS lookups are occasionally taking longer than normal. It turns out bkr.server.util.absolute_url() is calling socket.getfqdn() (which involves a DNS query) on every invocation. We use that function a lot, including when sending mails and when generating atom feeds and many other places too. We should optimise it to avoid any socket.get* calls if the hostname has been configured, and to just use the result of socket.gethostname() if that appears to be fully qualified (it is in all our environments, although it's not guaranteed by Linux to be fully qualified in general) to avoid making DNS queries unless absolutely necessary.
http://gerrit.beaker-project.org/5276
I considered making absolute_url() cache the hostname on first invocation but I figured that would be annoying and surprising behaviour for the sysadmin (hostname changes would not be reflected in Beaker until httpd and beakerd are restarted).
Beaker 23.3 has been released.