New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 737614 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Feature



Sign in to add a comment

Experiment with changing the max. number of delayable requests based on the network quality

Project Member Reported by tbansal@chromium.org, Jun 28 2017

Issue description

The current implementation of the resource scheduler allows up to 10 delayable requests in flight at the same time. On bandwidth constrained networks, it is possible that this large number can cause high packet losses.

We should experiment with changing the max. number of delayable requests based on the current network quality, and measure the impact on the page loading metrics.
 
Labels: -Type-Bug Type-Feature
Components: -Internals>Network>NetworkQuality Internals>Network
Status: Started (was: Assigned)
Blocking: 675411
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d467dbf951242c8d10982c79362bdf7bebca1ad

commit 3d467dbf951242c8d10982c79362bdf7bebca1ad
Author: Devdeep Ray <devdeepray@chromium.org>
Date: Tue Jul 25 01:06:46 2017

Experiment to vary the maximum number of delayable requests in-flight
based on the observed bandwidth delay product.


Patch changes

Bug:  737614 
Change-Id: I50885ddd13d3a3ed60b49be36bfb4d1746837212
Reviewed-on: https://chromium-review.googlesource.com/538930
Commit-Queue: Devdeep Ray <devdeepray@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Reviewed-by: Ben Greenstein <bengr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489171}
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/loader/resource_dispatcher_host_impl.h
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/loader/resource_dispatcher_host_unittest.cc
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/loader/resource_scheduler.cc
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/loader/resource_scheduler.h
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/loader/resource_scheduler_browsertest.cc
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/loader/resource_scheduler_unittest.cc
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/browser/resource_loading_browsertest.cc
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/BUILD.gn
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/img1.png
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/img2.png
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/img3.png
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/img4.png
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/resource_loading_non_mobile.html
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/style1.css
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/style2.css
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/test1.js
[add] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/content/test/data/resource_loading/test2.js
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/net/nqe/network_quality_estimator_test_util.cc
[modify] https://crrev.com/3d467dbf951242c8d10982c79362bdf7bebca1ad/net/nqe/network_quality_estimator_test_util.h

Labels: -M-61 M-62
Labels: OS-Chrome OS-Linux OS-Mac OS-Windows
Project Member

Comment 7 by bugdroid1@chromium.org, Aug 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2d42ec9026c32d2db2dfa0519dfb108dbac9a1e5

commit 2d42ec9026c32d2db2dfa0519dfb108dbac9a1e5
Author: Devdeep Ray <devdeepray@chromium.org>
Date: Mon Aug 07 21:49:56 2017

Refactor code for throttling delayable requests based on BDP.

This refactor moves the relevant parameters and functions for the
experiment into a single class to make it more readable. 

Bug:  737614 
Change-Id: I37448b703533550941b458d5058d43bc9b56835d
Reviewed-on: https://chromium-review.googlesource.com/599228
Commit-Queue: Devdeep Ray <devdeepray@chromium.org>
Reviewed-by: Ben Greenstein <bengr@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492423}
[modify] https://crrev.com/2d42ec9026c32d2db2dfa0519dfb108dbac9a1e5/content/browser/loader/resource_scheduler.cc
[modify] https://crrev.com/2d42ec9026c32d2db2dfa0519dfb108dbac9a1e5/content/browser/loader/resource_scheduler.h
[modify] https://crrev.com/2d42ec9026c32d2db2dfa0519dfb108dbac9a1e5/content/browser/loader/resource_scheduler_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea199f0aaa6eb9500532711bee3d4c6e739624a1

commit ea199f0aaa6eb9500532711bee3d4c6e739624a1
Author: Devdeep Ray <devdeepray@chromium.org>
Date: Tue Aug 08 05:49:35 2017

Fix typo in parameters for MaxDelayableRequestsNetworkOverride.

Change MaxBDPKBits to MaxBDPKbits in the field trial test json.

Bug:  737614 
Change-Id: Ic2be528dd8fe2a2b2812b11c1d754525749e4d89
Reviewed-on: https://chromium-review.googlesource.com/602549
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Devdeep Ray <devdeepray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492543}
[modify] https://crrev.com/ea199f0aaa6eb9500532711bee3d4c6e739624a1/testing/variations/fieldtrial_testing_config.json

Blocking: -675411
Cc: devdeepray@chromium.org
Owner: tbansal@chromium.org
Status: Fixed (was: Started)
This experiment is now enabled for all users on Slow2G and 2G connections.
Components: -Internals>Network Internals>Network>NetworkQuality

Sign in to add a comment