Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Perlbal::Manual::HighPUseriContributed Perl DoPerlbal::Manual::HighPriority(3)

       Perlbal::Manual::HighPriority - Perlbal's high/low priority queueing

       Perlbal 1.78.

       This document describes Perlbal's high/low priority queueing system.

       Queuing system

       Perlbal has three queues: normal, high priority and low priority.

       As their	names suggest, this means that usually requests	get to the
       normal queue and	are dispatched in FIFO order, with high	priority
       requests	going to a different queue that	gets ahead of the normal one
       and a low priority queue	that only gets done when the high and normal
       queues are empty.

       In a nutshell, whenever Perlbal needs to	select which request to	take
       care of next, it	first looks for	requests in the	high priority queue;
       if that one is empty, it	then looks into	the normal queue; and, if the
       normal queue is empty too, it finally looks in the low priority queue.

       High priority with cookies

       Perlbal can use cookies to determine if a request should	go to the high
       priority	queue (configurable).

       The parameters to configure this	are "high_priority_cookie" and
       "high_priority_cookie_contents";	the first defines the name of the
       field to	check for on the cookie	and the	second one defines the content
       in that field that will trigger the request going to the	fast queue:

	   SET myservice.high_priority_cookie =	name_of_the_field
	   SET myservice.high_priority_cookie_contents = required_content_on_that_field

       Here's a	clearer	example:

	   SET myservice.high_priority_cookie =	highpriority
	   SET myservice.high_priority_cookie_contents = yes

       High priority with plugins

       The plugin Perlbal::Plugin::Highpri supports making requests high
       priority	by URI or Host.	Also check "make_high_priority"	under

       Queue relief

       Sometimes if the	high priority queue is really busy, the	standard queue
       will suffer from	resource starvation. The queue relief system helps
       prevent this. When there	are "queue_relief_size"	or more	connections in
       the standard queue, newly available backends have a
       "queue_relief_chance" percent chance of taking a	request	from the
       standard	priority queue instead of the high priority queue.

	   SET web_proxy.queue_relief_size = 2000
	   SET web_proxy.queue_relief_chance = 30 # 0-100, in percent

       SEE ALSO

       "make_high_priority" and	"make_low_priority" in Perlbal::Manual::Hooks,

perl v5.32.1			  2011-01-23  Perlbal::Manual::HighPriority(3)


Want to link to this manual page? Use this URL:

home | help