Do you enjoy your hair? Would you prefer not to pull it out while waiting for your local Apache server on Mac OS X to deliver a page to you?

If you use Mac OS X Lion and have development sites set up at .local addresses, you should immediately move them to any other fake TLD. The .local address space is resolved for Bonjour and as a result any request to a .local name will not hit /etc/hosts first, but will search for Bonjour hosts first.

I found this Stack Exchange question on the subject tonight after getting frustrated with curl seemingly hanging for several seconds on each request.

Instead, I switched all of my local dev sites from $DOMAIN.local to $DOMAIN.dev. The results are staggering.

Since switching all my development sites to end in .dev, requests for them happen several orders of magnitude faster, which is a welcome change. Here are two examples of an Apache 404 page (such that the DNS resolution time is the only appreciable time spent in delivering a response to curl.)

 smerrill@Tinier-Shinier:6 [Sep 07 23:43:35] ~
  time curl http://whatever.local/ > /dev/null

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    72  100    72    0     0   1217      0 --:--:-- --:--:-- --:--:--  1250

real    0m5.011s
user    0m0.006s
sys     0m0.003s

 smerrill@Tinier-Shinier:6 [Sep 07 23:43:46] ~
  time curl http://whatever.dev/ > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    72  100    72    0     0   1412      0 --:--:-- --:--:-- --:--:--  1440

real    0m0.060s
user    0m0.007s
sys     0m0.004s

That’s right – the request goes from a lag of almost 5 seconds to finishing in the blink of an eye. A coworker reported his times going from 12 seconds to less than a tenth of a second. It’s amazing what a difference such a small change in DNS can make.

I hope this speeds up your local web development!