Forum Discussion

swiss2000_13853's avatar
swiss2000_13853
Icon for Nimbostratus rankNimbostratus
Feb 08, 2010

slow ramp?

Hi all!

 

 

On my LTM, I have an application running on 6 backend servers. Each server is shut down overnight, and starts sometime in the morning.

 

The servers are not ready at the same time. E.g. server1 is ready at 6:51, server2 at 6:53, server3 at 6:55 etc.

 

 

Problem is that there are a lot of clients trying to connect to this VS all the times. If server1 now comes up in the morning, all these clients are sent to server1 since it's the only one available. Afterwards the other servers come up, but a very large part of the clients is already on server1, which is then quite heavily used, whereas the other servers are almost idle...

 

 

Is it possible to avoid the all the clients immediately connect to server1 as soon as it is ready? Probably with the slow ramp feature? Or are there any other solutions?

 

 

Regards

 

Marc

5 Replies

  • Hi Marc,

     

    This forumn post might be of interest for you

     

     

    http://devcentral.f5.com/Default.aspx?tabid=53&view=topic&postid=86039

     

     

    I hope this helps

     

     

    Bhattman

     

  • Hi Bhattman

     

     

    Thanks for your reply! I've already found the post you mentioned.

     

    What I don't understand is if slow ramp also works for the FIRST activated member of a pool? Or does it just take effect if there are a number of servers running, and then an other one is added?

     

     

    Regards

     

    Marc
  • Hi Marc,

     

     

    If there is only one pool member not marked down in a pool, I don't think the slow ramp option would do anything. I believe this option dynamically lowers the priority of the newly added pool member. If there is only one pool member available there wouldn't be other members to use more heavily.

     

     

    You could potentially handle this scenario in an iRule using HTTP request limiting if [active members [LB::server pool]] == 1:

     

     

    There are quite a few different HTTP limiting rules in the Codeshare. Try searching for limit on the page:

     

     

    http://devcentral.f5.com/Wiki/default.aspx/iRules.CodeShare

     

     

    Aaron
  • The easiest thing for me would be to enable the virtual server only between specified hours (e.g. 7 AM until 6 PM).

     

     

    Is it possible to accomplish that with iRules? Are there statements that query the local system time?

     

     

    Regards

     

    Marc
  • Hi Marc,

     

     

    Sure, you can use the clock command to get the current time of day. Here are three examples:

     

     

    Time based rule

     

    http://devcentral.f5.com/Default.aspx?tabid=53&forumid=5&tpage=1&view=topic&postid=57946

     

     

    Scheduled Maintenance Window

     

    http://devcentral.f5.com/Default.aspx?tabid=53&forumid=5&tpage=1&view=topic&postid=29608

     

     

    Time of day loadbalance

     

    http://devcentral.f5.com/Default.aspx?tabid=53&forumid=5&tpage=1&view=topic&postid=62379

     

     

    Aaron