On Sat, Oct 27, 2012 at 09:52:34PM +0300, Strainu wrote:
Are there any plans for an SPDY [1] test on the
Wikimedia servers?
I'm currently doing some speed tests on a robot and I found out (not
quite to my surprise) that it's much quicker to get whole pages
(hundreds at a time) than to ask the API for each page's last edit
time. I would love to see how would the results compare when using
SPDY.
Some of us have talked a few times about SPDY -nothing too formal, no
time allocated or work being done- and checked out the options right
now. Unfortunately, a proper deployment isn't that simple:
• There aren't many implementations out there, and even less so mature
ones. Nginx is a good candidate for us because we already use it for SSL
termination, but its SPDY implementation was first release ~2 months
ago -- albeit with a large website behind it.
• SPDY is young and is being developed as a living specification; there
are already three incompatible versions out there, with SPDY/1 not
being used anymore and SPDY/3 being supported by Firefox 15 and Chrome
22 (released just 10 days ago!). Its security hasn't been proven yet
either, with an attack on it called CRIME being released a month ago.
It's a moving target and this doesn't make things easier.
• To really take advantage of SPDY and connection multiplexing, you need
to undo any domain sharding that you might have (which is for HTTP of
course a standard/best practice for everyone, incl. us). This is a
significant change in our architecture, one that can't be done from
one day to the other.
• SPDY as it is right now requires SSL. Our SSL cluster is not scaled up
yet and not ready to serve a significant portion (or all) of our
traffic. There are various problems in doing so and the solution to
some of them are in direct conflict with SPDY.
• Finally, SPDY is a bit controversial right now. A lot of smart people
are discussing about HTTP/2.0 on IETF lists and SPDY is a big part of
those discussions with various proponents but also oponnents.
For example, It looks like Varnish —that we use a lot and planning to
use even more— isn't going to support SPDY natively ever but is
instead planning architectural changes to better support HTTP/2.0,
when that comes. More on Poul-Henning Kamp's mail¹ and keynote at the
recent VUG²; I was there and asked specifically about SPDY and from
the answer I got, it doesn't seem likely that Varnish will implement SPDY
any time soon.
Now, none of this is to say that we won't try! We need all the help we
can get, so if there are interested people around there that are willing
to help, Labs is open :) We'll make sure to try and provide all the
support you might need!
Regards,
Faidon
¹:
https://www.varnish-cache.org/docs/trunk/phk/http20.html
²:
https://www.varnish-cache.org/vug6/