La fonction d'affinité de Load Balancer met en correspondance les adresses IP client et un serveur dorsal. L'affinité est établie dès que l'adresse IP de destination d'un paquet correspond au cluster, que le port de destination correspond à celui de Load Balancer et que l'adresse IP source correspond.
Lorsque l'affinité est établie, les paquets sont envoyés par la suite au même serveur dorsal. Lorsqu'elle est interrompue, suite à une panne ou à un retrait de serveur, toute affinité, et par conséquent toutes les connexions à ce serveur, sont interrompues. De même, aucune information de connexion n'apparaît sur la ligne de commande ou les clients de l'interface graphique. Seul le nombre d'enregistrements d'affinité actifs est utilisé.
Lorsque l'affinité est activée, si une autre demande est reçue du même client, la demande est acheminée vers le même serveur.
Progressivement, le client arrête d'envoyer des transactions et l'enregistrement d'affinité disparaît. Chaque enregistrement d'affinité dure le temps indiqué par la valeur "staletimeout", en secondes. Lorsque des demandes suivantes sont reçues lors du délai indiqué par staletimeout, l'enregistrement d'affinité est toujours valide et la demande est toujours acheminée vers le même serveur. Si aucune connexion supplémentaire n'est reçue lors du délai indiqué par staletimeout, l'enregistrement est vidé. Un nouveau serveur sera sélectionné pour toute connexion reçue une fois ce délai écoulé.
La commande server down (dscontrol server down) est utilisée pour arrêter un serveur. Ce dernier ne s'arrête pas tant que la valeur staletimeout n'arrive pas à expiration.
Lorsque l'affinité est désactivée, dès qu'une connexion TCP est reçue d'un client, Load Balancer utilise le serveur correct et lui transmet les paquets. Si une autre connexion arrive du même client, Load Balancer la traite comme si les deux connexions n'étaient pas liées et utilise à nouveau le serveur correct.