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/