Hello all,
I have an application that works as a restful pub/sub system that leverages RabbitMQ for persistence and routing. This system was originally designed to handle load-balancing across out 4 node RabbitMQ cluster in a simple round-robin fashion. We have recently switched to using an F5 to abstract our cluster implementation from the application. However, via a series of performance/load tests we have established that publication throughput into RabbitMQ is reduced by nearly 50% with the F5 handling the load-balancing. To me this is a clear sign that we are doing something wrong with our configuration.
I am admittedly a bit out of my element with some of the F5 settings. Below is the VIP we have currently configured:
ip-protocol tcp
mask 255.255.255.255
pool rabbitmq
profiles {
fastL4 { }
}
snatpool app_pool
source-port change
translate-address enabled
translate-port enabled
vlans-disabled
}
The rabbitmq pool looks like this:
ltm pool rabbitmq {
load-balancing-mode least-connections-node
members {
rmq01:5672 {
address 10.52.246.132
}
rmq02:5672 {
address 10.52.246.133
}
rmq03:5672 {
address 10.52.246.134
}
rmq04:5672 {
address 10.52.246.135
}
}
monitor tcp
}
I'm not entirely sure what I should be looking for here. I have confirmed that our timeout is longer than than our timeout. Other than that, I have not been able to find anything that is glaringly obvious to me that may cause the performance degradation we're seeing.
Any help or guidance would be greatly appreciated.
Best.
Ryan