Forum Discussion

Helio_36192's avatar
Helio_36192
Icon for Nimbostratus rankNimbostratus
Jul 26, 2012

SMTP Load Balancing

Hello,

 

We have an issue where SMTP load balancing does not seem to work. The SMTP virtual server consists of a pool of 4 SMTP nodes. When multiple clients connect to the SMTP virtual server we can see that the load is distributed between the nodes in the pool under the SMTP virtual server. However, when a single client connects to the virtual server one node in the pool is chosen and the clients SMTP load is not distributed to the other nodes in the pool. That being the case if a single client connects it uses 1 single node to send all the SMTP traffic that it has. In some cases the single client can send hundreds of emails using only 1 node.

 

Since no persistence is configured, shouldn't the SMTP traffic from the single client be load balanced between all the nodes in the pool?

 

Thanks,

 

 

-Helio

 

 

  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus
    Is this for a single connection? Or multiple connections?

     

     

    Most SMTP servers will connect once (Or up to about 4 connections, more is anti-social) and stream multiple emails across the single connection. one after the other in a pipeline. That's never going to be balanced as the balancing is done per connection. not per message.

     

     

    if you are getting multiple connections and it's still not going to more than one node, I'd check your settings. What algorithm are you using to balance? RR might be your best bet here possibly. But I suspect you're being hit by the email pipelining... (Note that although you could disable it, that'll increase the processing overhead. Especially if your servers are doing any sort of anti-spam based on the inbound host).

     

     

    H
  • Hi Hamish,

     

    I have not confirmed it but as I suspect the issue is probably because a single connection, as you suggested, is being used to stream multiple emails. I guess the only way to determine this is to do a tcpdump at the time a client connects to send multiple email, correct? This is not predictable so it will be hard to determine the right time to do the tcpdump. We were using RR and switched to "Least Connection (member)" for testing purposes.

     

    Thanks,

     

     

    -Helio
  • Hi Helio,

     

    Do you have oneconnect selected in the virtual server definition?If yes try to disable it and then check the operation. Other than this Hamish has explained all the things.

     

     

    Regards,