Forum Discussion

Hyun-Sub_Kim_37's avatar
Hyun-Sub_Kim_37
Icon for Nimbostratus rankNimbostratus
May 24, 2005

How to control the count of the session by iRule ?

When client connect to the Web Server, I want to control the count of the session by iRule.

 

 

Situration.(BIG-IP V9.0.5)

 

When I use connection limit in virtual server, the BIG-IP do not receive new session and existing session.

 

That`s why, the existing session is disconnected when user already established session. (because http session is very short time.)

 

 

So I want to make this.....

 

When I use connection limit in virtual server, BIG-IP do not receive only new session. And the existing session must connected.

 

 

 

for example.

 

So, If the count of the session is over 1000, I don`t want to receive new session. but the existing session still connect.

 

 

And If the count of the session is under 800, I want to receive new session.

 

 

How to make the iRule ?

 

  • drteeth_127330's avatar
    drteeth_127330
    Historic F5 Account
    An iRule might not be necessary. If you set the connection limit on the pool member and use session persistence, then existing sessions will continue to connect after the connection limit is reached.
  • We should use the cookie persistence.

     

     

    After I set the connection limit on the pool member and use session persistence(source_addr), client can not connect the same web server.

     

     

    So, I need iRule.

     

  • Posted By hskim on 5/24/2005 5:46:14 PM

     

     

    We should use the cookie persistence.

     

     

    After I set the connection limit on the pool member and use session persistence(source_addr), client can not connect the same web server.

     

     

    More situration.

     

    When connections reach the limit, statu on the node is unavailable.

     

    And then, BIG-IP deleted all persistence records.

     

    BIG-IP don`t know which the existing sessions is.

     

    So, BIG-IP can not connect all new session.

     

     

    And the Site use Insert Session Cookie.

     

    So, there is no session table.

     

    That`s why, the node do not need connection limit.

     

     

    So, How to solve the problems ?

     

     

     

  • drteeth_127330's avatar
    drteeth_127330
    Historic F5 Account
    The persistence records are removed when the pool member is marked down by a service check. However, exceeding a connection limit should not result in marking the pool member down. What service checks are you using? Is the pool member actually failing? Maybe your server returns a 500 status code when it's above a certain concurrency limit?

     

     

    I don't understand your question about cookie persistence. You are correct. Cookie persistence does not make use of the session persistence table.
  • The customer site should use the session cookie for client session connecting

     

    They can not use source address because source address has Proxy and NAT problems.(When group of client IP address is same)

     

    So, Customer must use Insert Cookie Persistence.

     

     

    Test 1. Using simple persistence and connect limit on pool member. (Service check is http)

     

     

    When connections on the pool member reach the limit, status on pool member is yellow color and then unavailable.

     

    At that time, the pool member in persistence records delete. And then, client can not connect the same web server.

     

     

    Test 2. Using Cookie persistence and connect limit on pool member. (Service check is http)

     

     

    When connections on the pool member reach the limit, status on pool member is also yellow color and then unavailable.

     

    Also client can not connect the same web server.

     

     

    Test 3. Using Cookie persistence and connection limit on virtual server. (Service check is http)

     

     

    When I use connection limit on virtual server, the BIG-IP do not receive new session and existing session.

     

     

    That`s why, the existing session is disconnected when user already established session. (because http session is very short time.)

     

     

     

    So, I need the iRule.

     

     

    Something like this.....

     

    So, If the count of the session is over 1000, I don`t want to receive new session. but the existing session still connect.

     

     

    And If the count of the session is under 800, I want to receive new session.

     

     

    How to make the iRule ?