the load-balancing logic counts the requests during a while and uses that counter to balance the requests between the nodes.
the while is 1 second fixed.... Should be a parameter and probably the default value should be more than one second.
The actual ormula is:
status = lbstatus + (elected - oldelected) * 1000)/bfactor;
lbfactor is received for the node via STATUS.
lbstatus is recalculated every 1 second (that will be a parameter) like status.
elected is the number of time the worker was elected.
oldelected is elected last time the lbstatus was recalculated.
The node with the lowest status is selected.
If you have very few sessions (like a demo by hands) lbstatus is 0 on all the nodes and only the first nodes are going to be selected.