*
I am going to turn off the AsyncSlowStart experiment, but wanted to send the
results for the curious minded.

What is the feature:*
Some time ago, I observed that windows asynchronous IO may delay handing an
IO completion to the application when only part of the requested IO can
complete.  Specifically, I could see from wire traces that we had received
data which should complete a socket read (say 1400 bytes).  But the
application didn't wake until 40-50ms later!  This was pure latency as it
delayed chrome from doing work which it could do.  I further observed that
the delay did not occur when the entire buffer was filled.  So, if you issue
a 1KB read, there was no delay, but if you issue a 4KB or 32KB read, the OS
seems to delay completing the IO.

One speculative theory is that windows async-io completion logic has
a Nagle-esque behavior - trying to batch additional data into a single Async
IO Read Completion before handing up to the application.

Without the AsyncSlowStart, chrome issues its normal reads 4KB or 32KB.
With the AsyncSlowStart feature, Chrome starts the read size at 1KB.  With
each successful Read completion, it doubles the read size, so 1KB, 2KB, 4KB,
8KB, etc.  This allows large transfers to not be impeded by using
ridiculously small buffers, but allows us to avoid the delay at the
beginning of a connection.

*How I measured:*
- Using the Net.Transaction_Connected_New_AsyncSlowStart_off compared to
Net.Transaction_Connected_New_AsyncSlowStart.
- This measures the time-to-first-byte for new connections when the feature
is off or on.
- Excluding data after the 99%-tile, because the data has a skew at 50s
which is not related to this feature (and shows on all of our histograms).

*Results:*
Based on the time-to-first-byte measurement, the Async Slow Start feature is
a clear win.  The histograms vary in benefit - sometimes as low as 0.8% and
sometimes as high as 6.32%.  But overall, it averages a 2-3% win.  This is a
savings of 3-20ms per request on a fresh connection.  It is probably not
detectable to most users, although a single page load may hit this problem
between 1-10 times on various connections.

***Next Steps:*
I'm going to finally turn off the experiment and make this final.

Mike







------------- Net.Transaction_Connection_New_AsyncSlowStart
---------------------------------------------------------------------------------------


08/30-9/05 WIN - 4.90% to 3.73%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  260.5   109.0   115.7   122.5   249.0   103.9   110.3   116.7
11.42   4.59%   5.40    4.90%
70.00%  514.0   177.1   188.3   199.6   494.3   169.7   180.5   191.3
19.72   3.99%   7.82    4.33%
90.00%  1640    317.1   337.7   358.2   1589    305.6   325.3   345.0
50.80   3.20%   12.36   3.80%
95.00%  3667    424.3   451.9   479.5   3595    410.4   437.1   463.8
72.28   2.01%   14.82   3.39%
98.00%  26015   633.9   675.3   716.8   24523   611.1   651.0   691.0   1492
   6.08%   24.28   3.73%
99.00%  53322   1086    1157    1229    53271   1058    1128    1198
 50.34   0.09%   29.31   2.60%
99.50%  55490   1333    1421    1509    55449   1306    1392    1478
 41.26   0.07%   29.22   2.10%

09/06-09/12 WIN - 1.35% to 5.07%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  299.8   125.2   133.0   140.8   289.3   123.5   131.2   138.9
10.41   3.60%   1.77    1.35%
70.00%  596.8   204.3   217.4   230.5   577.8   198.6   211.3   224.0
18.97   3.28%   6.12    2.90%
90.00%  2393    385.6   410.6   435.6   2240    371.6   395.7   419.8
152.7   6.82%   14.88   3.76%
95.00%  5692    542.2   577.5   612.9   4928    516.0   549.7   583.3
763.8   15.50%  27.88   5.07%
98.00%  50783   1056    1125    1194    50883   950.4   1013    1075
 -99.43  -0.20%  112.1   11.07%
99.00%  54328   1548    1650    1752    54353   1444    1539    1634
 -25.04  -0.05%  110.9   7.20%
99.50%  56101   1795    1913    2031    56088   1691    1802    1914
 12.16   0.02%   110.2   6.12%

09/13-09/19 WIN - 0.84% to 6.32%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  336.8   142.1   151.1   160.0   321.8   140.9   149.8   158.7
15.02   4.67%   1.26    0.84%
70.00%  668.6   230.6   245.4   260.2   628.5   221.9   236.2   250.4
40.06   6.37%   9.25    3.91%
90.00%  2679    433.3   461.5   489.7   2461    408.9   435.5   462.1
217.3   8.83%   26.00   5.97%
95.00%  5633    594.9   633.8   672.7   5069    559.6   596.1   632.7
563.9   11.12%  37.69   6.32%
98.00%  50600   1008    1074    1140    37796   870.4   927.5   984.6
12804   33.88%  146.8   15.83%
99.00%  54434   1501    1600    1699    53796   1353    1442    1531
 638.1   1.19%   157.9   10.95%
99.50%  56351   1748    1863    1978    55912   1600    1705    1810
 439.6   0.79%   158.1   9.27%

09/20-09/26 WIN - 5.90% to 6.42%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  342.8   145.0   154.2   163.3   330.0   137.0   145.6   154.2
12.71   3.85%   8.58    5.90%
70.00%  677.5   234.7   249.8   264.9   650.0   223.7   238.1   252.4
27.45   4.22%   11.73   4.93%
90.00%  2707    441.1   469.8   498.5   2460    415.2   442.2   469.2
246.4   10.01%  27.63   6.25%
95.00%  5549    602.1   641.4   680.8   5085    565.8   602.7   639.7
463.5   9.12%   38.70   6.42%
98.00%  50364   990.1   1055    1120    40209   877.3   934.9   992.4
10155   25.26%  120.2   12.86%
99.00%  54064   1483    1580    1678    53661   1364    1454    1543
 402.1   0.75%   126.3   8.69%
99.50%  55914   1729    1843    1956    55620   1610    1716    1822
 293.4   0.53%   126.3   7.36%

09/27-10/03 WIN - 2.86% to 2.1%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  333.4   140.4   149.2   158.0   320.1   136.5   145.1   153.6
13.27   4.15%   4.14    2.86%
70.00%  643.7   226.3   240.8   255.3   615.1   218.0   231.9   245.9
28.62   4.65%   8.88    3.83%
90.00%  2327    410.0   436.7   463.3   2314    396.4   422.1   447.8
13.27   0.57%   14.60   3.46%
95.00%  5278    558.6   595.1   631.6   5430    547.1   582.8   618.6
-152.59 -2.81%  12.25   2.10%
98.00%  51331   1065    1134    1204    51532   1090    1162    1234
 -200.19 -0.39%  -27.69  -2.38%
99.00%  54504   1558    1660    1763    54635   1584    1688    1793
 -131.08 -0.24%  -27.94  -1.66%
99.50%  56091   1805    1923    2042    56187   1831    1952    2072
 -96.52  -0.17%  -28.07  -1.44%

10/04-10/10 WIN - 0.61% to 1.43%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  291.9   121.2   128.7   136.3   286.5   120.4   127.9   135.4   5.47
   1.91%   0.78    0.61%
70.00%  566.0   197.1   209.7   222.2   550.1   194.0   206.4   218.8
15.90   2.89%   3.25    1.58%
90.00%  1952    355.0   378.0   401.0   1934    347.9   370.4   393.0
18.12   0.94%   7.57    2.04%
95.00%  4625    486.0   517.7   549.4   4669    479.2   510.4   541.7
-43.72  -0.94%  7.28    1.43%
98.00%  51497   1001    1066    1132    51598   1017    1083    1150
 -101.02 -0.20%  -16.90  -1.56%
99.00%  54477   1495    1593    1692    54496   1511    1610    1710
 -19.16  -0.04%  -16.91  -1.05%
99.50%  55968   1742    1857    1971    55946   1758    1874    1989
 21.77   0.04%   -16.92  -0.90%

10/11-10/17 WIN 4.1% to 2.48%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  298.9   124.4   132.2   139.9   286.4   119.5   127.0   134.4
12.51   4.37%   5.20    4.10%
60.00%  415.4   159.1   169.2   179.3   396.8   152.5   162.2   171.8
18.59   4.68%   7.02    4.33%
70.00%  584.0   202.5   215.4   228.3   557.2   193.9   206.3   218.7
26.84   4.82%   9.11    4.42%
80.00%  896.7   261.5   278.3   295.1   859.4   250.2   266.3   282.4
37.35   4.35%   11.99   4.50%
90.00%  2115    369.3   393.3   417.3   2085    355.5   378.5   401.6
29.94   1.44%   14.78   3.90%
95.00%  5143    511.0   544.3   577.6   5322    498.6   531.1   563.6
-179.25 -3.37%  13.19   2.48%
98.00%  51955   1117    1190    1264    52362   1187    1265    1343
 -407.33 -0.78%  -74.24  -5.87%
99.00%  54842   1611    1717    1824    55080   1682    1792    1903
 -237.67 -0.43%  -74.76  -4.17%
99.50%  56286   1859    1981    2103    56439   1929    2056    2183
 -152.85 -0.27%  -75.03  -3.65%

10/18-10/24
Data is corrupt.

10/25-10/31
Data is corrupt.

11/01-11/07
Data is corrupt.

11/08-11/14 WIN - 1.21% to 1.32%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  293.2   127.0   134.9   142.9   288.0   125.5   133.3   141.2   5.24
   1.82%   1.61    1.21%
60.00%  406.4   160.0   170.1   180.3   397.3   157.6   167.6   177.6   9.10
   2.29%   2.56    1.53%
70.00%  576.0   202.1   215.0   227.9   562.2   198.6   211.2   223.9
13.81   2.46%   3.73    1.76%
80.00%  891.2   260.4   277.1   293.9   869.9   255.2   271.7   288.1
21.35   2.45%   5.47    2.02%
90.00%  2169    369.4   393.4   417.4   2155    362.7   386.3   409.8
14.34   0.67%   7.16    1.85%
95.00%  5835    520.2   554.1   588.1   5852    513.4   546.9   580.4
-16.91  -0.29%  7.24    1.32%
98.00%  52421   1267    1350    1433    52417   1263    1346    1429    4.63
   0.01%   3.46    0.26%
99.00%  54863   1760    1876    1992    54845   1757    1873    1989
 18.32   0.03%   3.47    0.19%
99.50%  56084   2007    2140    2272    56059   2004    2136    2268
 25.17   0.04%   3.47    0.16%

11/15-11/22 WIN 1.86% to 2.02%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  296.4   129.0   137.1   145.2   288.9   126.7   134.6   142.5   7.52
   2.60%   2.50    1.86%
60.00%  410.5   162.3   172.6   182.9   398.3   158.8   168.8   178.9
12.16   3.05%   3.80    2.25%
70.00%  579.9   204.6   217.7   230.7   561.5   199.6   212.4   225.1
18.37   3.27%   5.26    2.48%
80.00%  894.4   263.0   279.9   296.8   867.1   256.0   272.5   288.9
27.30   3.15%   7.42    2.73%
90.00%  2163    371.8   396.0   420.1   2129    362.4   385.9   409.4
33.19   1.56%   10.06   2.61%
95.00%  5747    521.4   555.5   589.5   5738    511.1   544.5   577.8   9.32
   0.16%   11.01   2.02%
98.00%  52364   1252    1335    1417    52405   1254    1336    1418
 -41.34  -0.08%  -1.21   -0.09%
99.00%  54831   1746    1861    1976    54834   1747    1863    1978
 -2.81   -0.01%  -1.31   -0.07%
99.50%  56065   1993    2124    2256    56048   1994    2126    2257
 16.45   0.03%   -1.36   -0.06%

11/22-11/28
Data is corrupt.

11/29-12/05 WIN 2.51% to 2.81%
      Net.Transaction_Connected_New_AsyncSlowStart_off
(All)   Net.Transaction_Connected_New_AsyncSlowStart (All)      Delta
Savings
Cutoff  Value   Min Avg ~Avg    Max Avg Value   Min Avg ~Avg    Max Avg
Value   %       ~Avg    %
50.00%  297.4   129.3   137.4   145.5   288.9   126.2   134.0   141.9   8.54
   2.96%   3.37    2.51%
60.00%  411.4   162.7   173.0   183.3   398.7   158.4   168.4   178.4
12.62   3.16%   4.62    2.75%
70.00%  581.2   205.1   218.2   231.3   561.7   199.3   212.0   224.8
19.48   3.47%   6.14    2.90%
80.00%  896.4   263.5   280.5   297.4   865.5   255.6   272.0   288.5
30.90   3.57%   8.44    3.10%
90.00%  2170    372.8   397.0   421.2   2112    361.5   385.0   408.4
57.93   2.74%   12.01   3.12%
95.00%  5814    523.2   557.3   591.4   5664    508.9   542.1   575.3
149.8   2.64%   15.22   2.81%
98.00%  52405   1264    1347    1430    52324   1232    1312    1393
 80.35   0.15%   34.77   2.65%
99.00%  54848   1758    1874    1990    54796   1725    1839    1953
 51.29   0.09%   34.71   1.89%
99.50%  56069   2005    2137    2269    56032   1972    2102    2232
 36.76   0.07%   34.69   1.65%

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev

Reply via email to