Forum Discussion
Reverting to http1.0 from http1.1
we've one virtual server (standard with tcp profile, really basic config) load balancing http connections to a pool of 4 members in round-robin. Under heavy load conditions, one of the servers (randomly) gets overloaded and crashes, it seems like it receives more http requests than others. In order to avoid this we're thinking to use http1.0 instead of http1.1 so that each single http request is served by a different node and load balancing is more granular.
I though to use an iRule like this:
when HTTP_REQUEST {
if {[HTTP::header is_keepalive]} {
HTTP::header replace "Connection" "close"
}
HTTP::version "1.0"
}
which changes both the version and connection headers.
Since I'm not an http expert I'd really appreciate your opinion.
BR,
Erik
- Muhammad_64435NimbostratusI would suggest using connection limit at the node level for each server so that when server reaches to a limit it stops accepting connection while serving the existence connection.
- The_BhattmanNimbostratus
Hi Erick,
Sounds like you are not exactly sure if the cause is more HTTP Request that is causing the issue. I would first look at changing the load balancing algorithm and also investigate the OneConnect Profile to see if that might help before starting to change HTTP versions.
If you are going to end up needing to round robin based on HTTP request then I suppose an irule would be
when HTTP_REQUEST {
set poolname "pooltest"
if { [active_members $poolname] < 1 } {
No active pool members; reset client
reject
return
}
set count [members $poolname]
set try 0
while { $try < $count } {
set plist [lindex [members -list $poolname] [expr {[table incr "round-robin:$poolname"] % $count}]]
set mip [lindex $plist 0]
set mport [lindex $plist 1]
if { [LB::status pool $poolname member $mip $mport up] } {
pool $poolname member $mip $mport
return
}
incr try
}
}
Bhattman
- Eridano_Di_PietNimbostratusHi all,
- hooleylistCirrostratusHi Erik,
Recent Discussions
Related Content
* 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