The open source metaverse

Load Tests; what are they and why are they important?

During your time in OSgrid you will have joined in a load test of some kind, and if not you probably will do in the future. But why do we conduct load tests? The most common answer that people may think is to see how long the sim will last, or how many people we can cram into a sim before it blows, but there is much more than meets the eye when it comes to load testing. A usual load test will take place on an OSgrid operated region, mainly Wright Plaza and it basically goes along the lines of; try to fill it up, see how it feels, wait until it blows, and maybe do it again.

During the time a load test is performed, grid admins are constantly watching the server where the load test is happening, and getting a feel for how things feel and react in world. Things like memory usage, CPU usage, network bandwidth are all closely monitored, as well as seeing how it feels in world; checking for rubber-banding (where and avatar walks then snaps back), checking for sinking into the ground, pushing an avatar against a solid object to see if physics are keeping up. These are all tests that are conducted every time and a general feel is gotten for how a sim is performing. Often an OSgrid binary release is released after a load test, or not as the case may be. There are some other very important things that happen occasionally during a load test dependent upon what code has been changed or fixed in the immediate past. Not long ago several OpenSim core developers made some radical changes to the way that UDP packets (the network comms) are handled in OpenSim. Before this the stability was probably at an all time low. This required some specific tests to be carried out, but could only be done under a load. The tests were to make the sim crash, and gather information about that crash, information on processes and threads (other technical stuffs ;-)), and it was important to capture the information in a way the developers could understand it, so changes were made to the code to enable this. Whilst these tests were carried out information was handed to the developers, changes were made, load tests were repeated; wash rinse repeat, over and over for a few weeks. This enabled the developers to gain the information required to put in place the fixes to make OpenSim more stable…. and the load testing and information gathering worked!

There are other reasons for load testing such as comparing the current load test to the last load test. If a succession of load tests starts to show that OpenSim can’t handle as many avatars in the sim at the same time, it acts as a warning that OpenSim is becoming less stable, and this needs to be addressed. If it transpires that stability is the same or better, it shows that things are going well with OpenSim, and often an OSgrid binary release will be made, as we want to try and keep you as up to date as possible with OpenSim revisions on this grid, though the choice is entirely up to you whether you install a new binary or not. There is another aspect of load testing too, socialising. It’s great the way people gather, stand around, sometimes do silly things, but have fun whilst doing so. Friendly chatter and banter often is the primary focus of people when participating in a load test, it can be fun.

At the time of writing there is another load test tomorrow (Friday 27th November) at Wright Plaza. Come along and help out, have a chat, meet new people all whilst helping OSgrid and OpenSim.