Forum Discussion
Yes. There are differences between UDP and TCP.
With UDP logging it's fire & forget. Send a message == send a UDP packet. The messages arrive out of order and aren't guaranteed to arrive.
TCP logging on the other hand uses a stream. Messages WITHIN a TCP dream arrive in order. but when you have >1 tcp stream (Which you do as soon as HSL doesn't have a free connection) HSL will open a new tcp connection. Then messages arrive out of order ACROSS the connections.
Neither is always useful under stress.
I ran into issues many years ago with HSL. It's been a while since I destructively tested HSL, but the way it worked with TCP, is that IF there is an open and idle connection to a pool member, it'll be used. if not, a new one will be opened. There was pretty much no control over what happened. I even got to the point where we ran out of ports during stress testing...
As I was more interested in numbers (i.e. numbers of connections & messages I ended up doing the counting in an iRule and then sending the contents of the stats table from the BigIP to the backend servers on a timer. YMMV.