University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages...
Transcript of University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages...
![Page 1: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/1.jpg)
How$speedy$is$SPDY?�
Xiao%(Sophia)%Wang,$Aruna$Balasubramanian,$Arvind$Krishnamurthy,$David$Wetherall$
University*of*Washington*
![Page 2: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/2.jpg)
4/14/14� ��
1995� 2000� 2005� 2010� 2014�
HTTP/1.1:(The(standard(to(load(Web(pages�
HTTP/1.1'becomes(slow(for(rich,(modern(pages�
Google(developed(SPDY(to(make(the(Web(faster�
A(StarCng(to(be(deployed(A(Basis(for(HTTP/2.0(now(being(standardized�
![Page 3: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/3.jpg)
4/14/14� ��
1995� 2000� 2005� 2010� 2014�
HTTP/1.1:(The(standard(to(load(Web(pages�
HTTP/1.1'becomes(slow(for(rich,(modern(pages�
Google(developed(SPDY(to(make(the(Web(faster�
A(StarCng(to(be(deployed(A(Basis(for(HTTP/2.0(now(being(standardized�
?�How$much$better$is$SPDY$than$HTTP?�
![Page 4: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/4.jpg)
4/14/14� ��
![Page 5: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/5.jpg)
4/14/14� ��
HTTP/1.1$problems�Client�
Server�
![Page 6: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/6.jpg)
4/14/14� ��
Client�
Server�
• Opens$too$many$TCP$connections$
HTTP/1.1$problems�
![Page 7: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/7.jpg)
4/14/14� �
Client�
Server�
• Opens$too$many$TCP$connections$• Initiates$object$transfers$strictly$by$
the$client$
HTTP/1.1$problems�
![Page 8: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/8.jpg)
4/14/14� �
Client�
Server�
HTTP/1.1$200$OK\r\n$.Date:$Fri,$21$Mar$2014\r\n$.Server:$Apache/2.2.26\r\n$\r\n$********************$********************�
Uncompressed�
Compressed�
• Opens$too$many$TCP$connections$• Initiates$object$transfers$strictly$by$
the$client$• Compresses$only$HTTP$payloads,$
not$headers�
HTTP/1.1$problems�
![Page 9: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/9.jpg)
4/14/14� ��
Client�
Server�
• Opens$too$many$TCP$connections$• Initiates$object$transfers$strictly$by$
the$client$• Compresses$only$HTTP$payloads,$
not$headers�
HTTP/1.1$200$OK\r\n$.Date:$Fri,$21$Mar$2014\r\n$.Server:$Apache/2.2.26\r\n$\r\n$********************$********************�
Uncompressed�
Compressed�SPDY$is$proposed$to$address$these$issues�
HTTP/1.1$problems�
![Page 10: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/10.jpg)
4/14/14� ���
Client�
Server�
SPDY�
• Opens$too$many$TCP$connections$• Multiplexes$sliced$frames$into$a$
single$TCP$connection$
2$$$1$$$0$$$3$$$4$$$2$$$1$$$0�
![Page 11: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/11.jpg)
4/14/14� ���
Client�
Server�
SPDY�
• Opens$too$many$TCP$connections$• Multiplexes$sliced$frames$into$a$
single$TCP$connection$• Prioritizes$Web$objects$
0$$$0$$$1$$$1$$$2$$$2$$$3$$$4�
![Page 12: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/12.jpg)
4/14/14� ���
Client�
Server�
SPDY�
• Initiates$object$transfers$strictly$by$the$client$
• Allows$servers$to$initiate$Web$object$transfers$
![Page 13: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/13.jpg)
4/14/14� ���
Client�
Server�
SPDY�
********************$********************$********************$********************�
Compressed�
Compressed�
• Compresses$only$HTTP$payloads,$not$headers$
• Compresses$both$HTTP$payloads$and$headers�
![Page 14: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/14.jpg)
4/14/14� ���
SPDY$helps$27%$to$60%�
SPDY$sometimes$helps$and$sometimes$hurts.$Overall,$SPDY$helps$<%10%.�
How$well$does$SPDY$perform?�
![Page 15: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/15.jpg)
4/14/14� ���
SPDY$helps$27%$to$60%�
SPDY$sometimes$helps$and$sometimes$hurts.$Overall,$SPDY$helps$<%10%.�
Measurement$results$conflict�
How$well$does$SPDY$perform?�
![Page 16: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/16.jpg)
Goals�
• A$systematic$study$of$SPDY$that$– Extensively$sweeps$the$parameter$space$– Links$SPDY$performance$to$underlying$factors$– Identifies$the$dominant$factors$
4/14/14� ���
SPDY$v.s.$HTTP/1.1�
![Page 17: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/17.jpg)
4/14/14� ��
$
Many$factors$external$to$SPDY$affect$SPDY$
$
Isolate$factors,$sweep$the$parameter$space$%$$$$$Network$parameters$$$%$$$$$TCP$settings$%$$$$$Web$page$effects$$$$
Approach$
$$RTT$$$Bandwidth$$$Loss$rate$
$$Synthetic$objects$$$Real$objects$$$Real$pages$
$$TCP$initial$congestion$window$
Challenge$
![Page 18: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/18.jpg)
4/14/14� ��
$
Page$load$time$has$high$variance$$$$$$$
Challenge$
$
Control$source$of$variability$by$` Experimenting$in$a$controlled%network%
` Using$our%emulator%instead$of$browsers$
Approach$
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4
CD
F
Page load time (seconds)
HTTPSPDY
Variance:(0.5(second�
Difference:(0.02(second�
![Page 19: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/19.jpg)
4/14/14� ���
$
Dependencies$between$network$and$browser$computation$affect$page$loads$$$$$$$
Challenge$
Elapsed$time$Elapsed$time$
No'browser� Browser'computa<on�
Objec
ts$
Objec
ts$
![Page 20: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/20.jpg)
4/14/14� ���
$
Dependencies$between$network$and$browser$computation$affect$page$loads$$$$$$$
Challenge$
$
Preserve$dependencies.%Approach$
Elapsed$time$Elapsed$time$
Browser'computa<on�
Objec
ts$
Objec
ts$
No'browser�
![Page 21: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/21.jpg)
Outline�
• Understanding$SPDY’s$performance$with$– Synthetic$objects$– Real$objects$– Real$pages$
4/14/14� ���
![Page 22: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/22.jpg)
Outline�
• Understanding$SPDY’s$performance$with$– Synthetic%objects%– Real$objects$– Real$pages$
4/14/14� ���
![Page 23: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/23.jpg)
$$
Make$HTTP$requests�
Extensively$sweep$parameter$space�
Factors� Range�RTT� 20ms,(100ms,(200ms�Bandwidth� 1Mbps,(10Mbps�Loss(rate� 0,(.5%,(1%,(2%�TCP(IW� 3,(10,(21,(32�Web(obj.(size�100B,(1K,(10K,(100K,(1M�#(of(objects� 2,(8,(16,(32,(64,(128,(512�
4/14/14� ���
Network$parameters$
$TCP$settings$
$
Synthetic$objects$
![Page 24: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/24.jpg)
Link$SPDY$performance$to$factors�
4/14/14� ���
!$Decision$tree$analysis�
loss�
#$obj�
RTT�
BW�
IW�
obj$size�
loss�
#$obj�#$obj�
RTT� RTT� RTT�
BW� BW� BW�
IW�
SPDY�
HTTP�EQUAL�EQUAL� HTTP�
SPDY� SPDY�
SPDY� SPDY� HTTP�EQUAL�EQUAL� EQUAL�
SPDY� SPDY�EQUAL�EQUAL�
small� large�
low� high� low� high�
small� small� small�large� large� large�
low� low� low� low�high� high� high�high�
Six$factors,$Thousands$of$data$points�
![Page 25: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/25.jpg)
SPDY$helps$on$small$objects�
4/14/14� ���
loss�
obj%size�
#$obj�
RTT�
BW� BW�
IW�
SPDY�
SPDY�
SPDY� SPDY�EQUAL�
SPDY�EQUAL�
Small%(<%1.5KB)�
low� high�
small� large�
low� high�
small� large�
low� low�high� high�
$
Unlike$in$HTTP,$a$TCP$segment$can$carry$multiple$Web$objects$in$SPDY.$$$$$%
%
%
Explanation$
Why$SPDY$helps�
![Page 26: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/26.jpg)
SPDY$helps$on$large$objects,$low$loss�
4/14/14� ���
#$obj�
RTT�
BW�
IW�
obj%size�
loss�
EQUAL�
SPDY�
EQUAL�
SPDY�EQUAL�
Large%(>%1.5KB)�
Low%(<%0.5%)�
small� large�
low� high�
small� large�
low� high�
$In$HTTP,$Multiple$connections$compete$with$each$other$$! More$retransmissions%
$
$%
%
Explanation$
![Page 27: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/27.jpg)
SPDY$hurts$on$large$objects,$high$loss�
4/14/14� ��
obj%size�
loss�
#$obj�
RTT� RTT�
BW�HTTP�EQUAL� HTTP�
HTTP�EQUAL�
Large%(>%1.5KB)�
High%(>=0.5%)�
small� large�
low� low� high�high�
low� high�
$$$$$$$$$$$
In$a$single$connection,$SPDY$reduces$cwnd$more$aggressively$under$loss.$
Explanation$
Time�cw
nd�
Time�
cwnd�
1 111�
2
1�
2
1�
2
HTTP� SPDY�
loss� loss�
![Page 28: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/28.jpg)
SPDY$hurts$on$large$objects,$high$loss�
4/14/14� ��
obj%size�
loss�
#$obj�
RTT� RTT�
BW�HTTP�EQUAL� HTTP�
HTTP�EQUAL�
Large%(>%1.5KB)�
High%(>=0.5%)�
small� large�
low� low� high�high�
low� high�
$$$$$$$$$$$
In$a$single$connection,$SPDY$reduces$cwnd$more$aggressively$under$loss.$
Explanation$
Time�cw
nd�
Time�
cwnd�
1 111�
2
1�
2
1�
2
HTTP� SPDY�
loss� loss�
Most$performance$impact$of$SPDY$comes$from$a$single$TCP$connection.$
![Page 29: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/29.jpg)
Identify$dominant$factors�
4/14/14� ���
loss�
obj$size�
#$obj�
RTT�
BW�
IW�
Importance?�
![Page 30: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/30.jpg)
Identify$dominant$factors�
4/14/14� ���
RTT:$200ms$BW:$10Mbps$Loss:$0$IW:$3$obj$size:$10KB$#$obj:$8�
loss�obj$size� #$obj� RTT� BW� IW�more(important(than�
#$obj$shows$a$trend� IW$doesn’t$show$a$trend�
#$obj�
PLT$of$SPD
Y$/$P
LT$of$H
TTP�
2$$$$$$$$$8$$$$$$$16$$$$$32$$$$$$64$$$128$$$512� PLT$of$SPD
Y$/$P
LT$of$H
TTP�
TCP$IW�
3$$$$$$$$$11$$$$$$$21$$$$$$32�
![Page 31: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/31.jpg)
4/14/14� ���
HTTP/1.1� SPDY�
Load$two$objects$(10K$and$100K)�
1�
2
1� 1�1�
1�1�
2
…�1�Conn$1�
Conn$2�
Time�
cwnd�
BW�
1 1 1� 1� 1�1�…�
Time�
cwnd�
BW�
• In$our$experiments,$we$find$that$SPDY$helps$little$for$stragglers.$
1$less$RTT�
Does$SPDY$help$stragglers?�
![Page 32: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/32.jpg)
4/14/14� ���
HTTP/1.1� SPDY�
Load$two$objects$(10K$and$100K)�
1�
2
1� 1�1�
1�1�
2
…�1�Conn$1�
Conn$2�
Time�
cwnd�
BW�
1 1 1� 1� 1�1�…�
Time�
cwnd�
BW�
• In$our$experiments,$we$find$that$SPDY$helps$little$for$stragglers.$
1$less$RTT�
Does$SPDY$help$stragglers?�
This$hypothesis$is$weak$since$it$only$$argues$with$cwnd�
![Page 33: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/33.jpg)
Outline�
• Understanding$SPDY’s$performance$with$– Synthetic$objects$– Real%objects%– Real$pages$
4/14/14� ���
![Page 34: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/34.jpg)
$$
Make$HTTP$requests�
Synthetic$objects$!$Real$objects�Factors� Range�RTT� 20ms,(100ms,(200ms�Bandwidth� 1Mbps,(10Mbps�Loss(rate� 0,(.5%,(1%,(2%�TCP(IW� 3,(10,(21,(32�Web(obj.(size�100B,(1K,(10K,(100K,(1M�#(of(objects� 2,(8,(16,(32,(64,(128,(512�
4/14/14� ���
Network$parameters$
$TCP$settings$
$
Web$objects$ Top$200$Alexa$pages�
![Page 35: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/35.jpg)
SPDY$helps� HTTP$helps�
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2
CD
F
PLT of SPDY divided by PLT of HTTP
4/14/14� ���
SPDY$helps$60%$in$the$median$case$because$it$largely$reduces$retransmissions�
60%%
![Page 36: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/36.jpg)
Outline�
• Understanding$SPDY’s$performance$with$– Synthetic$objects$– Real$objects$– Real%pages%
4/14/14� ���
Browser$effects�
![Page 37: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/37.jpg)
Browser$effects�
4/14/14� ��
html$$
f.js$$
Elapsed$time$$
c.css$$
html$$
f.js$$
Elapsed$time$$
c.css$$
Assumption$that$objects$are$fetched$at$the$same$time$does$not$hold.�
![Page 38: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/38.jpg)
4/14/14� ��
html$$
f.js$$
Elapsed$time$$
c.css$$
Network%
Epload$captures$browser$effects�
• Recorder:$capture$the$dependency$graph$• Replayer:$make$network$requests$while$simulating$the$computation$portions�
Computation%
Real$network$requests�
Wait�
![Page 39: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/39.jpg)
4/14/14� ���
html$$
f.js$$
Elapsed$time$$
c.css$$
Network%
Epload$captures$browser$effects�
• Recorder:$capture$the$dependency$graph$• Replayer:$make$network$requests$while$simulating$the$computation$portions�
Computation%
Real$network$requests�
Wait�Epload$makes$experiments$reproducible�
![Page 40: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/40.jpg)
$$
Make$HTTP$requests�
Real$objects$!$Real$pages�Factors� Range�RTT� 20ms,(100ms,(200ms�Bandwidth� 1Mbps,(10Mbps�Loss(rate� 0,(.5%,(1%,(2%�TCP(IW� 3,(10,(21,(32�Web(obj.(size�100B,(1K,(10K,(100K,(1M�#(of(objects� 2,(8,(16,(32,(64,(128,(512�
4/14/14� ���
Network$parameters$
$TCP$settings$
$
Web$objects$ Top$200$Alexa$pages�
Emulate$page$loads$with$Epload�
![Page 41: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/41.jpg)
SPDY$helps� HTTP$helps�
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2
CD
F
PLT of SPDY divided by PLT of HTTP
4/14/14� ���
RTT=20ms$Bandwidth=10Mbps�
SPDY$helps$marginally$because$• Computation$and$dependencies$
increase$PLT$of$both$SPDY$and$HTTP$• Throttled$object$fetches$result$in$fewer$
retransmissions$in$HTTP$
1.0%
![Page 42: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/42.jpg)
SPDY$helps� HTTP$helps�
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2
CD
F
PLT of SPDY divided by PLT of HTTP
4/14/14� ���
RTT=20ms$Bandwidth=10Mbps�
1.0%
Dependencies$and$computation$in$real$page$loads$reduce$the$impact$of$SPDY.$
![Page 43: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/43.jpg)
Other$experiments$in$the$paper�
• Using$Server$Push$– Experimented$with$new$policy$– Saves$10%$`$30%%latency$like$mod_spdy$but$pushes$80%%less$data$
• With$SSL/TLS$– Tested$SPDY$and$HTTP$over$SSL/TLS$– Larger$latencies$but$same$conclusions�
4/14/14� ���
![Page 44: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/44.jpg)
Conclusions�
• We$experimented$with$SPDY$page$loads$over$a$large$parameter$space$
• Most$performance$impact$of$SPDY$over$HTTP$comes$from$its$single$TCP$connection$
• Browser$computation$and$dependencies$in$real$pages$reduce$the$impact$of$SPDY$
• To$improve$further,$we$need$to$restructure$the$page$load$process�
4/14/14� ���
![Page 45: University*of*Washington* - USENIX1995 2000 2005 2010 2014 HTTP/1.1:(The(standard(to(load(Web(pages HTTP/1.1'becomes(slow(for(rich,(modern(pages Google(developed(SPDY(to(make(the(Web(faster](https://reader036.fdocuments.in/reader036/viewer/2022081614/5fcf20244105416f87234c2e/html5/thumbnails/45.jpg)
4/14/14� ���
http://wprof.cs.washington.edu/spdy�