page-load time across browser instantiations using SPDY, 13 though a caveat
was that domain names in the study
were neither recorded nor weighted.
Google itself is thought by Google developers to be the current dominant
consumer of server-side SPDY technology so is likely overrepresented
in these results. Google sites were, in
2011, already heavily optimized, suggesting the stated improvement was
likely conservative, though further
data is needed for confirmation.
Google’s second result from the
study was that (encrypted) SPDY is
faster than (unencrypted) HTTP for
Google’s AJAX search; Google researchers provided no further detail.
Google lab tests set one. Google performed a series of laboratory benchmarks of SPDY vs. HTTP under various
conditions, though unencrypted SPDY,
which would be expected to be faster
than encrypted SPDY, was compared
against HTTP, despite SPDY deployments being predominantly encrypted.
For simulated downloads of the top
45 pages on the Web (as recorded by
Alexa), Google in 2011 reported a 51%
reduction in uploaded bytes, 4% reduction in downloaded bytes, and 19%
reduction in total packets vs. HTTP. 13
Uploaded bytes were significantly reduced due to SPDY’s header compression and the fact that HTTP headers
are amenable to strong compression.
Google reported that download bytes
were only marginally reduced, as most
downloaded content in its tests was
not headers and in many cases already
compressed. The reduction in total
packets is due to both a reduction in
overall bytes and the fact that SPDY
uses only a single connection, resulting in more “full” packets.
Google lab tests set two. A 2009
Google SPDY white paper14 described
simulated page-load time of SPDY
vs. HTTP for the Alexa top 25 Web
sites. The first test simulated SPDY
vs. HTTP with 1% packet loss over
simulated home-network connections. Unencrypted SPDY exhibited
27%–60% improvement in page-load
time, and encrypted (SSL) SPDY exhibited 39%–55% improvement in
page-load time. A second test determined how packet-loss affected SPDY
(unencrypted) vs. HTTP; at 0% packet
loss, SPDY was 11% faster, and at 2%
figure 7. httP request and response with example headers; header keys (such as
“user-agent”) and header values (such as a particular user agent string) are repeated
many times over on a typical connection so make good candidates for compression.
GET /pub/ WW W/ picture.jpg HT TP/1.1
Host: www.w3.org
…
Accept-Endcoding: gzip, deflate, sdch
User-agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6. 1; WOW64; Trident/5.0)
HTTP/1.1 200 OK
Date: Thu, 26 Jan 2012 04:16: 13 GM T
…
Server: Apache/2.2.3 (Red Hat)
Content-Type: image/jpeg
figure 8. httP is unable to push resources to the client, even when it knows the client will
require them soon (left); sPDY server push allows the server to initiate the transfer of a
resource it believes the client will need soon (right).
Standard HTTP
SPDY Server
client
REQexample.com/home
RES <html> … <img
src=" banner.jpg" /> …
REQexample.com/banner.jpg
RES [ banner.jpg]
server client
REQexample.com/home
PUSH [ banner.jpg]
server
Client
learns
it needs
banner.jpg
only after
parsing
html
RES <html> … <img
src=" banner.jpg" /> … </html>
Server
preempts
client’s
imminent
request for
banner.jpg
and pushes it,
removing
a round trip
packet loss SPDY was up to 47% faster.
A third test simulated SPDY vs. HTTP
as a function of round-trip time; for
example, for a 20ms round trip, SPDY
was 12% faster than HTTP, and for
a 200ms round trip, SPDY was 26%
faster; for a full exposition of these results, see Google. 14
Questions on SPDY performance.
There is a conspicuous lack of results
describing how SPDY performs on
mobile devices. SPDY’s dominant per-
formance improvements are due in
theory to reduced round trips between
client and server. Many mobile-carrier
technologies today exhibit latency sev-
eral times that of their fixed-line and
Wi-Fi counterparts. By some projec-
tions, the majority of the developing
world will have its first Internet experi-
ence through a mobile carrier, prolif-
erating high-latency connections. In
theory, SPDY is ideally suited to these
high-latency mobile environments,
though real-world results are needed
for confirmation.
sPDY effect on tcP connections
Though SPDY is an application-layer
protocol, it involves broader implica-