moria.org.uk

Mon, 30 Oct 2006

HTTP Performance

This fascinating article about HTTP performance caught my eye on Slashdot today. It parallels the W3C paper about HTTP, keep-alives and pipelining that I used as a reference while working on zsync. zsync uses HTTP 1.1 with keep-alive and pipelining, and certainly has terrible performance without it.

The most interesting thing is how the whole article is really about problems caused by not having pipelining enabled by default in web browsers. The recommendation ‒ run 4 different hostnames, as a way of raising the browser based restriction (actually mandated by the HTTP RFC) on the number of connections in parallel to the same site from 2 to 8 ‒ is effectively saying that the system as-is is broken. The RFC limits to 2 connections at a time because there is a tragedy of the commons here: every individual user gains by opening as many parellel connections as they can, but this hurts overall network performance (HTTP keep-alives are designed specifically to avoid having one HTTP connection overhead per HTTP request). Having lots of connections reduces latency, but it creates a lot of TCP connection overhead on the network and for the server.

The article is up-front about the fact that the performance problems are all solved by enabling pipelining. The discussion of upstream bandwidth is interesting, and I hadn't considered the effect of asymmetric Internet connections in this light before. But the upstream bandwidth wouldn't affect the latency (except for the first request) if pipelining was used; zsync works fine on ADSL, because it uses pipelining to transmit the next request up while the current one is being received down. Upstream bandwidth could still affect latency, but far less than the effect the article shows for servers without pipelining; and making multiple connections would certainly do no better.

Since the owners of broken servers are free to disable HTTP 1.1 keep-alives, or just put a proxy in front, I second the idea of just turning on pipelining in the mainstream browsers. HTTP 1.1 already solved this problem. The only reason we aren't benefitting from the solution is that it is disabled due to broken servers; but they will never be fixed if the option is never turned on.

[20:59] | [/computers/zsync] | #

Mon, 23 Oct 2006

kye 0.9.2

This release is mostly about code cleanup. I think all the major code commenting & reorganisation that I have wanted to do is now complete, so I should have only minor changes to make before I make the first stable release. 1.0 is not far away now.

This release fixes some problems with the game recording feature. And I have rewritten the status bar, so that the hint text is now displayed in a tooltip if it is too long to fit in the normal display.

Available here.

[21:50] | [/games/kye] | #

Thu, 12 Oct 2006

Another package

Mattias Drochner wrote to let me know that NetBSD has had a package of Kye for some time.

[20:19] | [/games/kye] | #

Tue, 10 Oct 2006

Packaged

João Pinto has created an unofficial package of Kye suitable for Ubuntu 6.06, available here.

[20:10] | [/games/kye] | #

Sun, 08 Oct 2006

kye 0.9.1

This release does not contain much new from the user's point of view. I have been improving the error handling in several areas, so file and permissions errors should be less likely to result in a crashed interface; common problems like images.tar.gz being inaccessible should result in error messages in a dialog box now. The lack of other changes needed is partly due to getting little feedback, as you would expect for a pre-v1 version of a game few people know of, and there being few bugs to fix.

Internally, I have been doing a lot of cleaning up of the code: I learned python from a python-1.5 reference book that I bought from a remainders bookshop some years ago, so I have been using a lot of rather… old python idioms. So I have been doing a lot of code refactoring to make it a bit more modern and readable. There is still more to do here; on the bright side, given the lack of any other bugs, I should be ready to do a v1.0 when the code clean-up is done.

The new version is available from the python Kye page.

[14:55] | [/games/kye] | #

Maths A-Level 2006

Ever a person of habit, I decided to look at the numbers for maths A-level, as I have done in the previous 2 years.

There is a rise in numbers for 2006:

The government press release highlights this as the big success of the year, and declares that the trend has been reversed. Indeed this is true, as far as it goes: maths has risen as a percentage of A-levels back to the level of 2 years ago.

Of course, there is a lot of ground to cover before the damage of the previous trend is fully unwound:

The rise in the number of A grades has taken this to an almost absurd 43.5% of candidates. The number of A grades is up 20% in 5 years, against the decline in numbers taking the exam. One has to wonder if making the exam easier is doing more to encourage people to take the exam than any of the other measures taken.

Maths now has the highest percentage of A grades of any subject except for… further maths, and Irish (going by the available figures). Out of the major subjects (which I'm calling those with more than 10,000 entrants), the next highest A-rate is French at 36.2%. How long will they let maths continue to give such relatively high grades, I wonder.

(All figures for 2001 onwards taken from the JCQ press releases.)

(Previous discussion.)

[14:18] | [/maths] | #

Colin Phipps.
Archives
January 2007
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
Web Sites
zsync
PrBoom
About Kye
Credits
Blosxom
Powered by
Blogs that link here
[Valid Atom]