Merge pull request #892 from aledbf/keepalive

Add upstream keepalive connections cache
This commit is contained in:
Manuel Alejandro de Brito Fontes 2017-06-22 09:11:28 -04:00 committed by GitHub
commit 955897a431
3 changed files with 15 additions and 0 deletions

View file

@ -487,6 +487,7 @@ The following table shows the options, the default value and a description.
|ssl-session-timeout|10m|
|use-gzip|"true"|
|use-http2|"true"|
|upstream-keepalive-connections|"0" (disabled)|
|variables-hash-bucket-size|64|
|variables-hash-max-size|2048|
|vts-status-zone-size|10m|

View file

@ -293,6 +293,14 @@ type Configuration struct {
// Sets the maximum size of the variables hash table.
// http://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_max_size
VariablesHashMaxSize int `json:"variables-hash-max-size,omitempty"`
// Activates the cache for connections to upstream servers.
// The connections parameter sets the maximum number of idle keepalive connections to
// upstream servers that are preserved in the cache of each worker process. When this
// number is exceeded, the least recently used connections are closed.
// http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive
// Default: 0 (disabled)
UpstreamKeepaliveConnections int `json:"upstream-keepalive-connections,omitempty"`
}
// NewDefault returns the default nginx configuration
@ -351,6 +359,7 @@ func NewDefault() Configuration {
WhitelistSourceRange: []string{},
SkipAccessLogURLs: []string{},
},
UpstreamKeepaliveConnections: 0,
}
if glog.V(5) {

View file

@ -235,6 +235,11 @@ http {
{{ $cfg.LoadBalanceAlgorithm }};
{{ end }}
{{ end }}
{{ if (gt $cfg.UpstreamKeepaliveConnections 0) }}
keepalive {{ $cfg.UpstreamKeepaliveConnections }};
{{ end }}
{{ range $server := $upstream.Endpoints }}server {{ $server.Address | formatIP }}:{{ $server.Port }} max_fails={{ $server.MaxFails }} fail_timeout={{ $server.FailTimeout }};
{{ end }}
}