One of the most important issues that may affect your servers performance is how they deal with DNS. The look ups that your server has to make is something that will affect the speed of your web server or proxy. So in most circumstances, a DNS lookup is used to find the IP address that the server should connect to when retrieving a URL. In many instances this is not an issue, for example if all the content is stored on the local host – then no lookups are required. But often web content contains lots of links and images stored on other servers. For a web server this can affect performance, but for a proxy server it can almost bring the server to it’s knees.
Unfortunately for many servers there’s no solution to performing DNS lookups – basically it’s the way the internet works. For a proxy server it’s even more problematic, for an active connection there will be hundreds of request, both normal and reverse DNS lookups. If you multiply this by a few hundred or even thousand clients then you can imagine the potential impact on your server. The lookups are unavoidable, so to increase performance for DNS and for a server overall you should look at DNS caching.
You should always install this feature whenever possible, it allows a server to internally remember a series of IP addresses in order to resolve requests instantly. It can have a huge affect on performance – the servers can avoid many DNS lookup requests and thus avoid the latency and impact of them. But remember the DNS lookup is only obligatory when the requester actually needs to connect to the source. If you have lost of hosted images from other sites, make sure that your web server load them and doesn’t wait endless requests from other sites.
For proxy servers this stuff is even more important, they’ll get loads more requests. Take for example this instance of a infrastructure of proxy servers designed to encrypt and protect your identity. The security has to be incredibly secure, but in reality people don’t use services that slow their connections down – just look at this video how to find a fast proxy server.
DNS caching can take place anywhere that DNS lookups are required. You can also use it as a tool to protect a server’s resources – for example don’t use up server resources repeatedly looking up bad addresses. Make sure that you install some sort of system that ignores repeated DNS requests for bad servers. If it can’t be resolved and can’t be cached then it should be ignored.