high performance web sites 14 rules for faster-loading pages
DESCRIPTION
High Performance Web Sites 14 rules for faster-loading pages. Steve Souders [email protected]. Tenni Theurer [email protected]. Introduction. Exceptional Performance. started in 2004 quantify and improve the performance of all Yahoo! products worldwide center of expertise - PowerPoint PPT PresentationTRANSCRIPT
-
High Performance Web Sites
14 rules for faster-loading pagesSteve [email protected] [email protected]
-
Introduction
-
Exceptional Performancestarted in 2004quantify and improve the performance of all Yahoo! products worldwidecenter of expertisebuild tools, analyze datagather, research, and evangelize best practices
-
Scopeperformance breaks into two categoriesresponse timeefficiencycurrent focus is response timeof web products
-
Rough Cuts: nowHardcopy: Summer 2007http://www.oreilly.com/catalog/9780596514211/
-
The Importance of Front-End Performance
-
Back-end vs. Front-end
percentage of time spent on the front-end
-
The Performance Golden Rule80-90% of the end-user response time is spent on the front-end. Start there.
Greater potential for improvementSimplerProven to work
-
SchedulePerformance Researchbreak14 RulesbreakCase StudiesLive Analysis
-
Performance Research
-
slow crawl boring snail stagnant unexceptional yawn unresponsive impatient delay moderate blah subdue drag apathetic prolong slack load sluggish sleepy late unexciting reduced lag complex heavy unmemorable obscure why wait perceived response timewhat is the end users experience?performance speed enjoyable urgent instant accelerate perception snap achievement better improve action pleasant pace quick promote swift cool maximum drive prompt advance fast hurry rush satisfying feel exceptional brisk rapid exciting
-
User PerceptionUsability and perception are important for performance.
The users perception is more relevant than actual unload-to-onload response time.
Definition of "user onload" is undefined or varies from one web page to the next.
-
http://yuiblog.com/blog/2006/11/28/performance-research-part-1/
-
80/20 Performance RuleVilfredo Pareto: 80% of consequences come from 20% of causes
Focus on the 20% that affects 80% of the end-user response time.
Start at the front-end.
-
Empty vs. Full Cache
-
Empty vs. Full Cachewith an empty cache
Chart5
2.3857080.073697
1.9012470.03514
1.9003720.250341
1.7553970.115827
1.7364090.017868
1.735610.023736
1.7343070.022563
1.5444550.075842
1.5013610.22307
1.4913270.235455
1.3787060.027494
1.4323860.071666
1.3459750.146844
1.3452710.14719
1.1955820.062929
1.1936250.034181
1.1481810.030886
1.1473480.03236
1.0941010.048729
1.0691020.071543
1.0648260.098428
0.9710670.162706
0.8875690.232298
0.886340.1925
0.8033120.169048
0.7952380.145024
0.6135730.172498
0.6061860.044826
0.6023090.030719
0.4876780.053908
0.4441490.018247
0.4068670.103763
0.402910.026868
0.0644530.288027
00.018238
Sheet1
"wd:dItemDuration">PT0.018238SPT0.288027SPT0.026868SPT0.103763SPT0.018247SPT0.053908SPT0.030719SPT0.044826SPT0.172498SPT0.145024SPT0.169048SPT0.192500SPT0.232298SPT0.162706SPT0.098428SPT0.071543SPT0.048729SPT0.032360SPT0.030886SPT0.034181SPT0.062929SPT0.147190SPT0.146844SPT0.071666SPT0.027494SPT0.235455SPT0.223070SPT0.075842SPT0.022563SPT0.023736SPT0.017868SPT0.115827SPT0.250341SPT0.035140SPT0.073697S
-
Empty vs. Full Cache
-
Empty vs. Full CacheExpires header3user re-requests www.yahoo.comwith a full cache
Chart8
0.80.091007
0.701980.071007
00.4
Sheet1
"wd:dItemDuration">PT0.018238SPT0.288027SPT0.026868SPT0.103763SPT0.018247SPT0.053908SPT0.030719SPT0.044826SPT0.172498SPT0.145024SPT0.169048SPT0.192500SPT0.232298SPT0.162706SPT0.098428SPT0.071543SPT0.048729SPT0.032360SPT0.030886SPT0.034181SPT0.062929SPT0.147190SPT0.146844SPT0.071666SPT0.027494SPT0.235455SPT0.223070SPT0.075842SPT0.022563SPT0.023736SPT0.017868SPT0.115827SPT0.250341SPT0.035140SPT0.073697S
-
Empty vs. Full Cache empty cache2.4 seconds
full cache0.9 seconds83% fewer bytes90% fewer HTTP requests
-
How much does this benefit our users?It depends on how many users have components in cache.
What percentage of users view a page with an empty cache*?* Empty cache means the browser has to request the components instead of pulling them from the browser disk cache.
What percentage of page views are done with an empty cache*?
-
http://yuiblog.com/blog/2007/01/04/performance-research-part-2/
-
Browser Cache ExperimentAdd a new image to your page
with the following response headers:
Expires: Thu, 15 Apr 2004 20:00:00 GMTLast-Modified: Wed, 28 Sep 2006 23:49:57 GMT
-
Browser Cache ExperimentRequests from the browser will have one of these response status codes:200 The browser does not have the image in its cache.304 The browser has the image in its cache, but needs to verify the last modified date.
-
Browser Cache Experiment
-
Surprising Results40-60% ~20%
Chart2
11
0.9756970610.3511414856
0.64892420720.2480818574
0.5362557680.2172068146
0.49705641450.205786832
0.47695751880.2014351966
0.49093842630.2013420285
0.47437852410.1930321497
0.46505295010.1954734765
0.45392525710.1938962941
0.44627662250.1903622437
0.44449787410.1888348329
0.4392663860.1877929461
0.45289059970.1891742737
0.4466963780.186161091
0.44525710320.1868084979
0.43449977570.1843509261
17
18
19
20
unique users with empty cache
page views with empty cache
day of experiment
percentage
Empty Cache %
DateDay%age 200 B cookies%age 200 page viewsC + filter old BE PVsE + filter new BG PVsF + extreme 200ersI PVs
1/22/060100.0%100.0%100.0%100.0%100.0%100.0%100.0%100.0%
1/23/06197.6%35.1%97.6%34.9%91.9%33.0%95.5%31.8%
1/24/06264.9%24.8%64.3%24.7%61.8%24.1%63.8%22.8%
1/25/06353.6%21.7%53.1%21.6%50.2%20.1%51.7%18.5%
1/26/06449.7%20.6%49.1%20.4%44.3%18.0%45.6%16.3%
1/27/06547.7%20.2%47.8%20.1%40.9%18.3%40.7%15.5%
1/28/06649.1%20.1%49.0%20.0%42.0%18.1%41.8%15.5%
1/29/06747.4%19.3%47.5%19.2%40.4%17.3%40.2%14.7%
1/30/06846.5%19.6%46.6%19.5%38.6%17.5%38.4%14.6%
1/31/06944.2%19.4%44.2%19.4%44.2%19.4%44.9%17.2%
2/1/061044.6%19.0%44.6%19.0%44.6%19.0%45.5%17.0%
2/2/0611
2/3/0612
2/4/0613
2/5/0614
2/6/0615
2/7/0616
2/8/0617
2/9/0618
2/10/0619
2/11/0620
2/12/0621
2/13/0622
2/14/0623
2/15/0624
2/16/0625
2/17/0626
2/18/0627
2/19/0628
2/20/0629
2/21/0630
Empty Cache %
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
B Cookies
Page Views
Day
Percentage
Empty Cache Percentages
Duplicate 200
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
B Cookies
Page Views
Remove Old B
Remove Old B PVs
Remove New B
Remove New B PVs
Remove Extreme 200s
Remove Extreme 200s PVs
Day
Percentage
Empty Cache Percentages
Sheet1
17938076.20%
21149811.04%
342504.08%
421552.07%
513851.33%
69480.91%
76900.66%
85350.51%
93800.36%
103190.31%
112670.26%
122390.23%
131890.18%
141620.16%
151460.14%
161200.12%
171230.12%
181100.11%
19860.08%
20970.09%
21830.08%
22500.05%
23680.07%
24580.06%
25600.06%
26560.05%
27480.05%
28450.04%
29280.03%
30400.04%
31220.02%
32280.03%
33170.02%
34170.02%
35260.02%
36230.02%
37150.01%
38230.02%
39220.02%
40180.02%
41140.01%
42250.02%
4390.01%
44140.01%
45140.01%
4690.01%
4790.01%
48110.01%
49110.01%
50110.01%
5190.01%
5290.01%
5360.01%
5470.01%
5550.00%
5640.00%
5750.00%
5850.00%
5930.00%
6050.00%
6140.00%
6250.00%
6340.00%
6470.01%
6580.01%
6640.00%
6770.01%
6840.00%
6960.01%
7080.01%
7150.00%
7230.00%
7330.00%
7430.00%
7520.00%
7650.00%
7720.00%
7810.00%
8020.00%
8140.00%
8230.00%
8330.00%
8410.00%
8530.00%
8620.00%
8830.00%
8910.00%
9010.00%
9110.00%
9210.00%
9320.00%
9420.00%
9620.00%
9710.00%
9910.00%
10130.00%
10230.00%
10310.00%
10510.00%
10610.00%
10710.00%
11210.00%
11310.00%
11830.00%
11910.00%
12010.00%
12210.00%
12310.00%
12510.00%
12610.00%
13110.00%
13310.00%
13520.00%
13810.00%
14030.00%
14130.00%
14310.00%
14910.00%
15510.00%
16610.00%
16810.00%
19110.00%
20110.00%
21110.00%
21510.00%
23510.00%
23610.00%
25510.00%
25610.00%
29410.00%
44310.00%
Sheet1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
# of 200 Responses per B Cookie
Percentage of B Cookies
Duplicate 200 Responses
Sheet3
Sheet3
11
0.9756970610.3511414856
0.64892420720.2480818574
0.5362557680.2172068146
0.49705641450.205786832
0.47695751880.2014351966
0.49093842630.2013420285
0.47437852410.1930321497
0.46505295010.1954734765
0.45392525710.1938962941
0.44627662250.1903622437
0.44449787410.1888348329
0.4392663860.1877929461
0.45289059970.1891742737
0.4466963780.186161091
0.44525710320.1868084979
0.43449977570.1843509261
17
18
19
20
unique users with empty cache
page views with empty cache
day of experiment
percentage
1
0.3511414856
0.2480818574
0.2172068146
0.205786832
0.2014351966
0.2013420285
0.1930321497
0.1954734765
0.1938962941
0.1903622437
0.1888348329
0.1877929461
0.1891742737
0.186161091
0.1868084979
0.1843509261
17
18
19
20
Baseline
Day
Percentage
Front Page - Page Views with Empty Cache
01234567891011121314151617181920
1/22/061/23/061/24/061/25/061/26/061/27/061/28/061/29/061/30/061/31/062/1/062/2/062/3/062/4/062/5/062/6/062/7/062/8/062/9/062/10/062/11/06
Baseline# B cookies with 20031,07425,96821,15119,41917,47013,08413,37718,44418,09817,72717,56316,07112,58912,62917,95917,433
total # B cookies31,84840,01739,44239,06836,62826,65128,19939,66039,87039,72239,51236,58627,79728,27240,33440,122
%age100.0%97.6%64.9%53.6%49.7%47.7%49.1%47.4%46.5%45.4%44.6%44.4%43.9%45.3%44.7%44.5%43.4%
# PVs with 20040,74439,83534,19432,06229,36221,33421,60332,10331,24630,46930,15927,48520,91020,51731,08429,889
total # PVs116,033160,572157,426155,802145,764105,959111,914164,232161,148160,058159,711146,358110,533110,211166,395162,131
%age100.0%35.1%24.8%21.7%20.6%20.1%20.1%19.3%19.5%19.4%19.0%18.9%18.8%18.9%18.6%18.7%18.4%
Filter Old B# B cookies with 20030,39525,35320,66218,94617,09012,78613,08818,05717,71317,36817,18315,75512,31912,35417,61317,051
total # B cookies31,14039,10638,54038,13335,81326,07727,57138,78338,99638,87538,62135,82627,21627,65339,51139,246
%age100.0%97.6%64.8%53.6%49.7%47.7%49.0%47.5%46.6%45.4%44.7%44.5%44.0%45.3%44.7%44.6%43.4%
# PVs with 20039,77738,86333,33631,19228,68020,82221,14931,35030,53129,80529,49126,85420,43420,01730,33929,151
total # PVs114,022157,771154,727153,013143,161104,180110,177161,360158,452157,410157,064143,980108,858108,399163,670159,435
%age100.0%34.9%24.6%21.5%20.4%20.0%20.0%19.2%19.4%19.3%18.9%18.8%18.7%18.8%18.5%18.5%18.3%
Filter Extreme# B cookies with 20030,33325,29220,60418,88317,04412,75213,04617,97717,65317,30317,12215,70112,28012,32417,54616,984
total # B cookies31,07738,96238,41537,99135,69126,00127,48438,60838,85438,72638,48635,70927,14027,57839,36339,089
%age100.0%97.6%64.9%53.6%49.7%47.8%49.0%47.5%46.6%45.4%44.7%44.5%44.0%45.2%44.7%44.6%43.4%
# PVs with 20039,58638,12932,70930,45628,04420,38120,74230,42429,63928,97828,74726,21719,88619,53229,68228,428
total # PVs107,953147,896145,375142,382133,73898,386104,437149,560148,669146,825146,713134,631102,216102,631153,147147,846
%age100.0%36.7%25.8%22.5%21.4%21.0%20.7%19.9%20.3%19.9%19.7%19.6%19.5%19.5%19.0%19.4%19.2%
Filter New B# B cookies with 20026,89319,84414,86812,85411,2638,1478,11510,82210,43910,1039,6788,8616,7376,7279,5018,967
total # B cookies27,56932,63131,08429,88427,48119,33820,05928,04527,78727,44026,73824,59817,98018,29326,17125,620
%age100.0%97.5%60.8%47.8%43.0%41.0%42.1%40.5%38.6%37.6%36.8%36.2%36.0%37.5%36.8%36.3%35.0%
# PVs with 20035,31430,95524,79221,87619,63713,67213,56419,83318,92718,25717,73316,02011,66311,20717,42616,280
total # PVs97,271126,119118,505112,486102,39172,56375,828108,251105,590103,097101,02891,43166,17366,340100,16295,255
%age100.0%36.3%24.5%20.9%19.4%19.2%18.8%17.9%18.3%17.9%17.7%17.6%17.5%17.6%16.9%17.4%17.1%
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
Baseline
Remove Old B Cookies
Remove Extreme B Cookies
Remove New B Cookies
Day
Percentage
Front Page - B Cookies with Empty Cache
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
Baseline
Remove Old B Cookies
Remove Extreme B Cookies
Remove New B Cookies
Day
Percentage
Front Page - Page Views with Empty Cache
-
Experiment TakeawaysKeep in mind the empty cache user experience. It might be more prevalent than you think!
Use different techniques to optimize full versus empty cache experience.
-
http://yuiblog.com/blog/2007/03/01/performance-research-part-3
-
HTTP Quick ReviewHTTP response header sent by the web server:HTTP/1.1 200 OKContent-Type: text/html; charset=utf-8Set-Cookie: C=abcdefghijklmnopqrstuvwxyz; domain=.yahoo.com
-
HTTP Quick ReviewHTTP request header sent by the browser:GET / HTTP/1.1Host: finance.yahoo.comUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Cookie: C=abcdefghijklmnopqrstuvwxyz;
-
HTTP Quick ReviewHTTP request header sent by the browser:GET / HTTP/1.1Host: autos.yahoo.comUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Cookie: C=abcdefghijklmnopqrstuvwxyz;
-
HTTP Quick ReviewHTTP request header sent by the browser:GET / HTTP/1.1Host: mail.yahoo.comUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Cookie: C=abcdefghijklmnopqrstuvwxyz;
-
HTTP Quick ReviewHTTP request header sent by the browser:GET / HTTP/1.1Host: tech.yahoo.comUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Cookie: C=abcdefghijklmnopqrstuvwxyz;
-
Impact of Cookies on Response Time
-
.yahoo.com cookie sizes
Chart8
0.28860.5180.17790.0155
1-500 bytes
501-1000 bytes
1001-1500 bytes
over 1501 bytes
percentage of page views
bcookie
Cookie Histograms:
Num CookiesAll CookiesAll IEAll FFno RTBAno RTBA IEno RTBA FFNum CookiesAll CookiesAll IEAll FFno RTBAno RTBA IEno RTBA FFNum CookiesAll CookiesAll IEAll FFno RTBAno RTBA IEno RTBA FF
000051300.00%0.00%0.00%4.95%1.54%100.00%00.00%0.00%0.00%4.95%1.54%100.00%
151300015.05%1.59%100.00%0.00%0.00%0.00%15.05%1.59%100.00%4.95%1.54%100.00%
200000020.00%0.00%0.00%0.00%0.00%0.00%25.05%1.59%100.00%4.95%1.54%100.00%
300000030.00%0.00%0.00%0.00%0.00%0.00%35.05%1.59%100.00%4.95%1.54%100.00%
400000040.00%0.00%0.00%0.00%0.00%0.00%45.05%1.59%100.00%4.95%1.54%100.00%
500011050.00%0.00%0.00%0.99%1.54%0.00%55.05%1.59%100.00%5.94%3.08%100.00%
611000061.01%1.59%0.00%0.00%0.00%0.00%66.06%3.17%100.00%5.94%3.08%100.00%
700000070.00%0.00%0.00%0.00%0.00%0.00%76.06%3.17%100.00%5.94%3.08%100.00%
800000080.00%0.00%0.00%0.00%0.00%0.00%86.06%3.17%100.00%5.94%3.08%100.00%
900000090.00%0.00%0.00%0.00%0.00%0.00%96.06%3.17%100.00%5.94%3.08%100.00%
10000000100.00%0.00%0.00%0.00%0.00%0.00%106.06%3.17%100.00%5.94%3.08%100.00%
11000000110.00%0.00%0.00%0.00%0.00%0.00%116.06%3.17%100.00%5.94%3.08%100.00%
12000110120.00%0.00%0.00%0.99%1.54%0.00%126.06%3.17%100.00%6.93%4.62%100.00%
13110330131.01%1.59%0.00%2.97%4.62%0.00%137.07%4.76%100.00%9.90%9.23%100.00%
14330110143.03%4.76%0.00%0.99%1.54%0.00%1410.10%9.52%100.00%10.89%10.77%100.00%
15110220151.01%1.59%0.00%1.98%3.08%0.00%1511.11%11.11%100.00%12.87%13.85%100.00%
16220720162.02%3.17%0.00%6.93%3.08%0.00%1613.13%14.29%100.00%19.80%16.92%100.00%
1772025120177.07%3.17%0.00%24.75%18.46%0.00%1720.20%17.46%100.00%44.55%35.38%100.00%
1825120564201825.25%19.05%0.00%55.45%64.62%0.00%1845.45%36.51%100.00%100.00%100.00%100.00%
19544000001954.55%63.49%0.00%0.00%0.00%0.00%19100.00%100.00%100.00%100.00%100.00%100.00%
99633101653
Cookie Size Histograms:
Size LTEAllIEFFSize LTEAllIEFFSize LTEAllIEFF
5006235005.94%3.08%100.00%5005.94%3.08%100.00%
100017150100016.83%23.08%0.00%100022.77%26.15%100.00%
150061360150060.40%55.38%0.00%150083.17%81.54%100.00%
200016120200015.84%18.46%0.00%200099.01%100.00%100.00%
250010025000.99%0.00%0.00%2500100.00%100.00%100.00%
300000030000.00%0.00%0.00%3000100.00%100.00%100.00%
350000035000.00%0.00%0.00%3500100.00%100.00%100.00%
400000040000.00%0.00%0.00%4000100.00%100.00%100.00%
450000045000.00%0.00%0.00%4500100.00%100.00%100.00%
500000050000.00%0.00%0.00%5000100.00%100.00%100.00%
550000055000.00%0.00%0.00%5500100.00%100.00%100.00%
600000060000.00%0.00%0.00%6000100.00%100.00%100.00%
650000065000.00%0.00%0.00%6500100.00%100.00%100.00%
700000070000.00%0.00%0.00%7000100.00%100.00%100.00%
750000075000.00%0.00%0.00%7500100.00%100.00%100.00%
800000080000.00%0.00%0.00%8000100.00%100.00%100.00%
850000085000.00%0.00%0.00%8500100.00%100.00%100.00%
101653100.00%100.00%100.00%
All .yahoo.com cookies:
101 BA (sample: 'BA=ba=743&ip=71.94.10.227&t=1169430685')
95 Y (sample: 'Y=v=1&n=6f7bk96vejto2&l=9ij4l4dij864hi/o&p=m222p6eb13000100&jb=26|22|&r=eq&lg=us&intl=us&np=1')
95 F (sample: 'F=a=eEJdC.IsvXQyP.tLgPkB9WrbHgTl.myc59dvWujCFbUtFFryxx3JmZ0tz57I&b=ErWJ')
93 PH (sample: 'PH=fn=oQdSi4oEdBKDgw--')
92 C (sample: 'C=mg=1')
91 Q (sample: 'Q=q1=AACAAAAAAAAAAA--&q2=RaNEug--')
91 T (sample: 'T=z=z5RtFBz/mtFBFNDpbWwgYKHNDM0BjY0TjJOMTM3TjY-&a=YAE&sk=DAAkqtG71L4NIY&d=c2wBTXpRekFURXpPVFU1TmpRd09URS0BYQFZQUUBb2sBWlcwLQF0aXABSDVsQ2pEAXp6AXo1UnRGQmdXQQ--')
87 LYC (sample: 'LYC=l_v=0&l_lv=10&l_s=wxr2v14sv4zuuzr2y0ttqtqqs1x32wyr&l_um=0_0_1_0_0')
84 U (sample: 'U=mt=oJEOxJ2MhYoA9RYUqrdXOKQ535ndGY6O5GItOg--&ux=gJEeFB&un=3vrbop721di81')
81 I (sample: 'I=ir=h8&in=486ecde9&i1=AAACAAAEBhABqIDDACqZti')
70 PL (sample: 'PL=V=1.1&d=TzW9McffGIN5LeNvHFKh2.wmYJwxCm2VPu_t9lBj21WaASiTYWMoImBe73dzoZVVr7oiyKw0KGKAK9BF8.7v.oz7dUVqc1BzC0YyoIqPXaxKj2whaUJ8y2BsFxWCRekP4iyEAHzlpgevCvCKxvpDr_9xkOXrhjpkdkVxqLuaUA5ePpQmrityKeZsRydf5d_lWS0qFSzUz0OJFtPRhi.Zqy.cFJ3qct3YUE
69 SO (sample: 'SO=v=0.4&t=1168368499')
66 CP (sample: 'CP=v=60306&br=i&sp=')
60 YLS (sample: 'YLS=v=1&p=0&n=9')
53 HP (sample: 'HP=1')
51 sS (sample: 'sS=shf=2&ftrs=ourwebact%7Cprs&rdsng=1&l=9ij4l4dij864hi/o')
39 PA (sample: 'PA=p0=5kr3St1K6kvSSw--&e=cVotFB&p3=ANw5IHkACpU86Dgged05AAAACpU85zkged05AACACpU8zTkged05AACACpU80Dgged05AAA-')
38 LYS (sample: 'LYS=l_fh=0&l_vo=myla')
35 D (sample: 'D=_ylc=X3IDMwRmcANyLzIx&_ylg=X3oDMTRocWtxMTgzBGZwdWxtAzEwMDAEeXB1bHNlA2NvbnNlcnIEcGEDLTEEcGNpZANHYW1lc19Nb3N0X1BvcHVsYXJfV2FyY3JhZnRfZWxmd29tYW5fM0UtNTI5OTM2BHBwaWQDMTE2OTI2NTY3MgR0bXBsA2luZGV4LWwEX1MDMjcxNjE0OQRwaWQDMTE2OTUwMjE0MAR0ZXN0A
33 YGCV (sample: 'YGCV=d=')
30 YMPS (sample: 'YMPS=auth=e%2FYXFbeRDhRzHJBNvqxa3Q%3D%3D&t=1169503229&yid=6ZOcCjBst%2FIm3B%2F1I5C9WA%3D%3D&bf=0')
28 l%5FPD3 (sample: 'l%5FPD3=840')
27 YMUSIC (sample: 'YMUSIC=t=1')
25 MVUserInfo3 (sample: 'MVUserInfo3=123_9')
24 YMRAD (sample: 'YMRAD=187841048*0_0_1204_1')
23 yme (sample: 'yme=1')
15 playerFullVersion (sample: 'playerFullVersion=10')
14 PVL (sample: 'PVL=38856941_37868940_35881672_37188836_36110701_36465596_34613518_31363511_36886779_37987962_37161962_35466915_2154453_39155872_36511587_37159165_37943612_37146469_37159933_36394684_38510337_39155866_36962718_35112301|26_26_26_26_26_26
13 op122geohomeliid (sample: 'op122geohomeliid=a00602d0mc231ci0hk2fsbd34')
13 op122geohomegum (sample: 'op122geohomegum=a00602d0mc231ci0hk2fsbd34')
13 LCGuLi (sample: 'LCGuLi=1049601=1')
9 UC (sample: 'UC=E90efOXSQJVcrIc7kJ28hFmklH8cDxAknk9DVBgWTV5VQl.sCjp1jE46F8ScvZnwTLF.8RMJ0hjgPOH_jtC4lV9fmf12qkAw4HvEoYIGk7xbEjouSRLdFRdbY.7fd4nreXhaqskdFUkhdJDW10v7HpFmI8hkJct3ZfUCSzVYBDU1_eqPzSmMZ8sVamn3w9FFkondBc6H0kb2iJzy7QD4emIyq6Np90foalixVmL7TNV
9 sB (sample: 'sB=vm=p&subscrs=')
8 adx (sample: 'adx=c9809@1169484121@1')
6 LCSoftStick (sample: 'LCSoftStick=ym=20070')
5 op122WHhomeliid (sample: 'op122WHhomeliid=a002022034231mh07e34g56e5')
5 vCodec (sample: 'vCodec=9')
5 LCTrSk (sample: 'LCTrSk=1169499580_0_0_171226794')
5 op122WHhomegum (sample: 'op122WHhomegum=a002022034231mh07e34g56e5')
3 ykH (sample: 'ykH=w=&f=&c=1&pc=1&p=&csm=NNGjVeqjhLG0EdKJOkRagQ--&ts=1145483966')
3 ykPCD (sample: 'ykPCD=d=5Wj8mVM-&csm=NNGjVeqjhLG0EdKJOkRagQ--')
2 LSundefined_LYS (sample: 'LSundefined_LYS=l_fh=1&l_vo=myla')
2 LSundefined_LYC (sample: 'LSundefined_LYC=l_v=0&l_lv=10&l_s=xwyxt053s35ru3y31s52xy3wsy0yrt1s&l_lc=0_1_0_0_-1&l_um=0_0_1_0_0&l_mv=56_50')
2 op122homepagegum (sample: 'op122homepagegum=a0070230kf2316j0612dn1870')
2 op122homepageliid (sample: 'op122homepageliid=a0070230kf2316j0612dn1870')
2 RT (sample: 'RT=s=1169503282553&u=&r=http%3A//www.yahoo.com/')
2 SS (sample: 'SS=u1=todsteno&[email protected]&v=1.0&sig=CTnepscty8NoYdGVIw4jyg--')
2 MVFSWarning (sample: 'MVFSWarning=1')
2 YM.BM (sample: 'YM.BM=domain=zender-engr.net&sid=2291779466&silo=ms333&farm=b3&account=sgilbreath&fwdaddr=&fwdtemp="a=2147483648&BD=b')
2 FPS (sample: 'FPS=dl')
2 INT (sample: 'INT=globeph=1:')
2 R (sample: 'R=o=1/i=search/iy/c3231_f1970/jackson+guitar/shopping_narrower_main/sig=12h4q2fe7/t=1169435451')
2 ymttrlsvst (sample: 'ymttrlsvst=000000010000000000000')
1 YCorp (sample: 'YCorp=id%3D111312%26userid%3Dlehmbecj%26sign%3D69b72a54a0ae09cf7f54e4f1b15f0006%26time%3D1169482827%26expires%3D480%26ip%3D10.72.55.109%26roles%3D%7C1.IE%7C121.U%7C13.V%7C20.U%7C212.E%7C50.U%7C6878.U%7C6951.I%7C6982.I%7C7033.U%7C7181.I
1 ASLTRG1 (sample: 'ASLTRG1=28#42#.net#3133#20993#.sd.sd.cox.net#72.197.249.102#en-us%2Cen%3Bq%3D0.5#ISO-8859-1%2Cutf-8%3Bq%3D0.7%2C*%3Bq%3D0.7#32706454#20332#14659#825#5#0')
1 FRQSTR (sample: 'FRQSTR=19487461|19487461|19487461|19487461|19487461')
1 FRhp_BouyguesCUST (sample: 'FRhp_BouyguesCUST=t=1')
1 K (sample: 'K=kl=ggs09e9e/a&kn=cXEyYWpvam8-&km=cXEyYUBzaW5hLmNvbS50dw--&kp=aa1vvvjcN&ko=ggs09e9e/a&kk=ggs09e9e/o&kc=0')
1 KIDYMD (sample: 'KIDYMD=#342018:GATA#')
1 KR_DIC (sample: 'KR_DIC=qh=cmluZyB0aGUgcmVnaXN0ZXJ8fA--')
1 s_cc (sample: 's_cc=true')
1 s_sq (sample: 's_sq=undefinedtoJSONString%2CtoJSONString%3Dfunction%2520%2528%2529%2520%257B%250A%2520%2520%2520%2520return%2520s.object%2528this%2529%253B%250A%257D%26function%20%28%29%20%7B%0A%20%20%20%20return%20s.object%28this%29%3B%0A%7D%3DtoJSON
1 stageLYC (sample: 'stageLYC=l_v=0&l_lv=9&l_s=yt3vx3s0qyrzux1r0tv54uqw1qtrv1su&l_um=0_0_1_0_0')
1 stageLYS (sample: 'stageLYS=l_fh=0&l_vo=myla')
1 KR_S1 (sample: 'KR_S1=qh=uei9vbHifHy44bfQfHzDtbjtyMZ8fLnpvcLB1nx8x8.8rsH4fHxzaWxrIHJvYWQgsNTA03x8&qc=2')
1 wgb (sample: 'wgb=b=5C3a42bfd101597645b5288a6882ed542bfd16a2f1418bd546eff7cc4978b7ac4&l=&s=Bpf9buBCCYoezbPVRdXaiqNzMbg-')
1 idm (sample: 'idm=b7CfG_fQ2whCkBWIzt52zOlagiGZh9saHtwfKL4OMe5Pk0tFo2zUsHeXyl2gB_Vr9JCBp65Htg3Pt6VrXAejhNCYbHZyvFeLzzS_DQ3O8y3gh3fCRpDCFgPkLyT0')
1 SESTEST (sample: 'SESTEST=1')
1 WIDYMD (sample: 'WIDYMD=#40669:GAT#')
1 YBY (sample: 'YBY=id%3D111312%26userid%3Dlehmbecj%26sign%3DLE8Q9fZad9YJALlii6IFYASCWP_Zukl4mkHu4.7dTGiTAs3cybltpZ2ZSjaN1viKKzMs1wWCjR1CbAZf27JTJta.RGQE0pI_F0xpCzpKPiERAF_ImptD1HK3jqQNXyr0a40q3Dlmag9EFwjNswEAoQQ5HEDyE9xAdYWKjJ7rk6w-%26time%3D1169482827
bcookie
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
000000
All Cookies
All IE
All FF
no RTBA
no RTBA IE
no RTBA FF
Number of Cookies
Cumulative Distribution of Number of Cookies in Page Views w/out B-Cookie
Sheet1
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
All
IE
FF
Size (bytes)
Size of Cookies in Page Views w/out B-Cookie
cookie-expt
dffdfsff
A.yahoo.comadvertiser.yahoo.com statsDocument Link
[email protected] ad debuggingDocument Link
[email protected] just enough information
to rebuild a user's session
on failover
AFFINITYpersonals.yahoo.comPersonals affinity searchDocument Link
[email protected] Options
("AO") cookie and
sub-cookie "o"
(opt-out)
[email protected].*.yahoo.comIncremental value to store the
number of times the user has
viewed the various AUNZ
mediapanes
[email protected] avatar cookie
B.yahoo.comunique browseridDocument Link
[email protected] cookie - containsDocument Link
user's bandwidth capacity in
kbps
[email protected] JS / NagBar Info
C.yahoo.comclient software capabilitiesDocument Link
chanAreatv.yahoo.comtv listings areaDocument Link
CHT.yahoo.comchat.yahoo.com useridDocument Link
CNMSGRcn.messenger.yahoo.comCN messenger cookieDocument Link
CN_AUTOS_DIAcn.autos.yahoo.comY! CN autos cookieDocument Link
CN_ENT_DIAcn.ent.yahoo.comY! CN ent cookieDocument Link
[email protected] .yahoo.com.cnCN_FID cookie for external flow
.3721.comstatistic
[email protected]!CN web messenger for mail
CN_NEWS_DIAcn.news.yahoo.comY! CN news cookieDocument Link
CN_REcn.realestate.yahoo.comY! CN realestate cookieDocument Link
CN_RE_DIAcn.realestate.yahoo.comY! CN realestate cookieDocument Link
[email protected] cn sds team
CN_SPORTS_DIAcn.sports.yahoo.comY! CN sports cookieDocument Link
CN_TBCTcn.sports.yahoo.comY! CN TextBroadcast cookieDocument Link
[email protected] by merchants during theDocument Link
checkout v3 beta period for
redirect purpose
CP.yahoo.comCompanion toolbar detectionDocument Link
CUcn.yahoo.comCN popunder adDocument Link
cz_INTcn.yahoo.comCN crazyadDocument Link
[email protected] ULT Data CookieDocument Link
E.groups.yahoo.comYahoo! Groups session cookieDocument Link
(timezone, preferences, etc)
ezvezventure.yahoo.comEZVentureDocument Link
ezwezwheels.yahoo.comEZWheelsDocument Link
F.yahoo.comfriend/fingerprintDocument Link
FIFAfifaworldcup.yahoo.comdefault language forDocument Link
fifaworldcup
[email protected] Sports -
timezone Fantasy Sports -
timezone information
Gclubs.yahoo.comclub-specific information (v1Document Link
and v2)
gbversiongeocities.yahoo.comGeoBuilder versionDocument Link
GeoIdgeocities.yahoo.com?Document Link
[email protected]"Gladiator" cookie to
track homepage or seach page tab
buttons - user selection
preference
[email protected] cookie is a session cookie
holding state settings for the
YHS vertical in GSP
[email protected]*.hothire.hotjobs.comThis is the cookie to be used byDocument Link
the HotJobs HotHire and is used
for identifying users.
[email protected] cookie is used for Hotjobs
customer when they login to
Hotjobs(e.g for posting jobs).
[email protected] for anonymous user
session in Hotjobs property.
This will contain user selected
items in shopping cart.
[email protected] is used for storing yahooDocument Link
internal users who access
Hotjobs system through our
Hotjobs application. Yahoo
internal users are capable of
managing users for customers and
also post jobs for customers.
HMSSpersonals.yahoo.comPersonals homepage my savedDocument Link
search cookie
[email protected] indicates what Yahoo! page
is the users home page
HWpersonals.yahoo.comPersonals homepage wildcardDocument Link
cookie
I.yahoo.comdata-mining user interestsDocument Link
[email protected] token for
o-inc.combusiness user in YSM Panama
INTcn.yahoo.comCN floating and couplet adDocument Link
JC2.yahoo.comOBSOLETE - jfriedl page checkerDocument Link
JFriedlPageChecker.yahoo.comjeffrey's page checkerDocument Link
jrunsessionidgeocities.yahoo.compagebuilder infoDocument Link
K.yahoo.coma child (
-
Analysis of Cookie Sizes across the Web
Total Cookie SizeAmazon60 bytesGoogle72 bytesYahoo122 bytesCNN184 bytesYouTube218 bytesMSN268 byteseBay331 bytesMySpace500 bytes
-
Experiment Takeawayseliminate unnecessary cookieskeep cookie sizes lowset cookies at appropriate domain levelset Expires date appropriatelyearlier date or none removes cookie sooner
-
http://yuiblog.com/blog/2007/04/11/performance-research-part-4/
-
Parallel DownloadsTwo componentsin parallelper hostnameHTTP/1.1
-
Parallel DownloadsTwo in parallelFour in parallelEight in parallel
Chart17
0.50.3
0.50.3
0.20.3
0.20.3
0.20.3
0.20.3
0.20.3
0.20.3
0.20.3
0.20.3
00.2
Sheet1
"wd:dItemDuration">PT0.018238SPT0.288027SPT0.026868SPT0.103763SPT0.018247SPT0.053908SPT0.030719SPT0.044826SPT0.172498SPT0.145024SPT0.169048SPT0.192500SPT0.232298SPT0.162706SPT0.098428SPT0.071543SPT0.048729SPT0.032360SPT0.030886SPT0.034181SPT0.062929SPT0.147190SPT0.146844SPT0.071666SPT0.027494SPT0.235455SPT0.223070SPT0.075842SPT0.022563SPT0.023736SPT0.017868SPT0.115827SPT0.250341SPT0.035140SPT0.073697SPT0.018238SPT0.288027SPT0.026868SPT0.103763SPT0.018247SPT0.053908SPT0.030719SPT0.044826SPT0.172498SPT0.145024SPT0.169048SPT0.192500SPT0.232298SPT0.162706SPT0.098428SPT0.071543SPT0.048729SPT0.032360SPT0.030886SPT0.034181SPT0.062929SPT0.147190SPT0.146844SPT0.071666SPT0.027494SPT0.235455SPT0.223070SPT0.075842SPT0.022563SPT0.023736SPT0.017868SPT0.115827SPT0.250341SPT0.035140SPT0.073697SPT0.018238SPT0.288027SPT0.026868SPT0.103763SPT0.018247SPT0.053908SPT0.030719SPT0.044826SPT0.172498SPT0.145024SPT0.169048SPT0.192500SPT0.232298SPT0.162706SPT0.098428SPT0.071543SPT0.048729SPT0.032360SPT0.030886SPT0.034181SPT0.062929SPT0.147190SPT0.146844SPT0.071666SPT0.027494SPT0.235455SPT0.223070SPT0.075842SPT0.022563SPT0.023736SPT0.017868SPT0.115827SPT0.250341SPT0.035140SPT0.073697S
-
Maximizing Parallel Downloadsresponse time (seconds)aliases
-
Maximizing Parallel Downloadsresponse time (seconds)aliases
Chart18
0.5940.781
0.3440.578
0.3281.016
0.3281.141
0.3131.313
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
SRP
PRELOAD SRP COMPONENTS
Sample Source URL:
preload OFFpreload ONpreload OFFpreload ONpreload OFFpreload ON
Summary(average of medians)dialupbroadbandlan
fspl=0fspl=1fspl=0fspl=1fspl=0fspl=1
RT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%change
00000.000.00%0.39087560.96887500.58147.90%00000.000.00%
# hostsdialupbroadbandlan
fspl=0fspl=1s=ss=mfspl=0fspl=1
RT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%change
10.6251540.844154
20.3751530.578149
40.3281521.031151
50.3131481.094148
100.3131491.297148
0.6251540.844154
0.3751530.578149
0.3281521.031151
0.3131481.094148
0.3131491.297148
SRP
00
00
00
00
00
&A
Page &P
SYC
sidDateDialup MedianDialup 95th PctlDialup Data PointsBroadband MedianBroadband 95th PctlBroadband Data PointsLan MedianLan 95th PctlLan Data Points
958104692/20/0776302662514515786484206969279779
958104692/21/0742182154610115164296222953317260
958104692/22/0754062575012814015094223781223455
958104692/23/0771882077010711875141216987265781
958104692/24/075516222229312094000212761242666
958104692/25/0763752448412512973745180906234456
958104692/26/0773002390614812814579265969232369
958104692/27/0743971700089121947461371142300063
958104692/28/07551816234471875646978907346032
958104693/1/073031152345716726700631232447623
958104693/2/07759319750491216487539791275023
958104693/3/0754851785913214224765217610245368
958104693/4/0773352296010513315047202844248461
958104693/5/0750472164112612344640224787307861
958104693/6/07442220349163142050772471234339092
958104693/7/07482818526155134452082188913093102
958104693/8/07570818837134129750072271032243862
958104693/9/0765312214013512114125273861309470
958104693/10/0758752372411414425203222711207883
958104693/11/0776722345411711514718223750209471
958104693/12/07715722484160146948522661094262554
958104693/13/0762352046817813755308228931285979
958104693/14/0771722675012512344547209984365669
958104693/15/0763132525013515474297247591276594
958104693/16/0747032504717616225219216930256377
958104693/17/0786102759411911885157199843276675
958104693/18/0768282712514713433906205984271986
958104693/19/07598424204157137549382391046345394
958104693/20/0750632066012713624500219984253178
958104693/21/07700021040215158447972031062408671
958104693/22/07632822437151137543402361072359471
SYC
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
Dialup Median
Broadband Median
Lan Median
Sheet1
Sheet1
0.5940.7810.6875
0.3440.5780.461
0.3281.0160.672
0.3281.1410.7345
0.3131.3130.813
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
average of median
Sheet3
number hostsnnumber imagesimage typeMedian Response Time# of Data PointsNumber of Hosts36 x 36 px (0.9 Kb)116 x 61 px (3.4 Kb)LargeaverageSmallMediumLargeAverageDialup
12020s=l3.1424610.5940.7813.1400.6881.0781.4686.2182.92133333334.719
21020s=l2.95324620.3440.5782.9530.4610.611.0475.7652.4744.610
4520s=l2.93724740.3281.0162.9370.6720.5471.2185.7342.49966666679.391
5420s=l2.93724650.3281.1412.9370.7350.5471.255.7342.51033333339.312
10220s=l3.5245100.3131.3133.5000.8130.5471.4228.625
12020s=m0.781247Number of Hosts36 x 36 px (0.9 Kb)
21020s=m0.57824714.719
4520s=m1.01624724.610
5420s=m1.14124749.391
10220s=m1.31324559.312
12020s=s0.594246108.625
21020s=s0.344247
4520s=s0.328247
5420s=s0.328247
10220s=s0.313245
14040s=l6.218233
22040s=l5.765236
41040s=l5.734241
5840s=l5.734244
14040s=m1.468246
22040s=m1.047246
41040s=m1.218247
5840s=m1.25245
10440s=m1.422245
14040s=s1.078247
22040s=s0.61247
41040s=s0.547246
5840s=s0.547247
10440s=s0.547245
Sheet3
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
-
Maximizing Parallel Downloadsresponse time (seconds)aliases
Chart16
0.5940.7810.6875
0.3440.5780.461
0.3281.0160.672
0.3281.1410.7345
0.3131.3130.813
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
average
SRP
PRELOAD SRP COMPONENTS
Sample Source URL:
preload OFFpreload ONpreload OFFpreload ONpreload OFFpreload ON
Summary(average of medians)dialupbroadbandlan
fspl=0fspl=1fspl=0fspl=1fspl=0fspl=1
RT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%change
00000.000.00%0.39087560.96887500.58147.90%00000.000.00%
# hostsdialupbroadbandlan
fspl=0fspl=1s=ss=mfspl=0fspl=1
RT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%change
10.6251540.844154
20.3751530.578149
40.3281521.031151
50.3131481.094148
100.3131491.297148
0.6251540.844154
0.3751530.578149
0.3281521.031151
0.3131481.094148
0.3131491.297148
SRP
00
00
00
00
00
&A
Page &P
SYC
sidDateDialup MedianDialup 95th PctlDialup Data PointsBroadband MedianBroadband 95th PctlBroadband Data PointsLan MedianLan 95th PctlLan Data Points
958104692/20/0776302662514515786484206969279779
958104692/21/0742182154610115164296222953317260
958104692/22/0754062575012814015094223781223455
958104692/23/0771882077010711875141216987265781
958104692/24/075516222229312094000212761242666
958104692/25/0763752448412512973745180906234456
958104692/26/0773002390614812814579265969232369
958104692/27/0743971700089121947461371142300063
958104692/28/07551816234471875646978907346032
958104693/1/073031152345716726700631232447623
958104693/2/07759319750491216487539791275023
958104693/3/0754851785913214224765217610245368
958104693/4/0773352296010513315047202844248461
958104693/5/0750472164112612344640224787307861
958104693/6/07442220349163142050772471234339092
958104693/7/07482818526155134452082188913093102
958104693/8/07570818837134129750072271032243862
958104693/9/0765312214013512114125273861309470
958104693/10/0758752372411414425203222711207883
958104693/11/0776722345411711514718223750209471
958104693/12/07715722484160146948522661094262554
958104693/13/0762352046817813755308228931285979
958104693/14/0771722675012512344547209984365669
958104693/15/0763132525013515474297247591276594
958104693/16/0747032504717616225219216930256377
958104693/17/0786102759411911885157199843276675
958104693/18/0768282712514713433906205984271986
958104693/19/07598424204157137549382391046345394
958104693/20/0750632066012713624500219984253178
958104693/21/07700021040215158447972031062408671
958104693/22/07632822437151137543402361072359471
SYC
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
Dialup Median
Broadband Median
Lan Median
Sheet1
Sheet1
0.5940.7810.6875
0.3440.5780.461
0.3281.0160.672
0.3281.1410.7345
0.3131.3130.813
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
average of median
Sheet3
number hostsnnumber imagesimage typeMedian Response Time# of Data PointsNumber of Hosts36 x 36 px (0.9 Kb)116 x 61 px (3.4 Kb)LargeaverageSmallMediumLargeAverageDialup
12020s=l3.1424610.5940.7813.1400.6881.0781.4686.2182.92133333334.719
21020s=l2.95324620.3440.5782.9530.4610.611.0475.7652.4744.610
4520s=l2.93724740.3281.0162.9370.6720.5471.2185.7342.49966666679.391
5420s=l2.93724650.3281.1412.9370.7350.5471.255.7342.51033333339.312
10220s=l3.5245100.3131.3133.5000.8130.5471.4228.625
12020s=m0.781247Number of Hosts36 x 36 px (0.9 Kb)
21020s=m0.57824714.719
4520s=m1.01624724.610
5420s=m1.14124749.391
10220s=m1.31324559.312
12020s=s0.594246108.625
21020s=s0.344247
4520s=s0.328247
5420s=s0.328247
10220s=s0.313245
14040s=l6.218233
22040s=l5.765236
41040s=l5.734241
5840s=l5.734244
14040s=m1.468246
22040s=m1.047246
41040s=m1.218247
5840s=m1.25245
10440s=m1.422245
14040s=s1.078247
22040s=s0.61247
41040s=s0.547246
5840s=s0.547247
10440s=s0.547245
Sheet3
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
average
-
Maximizing Parallel Downloadsresponse time (seconds)rule of thumb: use at least two but no more than four aliases
Chart16
0.5940.7810.6875
0.3440.5780.461
0.3281.0160.672
0.3281.1410.7345
0.3131.3130.813
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
average
SRP
PRELOAD SRP COMPONENTS
Sample Source URL:
preload OFFpreload ONpreload OFFpreload ONpreload OFFpreload ON
Summary(average of medians)dialupbroadbandlan
fspl=0fspl=1fspl=0fspl=1fspl=0fspl=1
RT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%change
00000.000.00%0.39087560.96887500.58147.90%00000.000.00%
# hostsdialupbroadbandlan
fspl=0fspl=1s=ss=mfspl=0fspl=1
RT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%changeRT# pointsRT# pointsdiff%change
10.6251540.844154
20.3751530.578149
40.3281521.031151
50.3131481.094148
100.3131491.297148
0.6251540.844154
0.3751530.578149
0.3281521.031151
0.3131481.094148
0.3131491.297148
SRP
00
00
00
00
00
&A
Page &P
SYC
sidDateDialup MedianDialup 95th PctlDialup Data PointsBroadband MedianBroadband 95th PctlBroadband Data PointsLan MedianLan 95th PctlLan Data Points
958104692/20/0776302662514515786484206969279779
958104692/21/0742182154610115164296222953317260
958104692/22/0754062575012814015094223781223455
958104692/23/0771882077010711875141216987265781
958104692/24/075516222229312094000212761242666
958104692/25/0763752448412512973745180906234456
958104692/26/0773002390614812814579265969232369
958104692/27/0743971700089121947461371142300063
958104692/28/07551816234471875646978907346032
958104693/1/073031152345716726700631232447623
958104693/2/07759319750491216487539791275023
958104693/3/0754851785913214224765217610245368
958104693/4/0773352296010513315047202844248461
958104693/5/0750472164112612344640224787307861
958104693/6/07442220349163142050772471234339092
958104693/7/07482818526155134452082188913093102
958104693/8/07570818837134129750072271032243862
958104693/9/0765312214013512114125273861309470
958104693/10/0758752372411414425203222711207883
958104693/11/0776722345411711514718223750209471
958104693/12/07715722484160146948522661094262554
958104693/13/0762352046817813755308228931285979
958104693/14/0771722675012512344547209984365669
958104693/15/0763132525013515474297247591276594
958104693/16/0747032504717616225219216930256377
958104693/17/0786102759411911885157199843276675
958104693/18/0768282712514713433906205984271986
958104693/19/07598424204157137549382391046345394
958104693/20/0750632066012713624500219984253178
958104693/21/07700021040215158447972031062408671
958104693/22/07632822437151137543402361072359471
SYC
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
Dialup Median
Broadband Median
Lan Median
Sheet1
Sheet1
0.5940.7810.6875
0.3440.5780.461
0.3281.0160.672
0.3281.1410.7345
0.3131.3130.813
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
average of median
Sheet3
number hostsnnumber imagesimage typeMedian Response Time# of Data PointsNumber of Hosts36 x 36 px (0.9 Kb)116 x 61 px (3.4 Kb)LargeaverageSmallMediumLargeAverageDialup
12020s=l3.1424610.5940.7813.1400.6881.0781.4686.2182.92133333334.719
21020s=l2.95324620.3440.5782.9530.4610.611.0475.7652.4744.610
4520s=l2.93724740.3281.0162.9370.6720.5471.2185.7342.49966666679.391
5420s=l2.93724650.3281.1412.9370.7350.5471.255.7342.51033333339.312
10220s=l3.5245100.3131.3133.5000.8130.5471.4228.625
12020s=m0.781247Number of Hosts36 x 36 px (0.9 Kb)
21020s=m0.57824714.719
4520s=m1.01624724.610
5420s=m1.14124749.391
10220s=m1.31324559.312
12020s=s0.594246108.625
21020s=s0.344247
4520s=s0.328247
5420s=s0.328247
10220s=s0.313245
14040s=l6.218233
22040s=l5.765236
41040s=l5.734241
5840s=l5.734244
14040s=m1.468246
22040s=m1.047246
41040s=m1.218247
5840s=m1.25245
10440s=m1.422245
14040s=s1.078247
22040s=s0.61247
41040s=s0.547246
5840s=s0.547247
10440s=s0.547245
Sheet3
36 x 36 px (0.9 Kb)
116 x 61 px (3.4 Kb)
average
-
Experiment Takeawaysconsider the effects of CPU thrashingDNS lookup times vary across ISPs and geographic locationsdomain names may not be cached
-
SummaryWhat the 80/20 Rule Tells Us about Reducing HTTP Requestshttp://yuiblog.com/blog/2007/04/11/performance-research-part-4/Browser Cache Usage Exposed!http://yuiblog.com/blog/2007/01/04/performance-research-part-2/When the Cookie Crumbleshttp://yuiblog.com/blog/2007/01/04/performance-research-part-2/Maximizing Parallel Downloads in the Carpool Lanehttp://yuiblog.com/blog/2007/04/11/performance-research-part-4/
-
14 Rules
-
14 RulesMake fewer HTTP requestsUse a CDNAdd an Expires headerGzip componentsPut CSS at the topMove JS to the bottomAvoid CSS expressionsMake JS and CSS externalReduce DNS lookupsMinify JSAvoid redirectsRemove duplicate scriptsTurn off ETagsMake AJAX cacheable and small
-
Rule 1: Make fewer HTTP requestsimage mapsCSS spritesinline imagescombined scripts, combined stylesheets
-
Image mapsserver-side
http://.../navbar.cgi?127,13client-side preferred
drawbacks:must be contiguousdefining area coordinates tedious, errors
http://www.w3.org/TR/html401/struct/objects.html#h-13.6
-
CSS Sprites Preferredsize of combined image is lessnot supported in Opera 6http://alistapart.com/articles/sprites
-
Inline Imagesdata: URL schemedata:[][;base64],
not supported in IEavoid increasing size of HTML pages:put inline images in cached stylesheetshttp://tools.ietf.org/html/rfc2397
-
Combined Scripts, Combined Stylesheets
-
Combined Scripts,Combined Stylesheetscombining six scripts into one eliminates five HTTP requestschallenges: develop as separate modulesnumber of possible combinations vs. loading more than neededmaximize browser cacheone solution:dynamically combine and cache
-
Rule 2: Use a CDN
distribute your static content before distributing your dynamic content
-
Rule 3: Add an Expires header not just for images
ImagesStylesheetsScripts%Median Ageamazon.com0/620/10/30%114 daysaol.com23/431/16/1848%217 dayscnn.com0/1380/22/111%227 daysebay.com16/200/20/755%140 daysfroogle.google.com1/230/10/14%454 daysmsn.com32/351/13/980%34 daysmyspace.com0/180/20/20%1 daywikipedia.org6/81/12/375%1 dayyahoo.com23/231/14/4100%n/ayoutube.com0/320/30/70%26 days
-
Rule 4: Gzip components you can affect users' download times90%+ of browsers support compression
-
Gzip vs. Deflate
Gzip compresses moreGzip supported in more browsers
-
Gzip: not just for HTML
gzip scripts, stylesheets, XML, JSON (not images, PDF)
HTMLScriptsStylesheetsamazon.comxaol.comxsomesomecnn.comebay.comxfroogle.google.comxxxmsn.comxdeflatedeflatemyspace.comxxxwikipedia.orgxxxyahoo.comxxxyoutube.comxsomesome
-
Gzip Configuration Apache 2.x: mod_deflateAddOutputFilterByType DEFLATE text/html text/css application/x-javascriptHTTP requestAccept-Encoding: gzip, deflateHTTP responseContent-Encoding: gzipVary: Accept-Encoding
needed for proxies
- Gzip Edge Cases
-
Rule 5: Put CSS at the top stylesheets block rendering in IEhttp://stevesouders.com/examples/css-bottom.phpsolution: put stylesheets in HEAD (per spec)avoids Flash of Unstyled Contentuse LINK (not @import)
-
Slowest is Fastest
-
Rule 6: Move scripts to the bottom scripts block parallel downloads across all hostnamesscripts block rendering of everything below them in the pageIE and FFhttp://stevesouders.com/examples/js-middle.php
-
Rule 6: Move scripts to the bottom script defer attribute is not a solutionblocks rendering and downloads in FFslight blocking in IEsolution: move them as low in the page as possible
-
Rule 7: Avoid CSS expressions used to set CSS properties dynamically in IEwidth: expression( document.body.clientWidth < 600 ? 600px : auto );problem: expressions execute many timesmouse move, key press, resize, scroll, etc.
http://stevesouders.com/examples/expression-counter.php
-
One-Time Expressionsexpression overwrites itself
P { background-color: expression(altBgcolor(this));}
function altBgcolor(elem) { elem.style.backgroundColor = (new Date()).getHours()%2 ? "#F08A00" : "#B8D4FF";}
- Event Handlerstie behavior to (fewer) specific eventswindow.onresize = setMinWidth;function setMinWidth() { var aElements = document.getElementsByTagName("p"); for ( var i = 0; i < aElements.length; i++ ) { aElements[i].runtimeStyle.width = ( document.body.clientWidth
-
Rule 8: Make JS and CSS external inline: HTML document is biggerexternal: more HTTP requests, but cachedvariablespage views per user (per session)empty vs. full cache statscomponent re-useexternal is typically betterhome pages may be an exception
-
Post-Onload Downloadinline in front pagedownload external files after onloadwindow.onload = downloadComponents;function downloadComponents() { var elem = document.createElement("script"); elem.src = "http://.../file1.js"; document.body.appendChild(elem); ...}speeds up secondary pages
-
Dynamic Inliningstart with post-onload downloadset cookie after components downloadedserver-side: if cookie, use externalelse, do inline with post-onload downloadcookie expiration date is keyspeeds up all pages
-
Rule 9: Reduce DNS lookups typically 20-120 msblock parallel downloadsOS and browser both have DNS caches
-
TTL (Time To Live)
TTL how long record can be cachedbrowser settings override TTL
-
Browser DNS CacheIEDnsCacheTimeout: 30 minutesKeepAliveTimeout: 1 minuteServerInfoTimeout: 2 minutesFirefoxnetwork.dnsCacheExpiration: 1 minutenetwork.dnsCacheEntries: 20network.http.keep-alive.timeout: 5 minutesFasterfox: 1 hour, 512 entries, 30 seconds
-
Reducing DNS Lookupsfewer hostnames 2-4keep-alive
-
Rule 10: Minify JavaScript
minify inline scripts, too
-
Minify vs. Obfuscate
minify it's saferhttp://crockford.com/javascript/jsminhttp://dojotoolkit.org/docs/shrinksafe
-
Rule 11: Avoid redirects3xx status codes mostly 301 and 302HTTP/1.1 301 Moved PermanentlyLocation: http://stevesouders.com/newuriadd Expires headers to cache redirectsworst form of blockinghttp://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
-
Redirects
-
Avoid Redirectsmissing trailing slashhttp://astrology.yahoo.com/astrologyuse Alias or DirectorySlashmod_rewriteCNAMEslog referer track internal linksoutbound links harderbeacons beware of race conditionXHR bail at readyState 2
-
Rule 12: Remove duplicate scriptshurts performanceextra HTTP requests (IE only)extra executionsatypical?2 of 10 top sites contain duplicate scriptsteam size, # of scripts
- Script Insertion Functions
-
Rule 13: Turn off ETagsunique identifier returned in responseETag: "c8897e-aee-4165acf0"Last-Modified: Thu, 07 Oct 2004 20:54:08 GMTused in conditional GET requestsIf-None-Match: "c8897e-aee-4165acf0"If-Modified-Since: Thu, 07 Oct 2004 20:54:08 GMTif ETag doesn't match, can't send 304
-
The Problem with ETagsETag for a single entity is always different across serversETag formatApache: inode-size-timestampIIS: Filetimestamp:ChangeNumberSites with >1 server return too few 304s(n-1)/nRemove themApache: FileETag noneIIS: http://support.microsoft.com/kb/922703/
-
Rule 14: Make AJAX cacheable and smallXHR, JSON, iframe, dynamic scripts can still be cached, minified, and gzippeda personalized response should still be cacheable by that person
-
AJAX Example: Yahoo! Mail Betaaddress book XML request GET /yab/[...]&r=0.5289571053069156 HTTP/1.1 Host: us.xxx.mail.yahoo.com HTTP/1.1 200 OK Date: Thu, 12 Apr 2007 19:39:09 GMT Cache-Control: private,max-age=0 Last-Modified: Sat, 31 Mar 2007 01:17:17 GMT Content-Type: text/xml; charset=utf-8 Content-Encoding: gzipaddress book changes infrequentlycache it; add last-modified-time in URL
-
Live Analysis
-
IBM Page Detailerpacket snifferWindows onlyIE, FF, any .exec:\windows\wd_WS2s.iniExecutable=(NETSCAPE.EXE),(NETSCP6.EXE),(firefox.exe)free trial, $300 licensehttp://alphaworks.ibm.com/tech/pagedetailer
-
http://alphaworks.ibm.com/tech/pagedetailer
-
Fasterfoxmeasures load time of pagesalters config settings for faster loadingFirefox extensionfreehttp://fasterfox.mozdev.org/
-
LiveHTTPHeadersview HTTP headersFirefox extensionfreehttp://livehttpheaders.mozdev.org/
-
Firebugweb development evolvedinspect and edit HTMLtweak and visualize CSSdebug and profile JavaScriptmonitor network activity (caveat)Firefox extensionfreehttp://getfirebug.com/
-
http://getfirebug.com/
-
YSlowperformance lint toolgrades web pages for each ruleFirefox extensionYahoo! internal tool
-
Conclusion
-
Takeawaysfocus on the front-endharvest the low-hanging fruityou do control user response timesLOFNO be an advocate for your users
-
Linksbook: http://www.oreilly.com/catalog/9780596514211/ examples: http://stevesouders.com/examples/ image maps: http://www.w3.org/TR/html401/struct/objects.html#h-13.6 CSS sprites: http://alistapart.com/articles/sprites inline images: http://tools.ietf.org/html/rfc2397 jsmin: http://crockford.com/javascript/jsmin dojo compressor: http://dojotoolkit.org/docs/shrinksafe HTTP status codes: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html IBM Page Detailer: http://alphaworks.ibm.com/tech/pagedetailer Fasterfox: http://fasterfox.mozdev.org/LiveHTTPHeaders: http://livehttpheaders.mozdev.org/Firebug: http://getfirebug.com/ YUIBlog: http://yuiblog.com/blog/2006/11/28/performance-research-part-1/ http://yuiblog.com/blog/2007/01/04/performance-research-part-2/ http://yuiblog.com/blog/2007/03/01/performance-research-part-3/ http://yuiblog.com/blog/2007/04/11/performance-research-part-4/YDN: http://developer.yahoo.net/blog/archives/2007/03/high_performanc.html http://developer.yahoo.net/blog/archives/2007/04/rule_1_make_few.html