[Opensim-dev] Does OpenSim need to leave so many packets marked as reliable?

Justin Clark-Casey jjustincc at googlemail.com
Thu Oct 2 18:59:32 UTC 2008


Hmm, I then did the obvious thing and compared it (unscientifically) with a couple of sessions on the Linden Lab grid. 
There, reliable packets appear to compromise approximately 40% of the transfer.


-------- Original Message --------
Subject: Does OpenSim need to leave so many packets marked as reliable?
Date: Thu, 02 Oct 2008 19:32:57 +0100
From: Justin Clark-Casey <jjustincc at googlemail.com>
To: opensim-dev at lists.berlios.de

Hi there,

A vast number of the packets that we send out from OpenSim (usually >95% according to the statistics printed to the
Linden viewer log on shutdown) are marked as reliable.  This requires that the viewer respond with an ack, and it just
doesn't appear that this is done very well when a large number of reliables are sent.  A lot of acks never come and we
often appear to end up resending thousands (or in the worst case tens of thousands) of packets.

In a private experiment I've set Header.Reliable = false for the LayerDataPacket and ObjectUpdatePacket (which appear to
be the greatest sent by count, and which are currently reliable by default in libOMV).  Naturally, this cuts down the
vast number of resends (and possibly some of the packet_out_of_order messages that come out on the console log) without
any apparant ill effects.  However, my testing has been pretty limited so I'm minded to wait until Monday before making
any trunk changes, since then I can get a better load test with multiple avatars (this doesn't stop anybody else testing
of course :-)

Any opinions on this?  Is there a good reason for these packets to remain reliable (when resends are probably rare
anyway)?  libOMV appears to mark every packet as reliable by default...  and then OpenSim removes this from a couple of
them but not from others.

-- 
justincc
Justin Clark-Casey
http://justincc.wordpress.com



More information about the Opensim-dev mailing list