Forum Discussion

CANSTAYN569's avatar
CANSTAYN569
Icon for Nimbostratus rankNimbostratus
Aug 24, 2016

Source-ip based persistency not working properly

Hi all, I have a problem with the source ip based persistence. Although there is source ip based persistency, i can see from the HSL logs that there are two different nodes that the requests are forwarded. I have checked the show sys connection table. The requests are all fresh, cause i cant see more than 1 request at a time. (And each time the source port is changing)

 

I have ran the command below and there are three records. Not surprisingly the packets are distributed in a proportion 2/3 and 1/3 show /ltm persistence persist-records client-addr 82.222.128.66 Sys::Persistent Connections source-address 82.222.128.66 172.16.200.36:80 172.16.210.45:8080 (slot/tmm: 1/2) source-address 82.222.128.66 172.16.200.36:443 172.16.210.40:8080 (slot/tmm: 1/2) source-address 82.222.128.66 172.16.200.36:80 172.16.210.45:8080 (slot/tmm: 1/0)

 

The client creates the requests instantly, can that be the root cause of the problem. Is it logical to have more than one record in this table for a single ip address. Thanks in advance. Sadik

 

3 Replies

  • It appears that you've listed persistence records for two different virtual servers? From your list, the first and third records correspond to VS 172.16.200.36:80, while the second shows a different destination port (172.16.200.36:443). Are these indeed separate virtual servers? Note that the first and third records do correspond to the same pool member (172.16.210.45:8080).

     

    IIRC you can have multiple persistence records for the same source IP/virtual server if subsequent traffic is handed off to a different instance of TMM. I see that your first and third records reference different TMM instances.

     

    So, yes you can have multiple persistence records for the same source IP and VS for different TMM instances. Those should point to the same pool member.

     

    In your case I suspect the second record is a separate VS (HTTPS instead of HTTP, for example). By default that will be a separate persistence decision. If you need these to be sent to the same pool member you can enable the 'match across services' persistence function. In this scenarion that will cause connections from the same source IP destined to the same VIP (but different port) to go to the same pool member.

     

  • Hi Ed,

     

    We have confirmed that there were two seperate request types.

     

    HTTP's were directed to one node, HTTPS's to another. And the persistence was working properly. It seems that the client was the problem. Thanks for your help back then. Kind regards. Sadik

     

    • Ed_Summers's avatar
      Ed_Summers
      Icon for Nimbostratus rankNimbostratus

      Thanks for the follow up and glad all worked out!