Browse Source

Increase the default max_keepalive HTTP option to 1000

100 is very low for current deployments. 1000 is more
appropriate as a default value.
Loïc Hoguin 4 years ago
parent
commit
8337aca4d3
3 changed files with 4 additions and 3 deletions
  1. 1 1
      doc/src/manual/cowboy_http.asciidoc
  2. 1 1
      src/cowboy_http.erl
  3. 2 1
      test/rfc7230_SUITE.erl

+ 1 - 1
doc/src/manual/cowboy_http.asciidoc

@@ -121,7 +121,7 @@ max_headers (100)::
 
 Maximum number of headers allowed per request.
 
-max_keepalive (100)::
+max_keepalive (1000)::
 
 Maximum number of requests allowed per connection.
 

+ 1 - 1
src/cowboy_http.erl

@@ -176,7 +176,7 @@ init(Parent, Ref, Socket, Transport, ProxyHeader, Opts) ->
 				parent=Parent, ref=Ref, socket=Socket,
 				transport=Transport, proxy_header=ProxyHeader, opts=Opts,
 				peer=Peer, sock=Sock, cert=Cert,
-				last_streamid=maps:get(max_keepalive, Opts, 100)},
+				last_streamid=maps:get(max_keepalive, Opts, 1000)},
 			setopts_active(State),
 			loop(set_timeout(State, request_timeout));
 		{{error, Reason}, _, _} ->

+ 2 - 1
test/rfc7230_SUITE.erl

@@ -33,7 +33,8 @@ groups() -> [{http, [parallel], ct_helper:all(?MODULE)}].
 
 init_per_group(Name = http, Config) ->
 	cowboy_test:init_http(Name = http, #{
-		env => #{dispatch => cowboy_router:compile(init_routes(Config))}
+		env => #{dispatch => cowboy_router:compile(init_routes(Config))},
+		max_keepalive => 100
 	}, Config).
 
 end_per_group(Name, _) ->