From: <[EMAIL PROTECTED]> > > We had some problems at work with system lockups during periods of high > email delivery load, due to the cost of the DNS lookups - on Linux. If > a few hundred emails arivved for delivery at approximately the same > time, it brought the machine to its knees, and took a long long time to > recover, as more email arrived in the meantime. >
DNS BIND is always a difficult problem in terms of performance of an overall network. It is mostly because of the way DNS works and partly because of the i386 and Linux architecture as compared to Sun Solaris as you mentioned. In general DNS uses large chunks of CPU Memory area to store information it needs to do its job, namely to associate a Name with an Address or vice versa. The bigger the CPU Memory the better it becomes. This is not entirely true, though. This is not entirely so because by nature DNS information is scattered across the Internet, is changing all the time, and the best way to complete its job quickly is to have the most used information made ready in some place locally which is a portion of CPU memory and for DNS to predict and fetch just in time the information required. When that particular information is not in the list currently found in CPU memory DNS has to fetch this information from its peer DNS may be located locally and if not fetch from somewhere. The way it does this as we know is, it checks for this information from its peer or the upstream authoritative DNS and if it finds there, well and good the search is over. But if not the search continues on to the next upstream and so on. This fetching involves many conversation between the machines exchanging information. The speed depends on the bandwidth currently available and on the capacity of the authoritative server. This process is as fast as the slowest bandwidth or the slowest server upstream. Now, nobody would want to tie down an application running on a local machine just because it is waiting for the DNS in this same machine to complete its job of fetching information from its peer or upstream. So, if you have a local machine that works hard, do not put a DNS named to run on it. Either the application or DNS or both will suffer in their performance. Ideally, one would want all list to be stored in the local Memory but we know this is impossible and with the internet growing in leaps and bounds the list is growing bigger and faster by the day. Also, you would want a DNS software that predicts the information that will be requested just in time when it is required. Again this is a mammoth task and out there our technical friends have been trying. > As I roughly recall from one of our sysadmin people's explanation, > Solaris apparently doesn't suffer the same way since it caches in memory > the DNS lookup results. > The main difference between Sun Solaris and Linux lies in their architecture. Sun Solaris is engineered to use a number of little cpus with their exclusive memory and other buffer memory areas independent from the main CPU memory on a Sun Platform. Linux on the other hand because it relies on the i386 architecture the general and specialists operations are mainly integrated into a single CPU and the CPU memory areas. Perhaps Sun, IBM, Fujitsu, Hitachi, etc, with their own versions of Linux have modified Linux to perform optimized on their respective platforms. With Sun Solaris for example it has lots of buffer memory that goes with independent CPUs to perform specialists operations like buffering, direct memory access, etc., and therefore takes away the load from the main CPU and main memory. Relatively speaking, a Sun Platform as I see it is a number of i386 in one single box. So, a Sun Solaris with 256MHZ CPU with the some amount of memory is not comparable to a Linux on i386 with 256MHZ CPU even if there is one with the same amount of memory . That is why prices for the same CPU and MEMORY configuration of a box for these two are not also comparable. Apart from the differences in hardware make up, there are differences in terms of 'SMARTS' added to it. Hence, the analogy of comparing apples and oranges apply, or really it does not apply ? > Seems like an obvious thing to do. Any hint that the appropriate Linux > DNS component might be improved in the same way? > It is extremely difficult if not totally impossible to have Linux on the i386 architecture as we know it today to come near a Sun Solaris in performance given that both have comparible configuration in terms of CPU and Memory. http://www.acay.com.au/~oscarp/disclaimer.html http://www.acay.com.au/~oscarp -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug