iRule + profiles driving up resources
Prior to introducing the iRule and the second service, the VS was configured simply with a TCP profile, and although the number of connections are high, around 80k, resource utilization was very low.
The iRule requires http inspection, so I enabled the http and OneConnect Host-based profiles on the VS.
The number of connections hasn't changed, still around 80k, but since enabling the iRule with the additional profiles, resource utilization has gone through the roof. TMM quickly rises to it's 90% cap and stays there all day. We're investigating some failover events and RST messages from the ltm logs, and performance is perceived to be degraded.
My question is: Can I modify any of the profile attributes, or the iRule to alleviate the high resource consumption?
Thanks!
The iRule:
when RULE_INIT {
Debug toggle- zero = off, one = on
set ::DEBUG 0
Bluecoat pool HTTP-PROXY_80
PITC pool HTTP-PROXY-IRONPORT
}
when HTTP_REQUEST {
if { [matchclass [IP::client_addr] equals ::Pilot_Subnets] } {
if {$::DEBUG} {log local0.info "MozyX-1.0 PITC Client [IP::client_addr]"}
if { [HTTP::header "User-Agent"] contains "mozycorp-windows/1.8" } {
if {$::DEBUG} {log local0.info "MozyX-1.1 Caught Old Mozy: [HTTP::header "User-Agent"]"}
if {$::DEBUG} {log local0.info "MozyX-1.2 Method [HTTP::method]"}
if {$::DEBUG} {log local0.info "MozyX-1.3 Host: [HTTP::host]"}
if {$::DEBUG} {log local0.info "MozyX-1.4 URI: [HTTP::uri]"}
pool HTTP-PROXY_80 member 3.56.142.241 80
} else {
if {$::DEBUG} {log local0.info "MozyX-2.0 [HTTP::uri]"}
pool HTTP-PROXY-IRONPORT
}
} else {
if {$::DEBUG} {log local0.info "MozyX-3.0 Not a PITC client [IP::client_addr] sent [HTTP::host]"}
pool HTTP-PROXY_80
}
}
when LB_SELECTED {
if {$::DEBUG} {log local0.info "MozyX-4.0 LB_Selected Chose [LB::server pool], [LB::server addr]"}
}