| | At a Glance | |
|---|---|---|
| Catalog | System | |
| Category | Switches | |
| User volumes | no | |
| Min. memory | 48M | |
| OS | Linux | |
| Constraints | no | |
| Questions/Comments | Ask Forum | |
| Resource | Minimum | Maximum | Default |
|---|---|---|---|
| CPU | 0.05 | 4 | 0.10 |
| Memory | 48 MB | 256 MB | 48 MB |
| Bandwidth | 1 Mbps | 100 Mbps | 1 Mbps |
| name | dir | prot. | description |
|---|---|---|---|
in | in | HTTP | common input. HTTP requests sent to 'in' are directed to one of the outputs, either using round-robin selection or session information embedded in the request as a cookie (see the Properties) |
out1-out8 | out | HTTP | balanced outputs. Any and all of these outputs can be left unconnected; traffic will be distributed to the connected ones only. |
mon | out | cce | Sends performance and resource usage statistics. |
| name | type | description |
|---|---|---|
cookie_name | string | the name of the cookie used to identify a session. For the passive modes ( passive and sync - see the mode property below), this is the name of the cookie used by the back-end servers connected to out1..out8 to identify client sessions. For the active ( insert ) mode, this is the name of the cookie that HLB should insert into HTTP responses in order to make each client 'stick' with a single server.If this property is set to the empty value, no session tracking is done and all requests are distributed in a simple round-robin fashion. Default: (empty). |
mode | string | Specifies how to use the named session cookie for session identification. Valid values are:passive - the cookie is not modified, it is expected that a given cookie value is always unique and the same value will never be used by another server.synch - the cookie string in the HTTP response from a server is modified to make it unique to the terminal from which the response came (by adding a 1-character terminal ID into the cookie value). The 'terminal ID' is stripped before a request is forwarded to a server on one of the outX terminals. Other than inserting the terminal ID, the mapping between cookie values and output terminals is the same as for passive - i.e., the entire cookie value is compared.insert - the load balancer itself inserts a cookie into responses sent back to the client on in , so when the client sends subsequent requests with that cookie, they are directed to the same server as the first request from that client. The cookie inserted by HLB is without an expiration date, meaning that it is not to be permanently saved by the client software. |
timeout | integer | Optional timeout (in seconds) to expire inactive sessions. If this is set to a non-zero value, a session that has been inactive for more than the value of this property in seconds is 'forgotten'. Further requests bearing the 'forgotten' cookie are treated as if they have no cookie at all and are directed to to a random server, using the usual round-robin method. Default: 0 |
max_connections | integer | If set, this specifies the maximum number of concurrently active connections that the load balancer will handle. When this number is reached, new connections are still accepted, but their processing is delayed until another connection is closed. the maximum allowed value for this property is 500. If set to 0 (the default), HLB automatically determines the maximum based on the available system memory. Note that neither the available memory nor an explicit setting of this property have a direct effect on the balancer's throughput or its maximum request rate - setting a low number (or having little memory) will affect response only if the back-end servers are performing lenghty operations for each request (e.g., database searches), causing many requests to remain open at the same time. |
cookie_path | string | The URL path to use in the HLB-generated session cookies (when the mode property is set to insert ). If HLB is sitting behind a URL switch and serving only a subset of the namespace, this property may be set to avoid having the client send the same cookie for pages not served through HLB, e.g., if HLB is used to load-balance a bank of servers doing nothing bug CGI scripts, in the /cgi-bin/ directory, cookie_path should be set to /cgi_bin . The value of this property should normally have a leading "/" - if it is missing, it is added automatically. Default: "/" |
cookie_domain | string | This optional property defines the domain name to use in the HLB-generated session cookies (when the mode property is set to insert ).By default, if this property is not set and HLB does not send a 'domain=..' property with the cookie at all. This is the recommended behavior in most cases, as the client will remember the cookie as associated with whatever domain it used to contact the service provided through HLB. Note that setting a domain name that does not match what a client's browser would be using to contact the server can have negative consequences, including: (a) the cookie being sent to a different server, but not to HLB; (b) the cookie being rejected altogether, if the browser has a restrictive policy in place. Default: (empty) |
| Property | Value | Notes |
|---|---|---|
cookie_name | Bugzilla_logincookie | This is the name used by Bugzilla for its login cookie |
mode | passive | Bugzilla issues unique cookies for each username/IP address combination, therefore two bugzilla instances that are connected to the same database will never return the same cookie. It is thus safe to use the simplest passive mode. For other server types, the sync setting may be more appropriate. |
timeout | 0 | Bugzilla does not expire its cookies, so we follow the tradition and set no timeout on the sessions. |
insert mode is used in this case, as shown in the table:
| Property | Value | Notes |
|---|---|---|
cookie_name | session_id | Arbitrary name, but make sure it does not match a name used by the servers for something else. |
mode | insert | HLB will insert a Cookie-set: header |
timeout | 300 | Don't keep the client stuck with the same server for too long, if it is inactive. This should typically be set to match the expiration time of whatever cache the servers have that we're trying to take advantage of by the "sticky" load-balancing. |
cookie_path | /movies | Make the client "stick" to a specific server only for the /movies sub-directory |