[sldev] Proposition of cache improvment

Carlo Wood carlo at alinoe.com
Mon Apr 20 18:30:54 PDT 2009


One could use an arbitrary cache "file tree" to represent
a (frequently visited) sim, and sync it again with the servers
view of that sim using rsync.

http://en.wikipedia.org/wiki/Rsync

Rsync is a well established, stable and robust tool with
an extremely efficient way of syncing slowly changing
arbitrary data.

On Mon, Apr 20, 2009 at 09:04:15PM +0200, Laurent Laborde wrote:
> Friendly greetings !
> 
> I'm still worried about cache performance, and come with an idea \o/
> I'm still using this lovely I-Ram for my Secondlife cache. (it's a
> pci-e card with ram slot, and act as a sata hdd, *GOOD* performance)
> 
> But... from time to time i have this annoying "greyness" in recently
> visited sim that are supposed to be in cache.
> I don't believe that is because of a slow disk (it's an i-ram)
> I think that :
> - the client request the prims "map" of the sim.
> - then the client request each texture uuid for each prims.
> - it check if it's in cache, if not, it request the texture from LL server.
> 
> I got the idea of  declaring a "static object" feature (this prims
> never change and you can cache the texure uuid in a "prims cache").
> But it's not so good.
> 
> I found that a lot of crowded sim rarely change, and we could save *a
> lot* of server ressource AND increase user experience.
> 
> THE(!) Idea  :
> 1) when you log into a sim, the sim send it's "state_uuid".
> 2a) if the client have this "state" in cache, it can load  (almost?)
> everything from it's own cache.
> 2b) if not, it use the normal procedure (but still using the good(?)
> old(!) texture cache of course)
> 3) everytime something change in the sim, a new state uuid is
> generated and sim cache is discarded.
> 
> if( isInCache(state_uuid) ) {
>    LoadSimFromCache();
> } else {
>    LoadSimFromServer();
> }
> 
> that's the basic idea. it probably need a lot of tunning. Eg :
> - apply that to set of prims instead of whole sim ?
> - don't cache any scripted object ? (because it may contain texture
> change function (e.g : vendor)
> - add some estate option for tuning/controling the cache behaviour on this sim ?
> - add a "static" property to unscripted rezed object ?
> 
> My sim is very static and see 500~1500 unique visitor/day (up to
> 45000+ traffic in very good day).
> It's a shame to use a lot of ressource on something that could be
> efficiently cached (Sysadmin Inside (tm) )
> 
> *hugs*

*hugs back* :)

-- 
Carlo Wood <carlo at alinoe.com>


More information about the SLDev mailing list