July 22nd, 2012, 10:18 AM
DNS(MX) load balancing mechanism?????
Iím testing my MTA performance with DNS(MX) load balancing mechanism which is responsible for, only to receive email from external domains.
For that matter, I'm using Exchange server 2007 Journaling to send emails to MTAs which are configured in DNS(MX) load balancing cluster,
Exchange server 2007 Journaling(Global-all Messages) with DNS(MX) setting for Send Connectors to relay emails to B.com
DNS forwarders: added B.com DNS address
Configured with following DNS(MX) load balancing settings,
Two MTA servers having A & MX record created with preference value 10 as shown below,
zone file fragment:
IN MX 10 mail.B.com.
mail IN A 192.168.124.4
mail IN A 192.168.124.5
The issue Iím seeing with DNS(MX) is, emails are relaying to single server only for a period time & then gets switch to the second server & vice versa..i.e. asynchronous balancing.
e.g. if suppose in 1 minute Exchange send 1000 emails to the MTAs, then all the emails are relaying to 1st server rather distributing between both of them.
If I run netstat command on the exchange server then it shows only one connection established with the MTA, either with 1st or 2nd server.
What I am looking for:-
Email traffic should get distribute equally. e.g. if exchange send 100 emails per minute to DNS(MX) load balancing MTAs, then emails should get distribute in scale of 50-50 ~ per minute, rather relaying to only one server.
Is this a normal behaviour of DNS(MX)? or there is any workaround to distribute the load equally?
Does exchange causing the problem as its making only 1 connection?
Kindly suggest, if there is any other MS solution which will distribute the email traffic in 50-50~ scale?
Thanks in advance!
July 27th, 2012, 02:09 PM
The short answer is that there is not a way to do reliable DNS load balancing. A server sending to you will do an MX record lookup. Usually it will take the lowest weighted MX record and do an A record lookup. From that point your DNS server will answer with whatever A records there are for that hostname. The sending server will pick one of the A records (usually whichever one was listed first) and send mail to it until the record expires on their DNS. Best way to keep it as balanced as possible is to keep the TTL down really low. But that will also increase the amount of traffic to your DNS server.