Forum Discussion
Jace_45978
Nimbostratus
Nov 02, 2009v10.0.1 cpu0 goes off on its own
6900 LTM running v10.0.1 HF2 4 core unit
LTM shows that the CPUs are all balanced during the day normally around 40% (during peek time traffic) we are doing ssl termination and hardware compression.
There was a need to add the following iRule:
rule XXComRestrictVHostsProd {
when HTTP_REQUEST priority 50 {
if {[HTTP::header exists Host]} {
set hostHeader [HTTP::header Host]
if { $hostHeader equals {admin.xx.com} or $hostHeader equals {tool.xx.com} } {
log local0. "Potential header manipulation detected. Received request for $hostHeader from [IP::client_addr]"
HTTP::header replace Host www.xx.com
}
}
}
}
When this rule was applied to the VS it was originally applied with the log local0 un-commented and the cpu0 would run a 80% during mid traffic time while the other 3 cores would be 10%...during peek time the cpu0 would max at 100% and cause the site to be extremely slow. Commenting the log local0 causes the cpu0 and the other cpus to line up and have a nice balance around 40% during peek time.
We do have a ticket open but was curious if anyone has any insight to why cpu0 would max out while using the above iRule and the log function. Even with the log function enabled the /var/log/ltm was not getting much if any data from this irule unless we generated the known condition.
normal operation of this LTM is over 100k connections, 250ssl_tps, 600 new connects/sec,
thanks
- The_Bhattman
Nimbostratus
Run the following command - hoolio
Cirrostratus
80% CPU0 and 10% on the other cores sounds like the issue might be that the VIP was demoted from CMP (using all available cores - Click here). Was there a global variable in the iRule--or was it literally what you posted? I don't think anything in the rule you posted would prevent CMP from working. Unless maybe alertd and/or syslog-ng are only running on CPU0 and that's what was using the CPU cycles on CPU0 while logging was enabled.when HTTP_REQUEST priority 50 { if {[HTTP::header exists Host]} { switch [string tolower [HTTP::host]] { "admin.xx.com" - "tool.xx.com" { log local0. "Potential header manipulation detected. Request for [HTTP::host] from [IP::client_addr]" HTTP::header replace Host www.xx.com } } } }
- Jace_45978
Nimbostratus
the irule that I posted was literally the irule (exception of xx in place of client initials). - hoolio
Cirrostratus
So CMP shouldn't be an issue with that iRule. I'd guess it's a host daemon like alertd or syslog-ng eating up the CPU0 cycles. You could enable logging again during a low traffic period and check the top and/or ps output to see what's using CPU0.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects