Forum Discussion

Ube_34341's avatar
Ube_34341
Icon for Nimbostratus rankNimbostratus
Oct 04, 2012

Prioritize TCP queued pool based on URI

Hi all

 

I have a slow pool of application servers that serves actions from clients based on 3 different HTTP POSTs; having enabled TCP queuing on the pool, I need to prioritize differently the 3 POSTs. I'm sure there's a simple way of doing it, but that's not coming to me, the only thing I've tried with no luck is this:

 

 

 

priority 400

 

when HTTP_REQUEST {

 

 

switch [HTTP::uri] {

 

"URLa" {

 

pool A

 

}

 

}

 

}

 

 

priority 300

 

when HTTP_REQUEST {

 

 

switch [HTTP::uri] {

 

"URLb" {

 

pool B

 

}

 

}

 

}

 

 

priority 200

 

when HTTP_REQUEST {

 

 

switch [HTTP::uri] {

 

"URLc" {

 

pool C

 

}

 

}

 

}

 

 

where POOL a,b and c are the same pools (same members) with different queue depth configured

 

 

Many thanks for any sugestion!

 

 

 

 

1 Reply

  • Why not a single iRule with a single switch statement with the three URL cases?

     

     

    Also, if not comfortable with iRules it might be best to create three http classes and apply them to the virtual server.

     

     

    also, in your iRules, why do you care about rule priority?