This is the default connection based load balancing behavior. To have LTM load balance per HTTP request you can either add a OneConnect profile to the VS or specify a pool in every case when you're specifying a pool for any case. Here's an example of the latter:
when CLIENT_ACCEPTED {
Save the name of the VS default pool before it is changed in this iRule
set default_pool [LB::server pool]
}
when HTTP_REQUEST {
if {[string tolower [HTTP::host]] contains "facebook"}{
log local0. "Using isa pool for HTTP Host: [HTTP::host]"
pool isa_pool
snat automap
} else {
log local0. "Using default pool $default_pool for HTTP Host: [HTTP::host]"
pool $default_pool
snat none
}
}
Aaron