Forum Discussion

Fabian_Arroyo_M's avatar
Fabian_Arroyo_M
Icon for Nimbostratus rankNimbostratus
Sep 16, 2015

Problem with iRule Message-based load balancing

Hi all,

I'm using this iRule, I need to use message-based load balancing because I have an application that in a connection handles thousands of conversations then those conversations I need to be balanced because right now all go to the first node where the connection is opened. It works perfectly, the traffic is balanced as I hope, but when I apply the iRule and the traffic increases, the device start to have failover events and this message appears in the CLI "Re-starting tmm and Re-starting tmm1"

I opened a case in support, but I have had no response. Any ideas?

The steps I took were:

  1. tmsh create ltm profile mblb my_mblb { ingress-high 20000 ingress-low 15000 min-conn 15 }

  2. tmsh modify ltm virtual my_vs {profiles add {my_mblb}}

  3. Apply the iRule to the VS

when CLIENT_ACCEPTED {

set client_closed 0

TCP::collect

}

when CLIENT_CLOSED {

set client_closed 1

}

when SERVER_CONNECTED {

after 1000 -periodic if {$client_closed} {TCP::close}

}

when CLIENT_DATA {

binary scan [TCP::payload] II head rlen

if {($head & 0x3) == 1} {

if {[TCP::payload length] < [expr {8 + $rlen}]} {

TCP::collect [expr {$rlen + 8 - [TCP::payload length]}]

return

} }

pool my_pool

TCP::release [expr {$rlen + 8}]

TCP::notify request

TCP::collect

}

No RepliesBe the first to reply