Commit 2d6a14f3 authored by jar@chromium.org's avatar jar@chromium.org

Increase QUIC's proposed server Intial CWND to 32 for HTTPS to 30; HTTP to 20

r=rch
BUG=374331

Review URL: https://codereview.chromium.org/291623003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271286 0039d316-1c4b-4281-b951-d872f2087c98
parent 93ab13df
...@@ -56,6 +56,17 @@ enum CreateSessionFailure { ...@@ -56,6 +56,17 @@ enum CreateSessionFailure {
// The initial receive window size for both streams and sessions. // The initial receive window size for both streams and sessions.
const int32 kInitialReceiveWindowSize = 10 * 1024 * 1024; // 10MB const int32 kInitialReceiveWindowSize = 10 * 1024 * 1024; // 10MB
// The suggested initial congestion windows for a server to use.
// TODO: This should be tested and optimized, and even better, suggest a window
// that corresponds to historical bandwidth and min-RTT.
// Larger initial congestion windows can, if we don't overshoot, reduce latency
// by avoiding the RTT needed for slow start to double (and re-double) from a
// default of 10.
// We match SPDY's use of 32 when secure (since we'd compete with SPDY).
const int32 kServerSecureInitialCongestionWindow = 32;
// Be conservative, and just use double a typical TCP ICWND for HTTP.
const int32 kServerInecureInitialCongestionWindow = 20;
void HistogramCreateSessionFailure(enum CreateSessionFailure error) { void HistogramCreateSessionFailure(enum CreateSessionFailure error) {
UMA_HISTOGRAM_ENUMERATION("Net.QuicSession.CreationError", error, UMA_HISTOGRAM_ENUMERATION("Net.QuicSession.CreationError", error,
CREATION_ERROR_MAX); CREATION_ERROR_MAX);
...@@ -743,6 +754,9 @@ int QuicStreamFactory::CreateSession( ...@@ -743,6 +754,9 @@ int QuicStreamFactory::CreateSession(
InitializeCachedStateInCryptoConfig(server_id, server_info); InitializeCachedStateInCryptoConfig(server_id, server_info);
QuicConfig config = config_; QuicConfig config = config_;
config_.SetInitialCongestionWindowToSend(
server_id.is_https() ? kServerSecureInitialCongestionWindow
: kServerInecureInitialCongestionWindow);
if (http_server_properties_) { if (http_server_properties_) {
const HttpServerProperties::NetworkStats* stats = const HttpServerProperties::NetworkStats* stats =
http_server_properties_->GetServerNetworkStats( http_server_properties_->GetServerNetworkStats(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment