Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: chrome/browser/browser_main.cc

Issue 3017038: Merge 53832 - We would like to refine the numbers we started off with in the ... (Closed) Base URL: svn://svn.chromium.org/chrome/branches/472/src/
Patch Set: Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/browser_main.h" 5 #include "chrome/browser/browser_main.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 PostEarlyInitialization(); 171 PostEarlyInitialization();
172 } 172 }
173 173
174 // This is an A/B test for the maximum number of persistent connections per 174 // This is an A/B test for the maximum number of persistent connections per
175 // host. Currently Chrome, Firefox, and IE8 have this value set at 6. Safari 175 // host. Currently Chrome, Firefox, and IE8 have this value set at 6. Safari
176 // uses 4, and Fasterfox (a plugin for Firefox that supposedly configures it to 176 // uses 4, and Fasterfox (a plugin for Firefox that supposedly configures it to
177 // run faster) uses 8. We would like to see how much of an effect this value has 177 // run faster) uses 8. We would like to see how much of an effect this value has
178 // on browsing. Too large a value might cause us to run into SYN flood detection 178 // on browsing. Too large a value might cause us to run into SYN flood detection
179 // mechanisms. 179 // mechanisms.
180 void BrowserMainParts::ConnectionFieldTrial() { 180 void BrowserMainParts::ConnectionFieldTrial() {
181 const FieldTrial::Probability kConnDivisor = 100; 181 const FieldTrial::Probability kConnectDivisor = 100;
182 const FieldTrial::Probability kConn16 = 10; // 10% probability 182 const FieldTrial::Probability kConnectProbability = 20; // 20% probability
183 const FieldTrial::Probability kRemainingConn = 30; // 30% probability
184 183
185 scoped_refptr<FieldTrial> conn_trial = 184 scoped_refptr<FieldTrial> connect_trial =
186 new FieldTrial("ConnCountImpact", kConnDivisor); 185 new FieldTrial("ConnCountImpact", kConnectDivisor);
187 186
188 const int conn_16 = conn_trial->AppendGroup("_conn_count_16", kConn16); 187 const int connect_5 = connect_trial->AppendGroup("_conn_count_5",
189 const int conn_4 = conn_trial->AppendGroup("_conn_count_4", kRemainingConn); 188 kConnectProbability);
190 const int conn_8 = conn_trial->AppendGroup("_conn_count_8", kRemainingConn); 189 const int connect_6 = connect_trial->AppendGroup("_conn_count_6",
191 const int conn_6 = conn_trial->AppendGroup("_conn_count_6", 190 kConnectProbability);
191 const int connect_7 = connect_trial->AppendGroup("_conn_count_7",
192 kConnectProbability);
193 const int connect_8 = connect_trial->AppendGroup("_conn_count_8",
194 kConnectProbability);
195 const int connect_9 = connect_trial->AppendGroup("_conn_count_9",
192 FieldTrial::kAllRemainingProbability); 196 FieldTrial::kAllRemainingProbability);
193 197
194 const int conn_trial_grp = conn_trial->group(); 198 const int connect_trial_group = connect_trial->group();
195 199
196 if (conn_trial_grp == conn_4) { 200 if (connect_trial_group == connect_5) {
197 net::HttpNetworkSession::set_max_sockets_per_group(4); 201 net::HttpNetworkSession::set_max_sockets_per_group(5);
198 } else if (conn_trial_grp == conn_6) { 202 } else if (connect_trial_group == connect_6) {
199 // This (6) is the current default value. 203 // This (6) is the current default value.
200 net::HttpNetworkSession::set_max_sockets_per_group(6); 204 net::HttpNetworkSession::set_max_sockets_per_group(6);
201 } else if (conn_trial_grp == conn_8) { 205 } else if (connect_trial_group == connect_7) {
206 net::HttpNetworkSession::set_max_sockets_per_group(7);
207 } else if (connect_trial_group == connect_8) {
202 net::HttpNetworkSession::set_max_sockets_per_group(8); 208 net::HttpNetworkSession::set_max_sockets_per_group(8);
203 } else if (conn_trial_grp == conn_16) { 209 } else if (connect_trial_group == connect_9) {
204 net::HttpNetworkSession::set_max_sockets_per_group(16); 210 net::HttpNetworkSession::set_max_sockets_per_group(9);
205 } else { 211 } else {
206 NOTREACHED(); 212 NOTREACHED();
207 } 213 }
208 } 214 }
209 215
210 // A/B test for determining a value for unused socket timeout. Currently the 216 // A/B test for determining a value for unused socket timeout. Currently the
211 // timeout defaults to 10 seconds. Having this value set too low won't allow us 217 // timeout defaults to 10 seconds. Having this value set too low won't allow us
212 // to take advantage of idle sockets. Setting it to too high could possibly 218 // to take advantage of idle sockets. Setting it to too high could possibly
213 // result in more ERR_CONNECT_RESETs, requiring one RTT to receive the RST 219 // result in more ERR_CONNECT_RESETs, requiring one RTT to receive the RST
214 // packet and possibly another RTT to re-establish the connection. 220 // packet and possibly another RTT to re-establish the connection.
215 void BrowserMainParts::SocketTimeoutFieldTrial() { 221 void BrowserMainParts::SocketTimeoutFieldTrial() {
216 const FieldTrial::Probability kIdleSktToDivisor = 100; // Idle socket timeout 222 const FieldTrial::Probability kIdleSocketTimeoutDivisor = 100;
217 const FieldTrial::Probability kSktToProb = 25; // 25% probability 223 // 25% probability
224 const FieldTrial::Probability kSocketTimeoutProbability = 25;
218 225
219 scoped_refptr<FieldTrial> socket_timeout_trial = 226 scoped_refptr<FieldTrial> socket_timeout_trial =
220 new FieldTrial("IdleSktToImpact", kIdleSktToDivisor); 227 new FieldTrial("IdleSktToImpact", kIdleSocketTimeoutDivisor);
221 228
222 const int socket_timeout_5 = 229 const int socket_timeout_5 =
223 socket_timeout_trial->AppendGroup("_idle_timeout_5", kSktToProb); 230 socket_timeout_trial->AppendGroup("_idle_timeout_5",
231 kSocketTimeoutProbability);
224 const int socket_timeout_10 = 232 const int socket_timeout_10 =
225 socket_timeout_trial->AppendGroup("_idle_timeout_10", kSktToProb); 233 socket_timeout_trial->AppendGroup("_idle_timeout_10",
234 kSocketTimeoutProbability);
226 const int socket_timeout_20 = 235 const int socket_timeout_20 =
227 socket_timeout_trial->AppendGroup("_idle_timeout_20", kSktToProb); 236 socket_timeout_trial->AppendGroup("_idle_timeout_20",
237 kSocketTimeoutProbability);
228 const int socket_timeout_60 = 238 const int socket_timeout_60 =
229 socket_timeout_trial->AppendGroup("_idle_timeout_60", 239 socket_timeout_trial->AppendGroup("_idle_timeout_60",
230 FieldTrial::kAllRemainingProbability); 240 FieldTrial::kAllRemainingProbability);
231 241
232 const int idle_to_trial_grp = socket_timeout_trial->group(); 242 const int idle_to_trial_group = socket_timeout_trial->group();
233 243
234 if (idle_to_trial_grp == socket_timeout_5) { 244 if (idle_to_trial_group == socket_timeout_5) {
235 net::ClientSocketPool::set_unused_idle_socket_timeout(5); 245 net::ClientSocketPool::set_unused_idle_socket_timeout(5);
236 } else if (idle_to_trial_grp == socket_timeout_10) { 246 } else if (idle_to_trial_group == socket_timeout_10) {
237 // This (10 seconds) is the current default value. 247 // This (10 seconds) is the current default value.
238 net::ClientSocketPool::set_unused_idle_socket_timeout(10); 248 net::ClientSocketPool::set_unused_idle_socket_timeout(10);
239 } else if (idle_to_trial_grp == socket_timeout_20) { 249 } else if (idle_to_trial_group == socket_timeout_20) {
240 net::ClientSocketPool::set_unused_idle_socket_timeout(20); 250 net::ClientSocketPool::set_unused_idle_socket_timeout(20);
241 } else if (idle_to_trial_grp == socket_timeout_60) { 251 } else if (idle_to_trial_group == socket_timeout_60) {
242 net::ClientSocketPool::set_unused_idle_socket_timeout(60); 252 net::ClientSocketPool::set_unused_idle_socket_timeout(60);
243 } else { 253 } else {
244 NOTREACHED(); 254 NOTREACHED();
245 } 255 }
246 } 256 }
247 257
248 // When --use-spdy not set, users will be in A/B test for spdy. 258 // When --use-spdy not set, users will be in A/B test for spdy.
249 // group A (npn_with_spdy): this means npn and spdy are enabled. In case server 259 // group A (npn_with_spdy): this means npn and spdy are enabled. In case server
250 // supports spdy, browser will use spdy. 260 // supports spdy, browser will use spdy.
251 // group B (npn_with_http): this means npn is enabled but spdy won't be used. 261 // group B (npn_with_http): this means npn is enabled but spdy won't be used.
(...skipping 1045 matching lines...) Expand 10 before | Expand all | Expand 10 after
1297 1307
1298 metrics->Stop(); 1308 metrics->Stop();
1299 1309
1300 // browser_shutdown takes care of deleting browser_process, so we need to 1310 // browser_shutdown takes care of deleting browser_process, so we need to
1301 // release it. 1311 // release it.
1302 ignore_result(browser_process.release()); 1312 ignore_result(browser_process.release());
1303 browser_shutdown::Shutdown(); 1313 browser_shutdown::Shutdown();
1304 1314
1305 return result_code; 1315 return result_code;
1306 } 1316 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698