Linden Lab Improving HTTP Communications

In a welcome, but maybe geeky language blog post, Linden Lab provide information that they are Raising The Roof : The HTTP Project. This is good stuff and is the sort of blog post that I personally wish Linden Lab had been publishing for many a year. I appreciate that for some people the information isn’t easy to follow, but the bottom line is that this project should improve people’s Second Life experience.

The blog post includes a graph, which is extremely important because it demonstrates how the HTTP project has improved performance, particularly in areas such as texture fetching. This is where we come back to a pet peeve of mine, Linden Lab’s lack of communication. The reason I raise this is because when people have been having latency issues in Second Life in the past, one piece of advice has been to turn off HTTP textures. When you see where performance started with fetching HTTP textures, you can see why that may have made sense. However with the performance improvements the Lab are blogging about, turning off HTTP textures becomes less of a good piece of advice, although as the blog post points out, some matters are outside of LL’s control and therefore your mileage in performance may vary.

The blog post also talks about the future and whereas the reality is that people who are further away from grid services are likely to have slower ping times, there is work in place to try and mitigate those issues in terms of HTTP Pipelining. The blog post states:

As significant as the above changes are, they still leave most users under a ceiling strongly influenced by ping time. Europe and Asia are usually over 100 ms and South Africa often reports 250 ms. There will always be a ‘ping tax’ on those who are far from grid services. But there is something we can do: HTTP pipelining.

Pipelining reduces the impact of ping time by issuing multiple HTTP requests at once without waiting for responses. This will allow our servers to keep filling the download stream rather than stalling between requests. Mesh and texture fetching will get first crack at pipelining. There will be new problems to discover. An essential library, libcurl, has only just started supporting pipelining. We will need to update some of our services as well. But those will be solved and asset fetches will begin to operate in region ‘D’.

To understand what Region D means you’d have to see the graph in the blog post, but take it from me, it means improvements. Obviously in Information Technology, improvements can sometimes go askew, so have patience with this but it is wonderful to see Linden Lab blowing their own trumpet.

There’s a lot more information in the blog post, it is certainly worth a read, even if some of the discussion goes over your head, it’s really good that Linden Lab are talking up their work in the background, it’s a very welcome move and long may it continue.

Now, when will they implement inworld object DNS to help another aspect of HTTP communications in Second Life? Ah well, one can always live in hope!


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Follow

Get the latest posts delivered to your mailbox: