When I first go to any page (e.g. www.cnn.com) from a client computer, the initial page takes a while to load (anywhere from 10 - 30ish seconds). Then, all subsequent pages from that site load fine.
If I open a new browser and surf to another site (e.g. www.bmwusa.com) there is a good chance (though not always a 100% chance) that the site will load slowly as well. But again, if I pick subsequent pages on that site, response time is fine.
The other interesting dynamic is that if I keep the browser open to the most recently visited page on a site but have no activity on it for a few minutes, the next page I request is once again slow. But, after the first page is served, subsequent pages load rapidly.
In my research, I theorized that this was related to a name resolution problem. So, I made the following changes to my configuration:
In my internal NIC, I made the following changes in my TCP/IP settings:
Under Advanced, on the DNS tab, I added the following IP addresses:
192.168.16.2 (IP for the internal NIC) xx.xxx.xxx.x (ISP DNS #1) xxx.xxx.xxx.xx (ISP DNS #2)
Under the Programs/Administrative Tools/DNS, I verified that Forwarding was active for the DNS server and that my ISP's two DNS IP addresses were defined.
Personally I have no experience with a SBS configuration. However, I see you are running an internal DNS server. So, I assume he is installed on the ISA server. Right?
If that's the case, make sure there is a packet filter which allows UDP port 53 *and* TCP port 53 outbound. Also, on the ISA interface adapters, only specify a DNS server on the internal interface. Moreover, I would use 127.0.0.1 instead of the ISP's DNS servers. On the internal clients use the the IP address of the ISA internal interface. To test the DNS configuration, use the commandline nslookup utility.