ACE stickiness by IP+netmask and predictor

Unanswered Question
May 11th, 2008


I have a question regarding the relationship between stickiness based on IP/netmask and the load balancing predictor in an ACE module running ACE 2 1.0.

Let's say I load balance a Web server with stickiness based on IP address and a /24 netmask. The first time a client with address makes a request, the predictor chooses a real server (let's call it server A) and an entry is added to the sticky table: "src address 1.2.3/24 ==> server A". When the same client comes back for further requests before the sticky timeout expires, the request will be directed to real server A.

If another client with IP address makes a request (again before the sticky timeout expires), my understanding is that since there's an entry in the sticky table for 1.2.3/24, the request will be directed to real server A and the predictor will not be used at all. Is this right?

If it's the case, I guess the only reason to use a nemask smaller than /32 would be to save space in the sticky table?

In real world examples, what netmask are people using when doing stickiness based on IP address?

Thank you very much,


I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
jsivulka Fri, 05/16/2008 - 10:28

your description is not perfectly clear.

What do you call maintenance website ??

What is the ip address that you use ?

Regarding the sticky behavior, this is not normal. The behavior you descrive is the one you get when you use the option 'sticky' in the definition of the backup serverfarm.

the mask in the "sticky ip-netmask" command. It means that if a client is sticked on server01 all of subsequent clients from the subnet will be sticked on the same server.

This also explains why most of the clients get on server01, maybe most of the clients are on the same subnet ?

agiaccone Sat, 05/17/2008 - 09:28

Hi Marc,

as from my personal experience, most of the sticky use cases work better with /32 stickiness. That's why stickiness often is used to resolve session issues (if your client session starts on a server you should always continue working on that server as often webservers don't communicate session information among them). /24 stickiness could be useful in some cases when you have a /24 subnet that is the nat subnet of a proxy. This means that possibly thousands of clients could arrive to your VIP from any of the 253 ip of the subnet. To be sure to have those clients' sessions on the same webserver you should set the stickiness on the whole /24 subnet.

Hope this helps,


Gilles Dufour Mon, 05/19/2008 - 01:49

your understanding is correct.

You should also take into account the number of allocated sticky entries.

Ace has max 4M of sticky entries that you need to allocated to your context.

Normally, this should be enough to save all your entries.

But if you need 10 contexts, each with 10 sticky groups, the 4M becomes 40k for each sticky group.

This is still a lot.

But if you have 50k concurrent users that's not enough.

You then need to use a different mask than /32.

There is no magic mask.

It all depends on your config and traffic.



This Discussion