In the Avastar #14 there’s a comment of Gwyneth Llewelyn about the scaling of Second Life on page 6. She’s claming that one possible move to relieve the grid of stress would be to store the texture data, which seems to go into the hundred of Terabytes (wonder where she got this number from, I thought all data is around 34 terabytes at the moment according to this article, so I stuck with this number, so hundred of terabytes is wrong on a great scale), from outside the grid, perhaps even allowing users to store them on their own servers. While I don’t see the textures stored on the own servers, because of possible protests, she continues.
She’s stating that if that move occurs the 2000 servers of SL would be able to hold 20 million simultaneous users and this could be achieved within a month with the work of one developer!
Personally, I doubt that – really. I know they’re going to switch from their own data protocol to HTTP somewhat this year. Serving a texture is a quite simple task – provided it’s stored in a simple filesystem and not in a database. Storing textures – binary data – in a database system is always very dumb; the clever way to do it is to store the filesystem name in the database only, since the database is much, much slower to the task and adds far more complicity to it.
And, of course, the textures and so on are really not stored on one hard disk, but I guess on a logical volume or clustered filesystem. There are enough technics around to do it under Linux.
I personally think that serving the textures is not what strains the servers, because they’re loaded into the cache and that’s it, then. It’s more computing the viewing range, making database querys about the prims (if stored in database) with their textures, it is interpreting scripts, computing the locations of all the avatars, doing the physics stuff and so on. And that’s why I think even if the textures are located somewhere else that the technic now available on the main grid is not up to the task to handle 20 million users at the same time