Forum Discussion

buzzkiller's avatar
buzzkiller
Icon for Altocumulus rankAltocumulus
Mar 06, 2024

Can session persistence time impact load balancing

Hello,

I am encountering an issue where a business owner reports that application traffic is not being balanced as expected. She mentions that when one service is stopped, the F5 system does not redirect traffic to the other service.

To troubleshoot, I reviewed the monitors to ensure they are appropriately configured. They are set to monitor service ports directly, rather than relying on ICMP ping.

I also examined the custom Persistence Profile we created, which has a timeout setting of 3600 seconds.

Could this timeout setting be influencing the system's ability to redirect traffic to an operational server when one is stopped? In other words, might clients not be forwarded to the functional server until the persistence record expires?

Thank you,

  • eneR's avatar
    eneR
    Icon for Cirrostratus rankCirrostratus

    What kind of application? HTTP Traffic?

    If you disable a node on the BIG-IP, persistent session can still connect to this one. When set to Disabled, a node or pool member continues to process persistent and active connections. It can accept new connections only if the connections belong to an existing persistence session.

    If the service goes down, e.g. the pool member becomes red because the check fails, the persistence will not create your issue. It will get lb to another available server no matter what kind of persistence you use.

    Your issue sounds more like this one. K15095: Overview of the Action On Service Down feature so maybe give reject a try.

  • What do you mean by service is stopped? Do you mean stopping pool member service and making it unavailable?

    Coming to your query - Can session persistence time impact load balancing ?

    My answer would be YES. With persistence profile, you might see uneven load balancing on the pool members. Because, due to persistence client will connect to the server to which they had connected last time if persistence table has its entry.
    Persistence entry will be maintained until its time out/expiry.

    If member becomes unavailable, the persistence entries will be still there until it gets timed out or expired, and it will be used if it is still there and pool member becomes available before entry is expired. 
    When pool member is unavailable and a connection matches an entry in the persistence table for same unavailable pool member, this entry will be ignored as pool member is unavailable and the new connection will be made with available pool member based on the load balancing method. With this, new persistence entry will be added in the persistence table.

     

    Feel free to ask if you still have any queries.

     

    Hope it helps!