1Perlbal::FAQ(3)       User Contributed Perl Documentation      Perlbal::FAQ(3)
2
3
4

NAME

6       Perlbal::FAQ - Frequently Asked Questions about Perlbal
7
8   VERSION
9       Perlbal 1.78.
10
11   DESCRIPTION
12       This document aims at listing several Frequently Asked Questions
13       regarding Perlbal.
14
15   Configuring Perlbal
16       Is there a sample "perlbal.*" I can use for my "init.d"?
17
18       Yes, you can find one under "debian/perlbal.init". It implements
19       "start", "stop" and "restart/force-reload". Make sure you adjust it to
20       your particular taste and/or needs.
21
22       Is there a way to make perlbal re-read the config file without shuting
23       it down?
24
25       No, there is not. But typically, if you're making changes, you can just
26       make them on the management console, which doesn't require any restart
27       whatsoever.
28
29       Still, restarting is probably easy. The trick to it is to simulate a
30       graceful restart.
31
32       How can I implement a graceful restart?
33
34       Here's a sample script that will allow you to perform a graceful
35       restart:
36
37           $ cat restart-perlbal.sh
38           echo "shutdown graceful" | nc localhost 60000
39           /usr/local/bin/perlbal --conf=/etc/perlbal.conf
40
41       The idea is that you tell the old Perlbal to do a graceful shutdown;
42       that immediately closes all of the listening sockets, so new
43       connections are not accepted. As soon as that's done (which is instant)
44       you can start up a new Perlbal.
45
46       This gives you a minimum of downtime that can be measured on the order
47       of milliseconds (the time it takes for the new Perlbal to start up).
48
49       Remember that you need to have a "management" service listening on port
50       60000 for this example to work. See Perlbal::Manual::Management.
51
52   Load Balancing
53       What balancing algorithm does Perlbal use?
54
55       Currently, Perlbal supports only one balancing method: "random".
56
57           SET pool balance_method = 'random'
58
59       With this mode, Perlbal selects one of the nodes within the pool
60       randomly for each request received. It prefers reusing existing idle
61       backend connections if backend_persist is enabled, which is faster than
62       waiting for a new connection to open each time.
63
64   Plugins
65       Can I influence the order plugins are used?
66
67       Yes. When you set the plugins for your service they get to register
68       their hooks in order.
69
70           SET plugins = AccessControl HighPri
71
72       These hooks are pushed into an array, which means that they preserve
73       the order of the plugins.
74
75   HTTP, SSL
76       Does perlbal support HTTP 1.1?
77
78       Perlbal for the most part only speaks HTTP/1.0 both to clients and to
79       backend webservers. It happily takes requests advertising HTTP/1.1 and
80       downgrading them to HTTP/1.0 when speaking to backend serves.
81
82       It knows all about persistent connections (in both 1.0 and 1.1) and
83       will reply with HTTP/1.0 Connection: keep-alive the request was only
84       implicitly keep-alive with HTTP/1.1.  etc.
85
86       Perlbal is now also starting to speak more of 1.1. For instance,
87       Perlbal does support receiving transfer-encoding "chunked" requests
88       from clients (a feature of HTTP/1.1), will send a "100 Continue" in
89       response to "Expect: 100-continue", and will parse the chunked
90       requests, writing the request-of-unknown-length to disk (only if
91       "buffered_uploads" is enabled), and then will send an HTTP/1.0 request
92       to the backends, with the actual "Content-Length" (now known) filled
93       in.
94
95       When more of 1.1 is supported, it will become an option, and later
96       become the default. However, after several years of usage, there just
97       hasn't been that much of a reason. The chunked requests (common from
98       mobile phones uploading large images) has been the most annoying
99       shortcoming but now that it's solved, it's questionable whether or not
100       more of HTTP/1.1 will be supported.
101
102       Does perlbal support SSL?
103
104       Yes. To use SSL mode you'll need IO::Socket::SSL "v0.98+" installed.
105
106       You can do SSL either on "web_server", "reverse_proxy" or "selector"
107       modes, but not on a vhost-based "selector" service, because SSL and
108       vhosts aren't compatible.
109
110       See the configuration file ssl.conf under conf/ for an example.
111
112   SEE ALSO
113       Perlbal::Manual.
114
115
116
117perl v5.38.0                      2023-07-19                   Perlbal::FAQ(3)
Impressum