blob: f5c638fff50b45d98761295bd4e07690ddd2b610 [file] [log] [blame]
willy tarreau1f431b52006-05-21 14:46:15 +02001'+' = done, '-' = todo, '*' = done except doc
willy tarreau814cbc62006-05-13 13:00:29 +02002
31.2.12 :
4 + weighted RR/SH
5
61.2.13 :
7 + maxconn
8 + queueing
9
101.2.14 :
willy tarreau481132e2006-05-21 21:43:10 +020011 + HTML status page
willy tarreau1f431b52006-05-21 14:46:15 +020012
13 stats enable
14 stats uri /?stats
15 stats realm w.ods.org\ statistics
16 stats auth user1:pass1
17 stats auth user2:pass2
18 stats auth user3:pass3
19 stats scope <px_id> | '.'
willy tarreau814cbc62006-05-13 13:00:29 +020020
willy tarreau38d79062006-05-21 14:47:13 +020021 + allow server-less proxies (for stats)
22
willy tarreau814cbc62006-05-13 13:00:29 +020023 - separate timeout controls
24
willy tarreaue0bdd622006-05-21 20:51:54 +020025 + option 'abortonclose' : if the session is queued or being connecting
willy tarreau814cbc62006-05-13 13:00:29 +020026 to the server, and the client sends a shutdown(), then decide to abort
27 the session early because in most situations, this will be caused by
28 a client hitting the 'Stop' button, so there's no reason to overload
29 the servers with unservable requests. However, this is not HTTP compliant
30 and might cause little trouble to some very specific clients used to
31 close immediately after sending the request (no support for KA, which ones?)
32
willy tarreauf76e6ca2006-05-21 21:09:55 +020033 + minconn : makes the server's maxconn dynamic, which will be computed as a
willy tarreau814cbc62006-05-13 13:00:29 +020034 ratio of the proxy's sessions :
35 srv->effective_maxconn =
36 max(srv->maxconn * px->nbsess / px->maxconn, srv->minconn)
37
Willy Tarreau1c47f852006-07-09 08:22:27 +0200381.2.15 :
39 + monitor-uri : specify an URI for which we will always return 'HTTP/1.0 200'
40 and never forward nor log it.
41
42 + option ssl-hello-chk : send SSLv3 client hello messages to check the servers
43
willy tarreau814cbc62006-05-13 13:00:29 +0200441.3 :
Willy Tarreaubaaee002006-06-26 02:48:02 +020045 - remove unused STATTIME
46
47 - reference all the include files that must be created, possibly under subdirs :
48
49 - acl.h => more general ACL work
50 - appcook.h => appsession-related cookies
51 - backend.h => back-end part of the PR_O_* + backend definitions
52 - buffers.h => buffer management relying on memory.h
53 - capture.h => header and cookie capture
54 - cfgparse.h => configuration parser
55 - checks.h => health checks
56 - clireq.h => the client side "request" part of the current sessions.
57 - compat.h => compatibility with other OSes (TCP_NODELAY, ...)
58 - config.h => config parameters, renamed CONFIG_HAP_*, includes defaults.h
59 - controls.h => SN_CACHEABLE, ...
60 - cookies.h => definitions related to cookie management + SN_SCK_*
61 - defaults.h => many default values, might disappear soon after cleanup
62 - frontend.h => front-end part of the PR_O_* + client definitions + listeners
63 - global.h => shared global variables
64 - http.h => HTTP state definitions and transitions
65 - httperr.{hc} => HTTP return codes
66 - libtask.h => task scheduler
67 - libtime.h => time-related definitions
68 - loadbal.h => load balancing algorithms
69 - log.h => log definitions
70 - memory.h => pools
71 - polling.h => definitions of select(), poll(), INTBITS, ...
72 - queue.h => queue management
73 - regex.h => filtering
74 - servers.h => servers definitions (SRV_*, states, ...)
75 - fd.h => FD_ST* (add FD_DGRAM), RES_*, socket states, etc...
76 - srvreq.h => the server side "request" part of the current sessions.
77 - standard.h => general purpose macros and defines (eg: MIN/MAX, ...)
78 - startup.h => MODE_*
79 - tuning.h => platform-specific tuning parameters
80
81
82 - clarify licence by adding a 'MODULE_LICENCE("GPL")' or something equivalent.
83
willy tarreau814cbc62006-05-13 13:00:29 +020084 - handle half-closed connections better (cli/srv would not distinguish
85 DATA/SHUTR/SHUTW, it would be a session flag which would tell shutr/shutw).
86 Check how it got changed in httpterm.
87
88 - 3 memory models : failsafe (prealloc), normal (current), optimal (alloc on
89 demand)
90
91 - wait queues replaced for priority-based trees
92
93 - ability to assign a prio based on L7 matching
94
95 - prio-based O(1) scheduler
96
97 - maxconn reserve for VIP/admins
98
99 - verify if it would be worth implementing an epoll_ctl_batch() for Linux
100
Willy Tarreau1c47f852006-07-09 08:22:27 +0200101 - balance LC/WLC (patch available)
102
103 - option minservers XXX : activates some backup servers when active servers
104 are insufficient
105
106 - monitor minservers XXX : monitor-net and monitor-uri could report a failure
107 when the number of active servers is below this threshold.
108
109 - option smtp-chk : use SMTP health checks (avoid logs if possible)
110
111 - new keyword 'check' : check http xxx, check smtp xxx, check ssl-hello
112