[sldev] UDP to TCP/HTTP - performance issues?
Argent Stonecutter
secret.argent at gmail.com
Wed Nov 14 10:39:09 PST 2007
On 14-Nov-2007, at 12:07, Kent Quirk (Q Linden) wrote:
> I'm not working on this part of our systems so I am commenting only
> as an interested observer -- but consider that the growth of the
> web has spawned vast quantities of hardware and software that are
> specifically designed to solve massive scaling problems. The tools
> are better, from editors to monitoring systems. In general, HTTP-
> based protocols make a lot of sense because they're well
> understood, cacheable, etc.
HTTP does not require the behavior that I was commenting on.
One of the tools that was developed to solve massive scaling problems
is connection re-use, where multiple requests are made over the same
connection, so that the overhead of a single TCP connection is shared
by multiple exchanges. Many protocols that otherwise require multiple
connections (such as FTP, SMTP, and HTTP) support connection re-use.
This is, of course, supported in HTTP.
Another mechanism used in parallel with connection re-use (aka
streaming) is parallel connections. Instead of making one TCP
connection, you make a small fixed number of TCP connections, and use
whichever one is both appropriate and available for each separate
exchange. This increases the available bandwidth over high latency
connections (to alleviate TCP's small window size) and also mitigates
the impact of single lost packets on overall bandwidth. This is also
supported in HTTP.
If the servers at Linden Labs have support for streaming already,
this is something that could be tested in the open source client.
More information about the SLDev
mailing list