1Perlbal::Manual::HighPrUisoerritCyo(n3t)ributed Perl DocPuemrelnbtaalt:i:oMnanual::HighPriority(3)
2
3
4
6 Perlbal::Manual::HighPriority - Perlbal's high/low priority queueing
7 system.
8
9 VERSION
10 Perlbal 1.78.
11
12 DESCRIPTION
13 This document describes Perlbal's high/low priority queueing system.
14
15 Queuing system
16
17 Perlbal has three queues: normal, high priority and low priority.
18
19 As their names suggest, this means that usually requests get to the
20 normal queue and are dispatched in FIFO order, with high priority
21 requests going to a different queue that gets ahead of the normal one
22 and a low priority queue that only gets done when the high and normal
23 queues are empty.
24
25 In a nutshell, whenever Perlbal needs to select which request to take
26 care of next, it first looks for requests in the high priority queue;
27 if that one is empty, it then looks into the normal queue; and, if the
28 normal queue is empty too, it finally looks in the low priority queue.
29
30 High priority with cookies
31
32 Perlbal can use cookies to determine if a request should go to the high
33 priority queue (configurable).
34
35 The parameters to configure this are "high_priority_cookie" and
36 "high_priority_cookie_contents"; the first defines the name of the
37 field to check for on the cookie and the second one defines the content
38 in that field that will trigger the request going to the fast queue:
39
40 SET myservice.high_priority_cookie = name_of_the_field
41 SET myservice.high_priority_cookie_contents = required_content_on_that_field
42
43 Here's a clearer example:
44
45 SET myservice.high_priority_cookie = highpriority
46 SET myservice.high_priority_cookie_contents = yes
47
48 High priority with plugins
49
50 The plugin Perlbal::Plugin::Highpri supports making requests high
51 priority by URI or Host. Also check "make_high_priority" under
52 Perlbal::Manual::Hooks.
53
54 Queue relief
55
56 Sometimes if the high priority queue is really busy, the standard queue
57 will suffer from resource starvation. The queue relief system helps
58 prevent this. When there are "queue_relief_size" or more connections in
59 the standard queue, newly available backends have a
60 "queue_relief_chance" percent chance of taking a request from the
61 standard priority queue instead of the high priority queue.
62
63 SET web_proxy.queue_relief_size = 2000
64 SET web_proxy.queue_relief_chance = 30 # 0-100, in percent
65
66 SEE ALSO
67
68 "make_high_priority" and "make_low_priority" in Perlbal::Manual::Hooks,
69 Perlbal::Plugin::HighPriority.
70
71
72
73perl v5.38.0 2023-07-19 Perlbal::Manual::HighPriority(3)