Profiling 0.7.0 OpenSimulator

We measured the number of active clients that could be logged into various versions of OpenSimulator. This page compares the 0.6.9-postfixes version with several monthly snapshots of the master from the development repository. The goal is to assess the performance improvements that have been introduced into the OpenSimulator trunk.

Additionally, packet type traces were taken which drove improvements in the volumes of different types of packets transmitted for the wandering bots.These improvements are shown.

Number of Clients

We modified the libopenmetaverse TestClient sample program to create and manage multiple wandering bots. All of the bots randomly wander around a flat region 1). We ran multiple instances of this modified TestClient with each instance running 100 wandering bots. The bots were logged in 25 at a time to spread out the initial login load. All these tests are run in StandAlone mode using MySQL under Windows Server 2008 running on a dual Intel® Xeon® processor 5500 server.

0.6.9-postfixes

Logging in multiple TestClient clients on 0.6.9-postfixes 2) results in the following graph.

The graph shows simulator and physics frames per second (left scale) for increasing wandering bots (right scale). At about 50 clients, 0.6.9-postfixes interaction performance drops quickly and it disconnects previously logged in clients for ACK timeouts.

069-100-neh-20100614d.jpg0.6.9-postfixes: Frames per second as wandering bots are logged in. Simulator and physics frames per second drop significantly at about 50 wandering bots.
(Click for larger version.)

'master' monthly snapshots

The OpenSimulator development branch was sampled monthly and tested. The results shown below are for “April” 3), “May” 4), “preslim” 5) and “June” 6).

All of the following graphs show simulator and physics frame rates (left scale) for increasing numbers of wandering bots (right scale).

apr-100-neh-20100614a.jpg“April” In April, the master branch performed nearly the same as the 0.6.9 with simulator frame rate suffering at about 45 bots.
(Click image for larger version)
may-500-neh-20100610b.jpg“May” Performance changes made in April (caching and animation reduction) caused the May version to perform significantly better than the previous month. The number of bots reached 250 before simulator frame rate began to suffer.
(Click image for larger version)
preslim-500-neh-20100610c.jpg“preslim” The “preslim” version is just before the “slimupdates” branch was merged. The “slimupdates” branch included packet performance updates (see below) and lockless list updates. Before these changes, performance was similar to the previous version.
(Click image for larger version)
jun-500-neh-20100614b.jpg“June” Just after “slimupdates” was merged, the number of bots before frame rate impact increased to about 350 and the frame rate decrease itself was more gradual.
(Click image for larger version)

As a final test, the wandering bot load was applied to the 0.7.0-RC1 branch. Additional performance improvements are shown by the frame rate dropping after nearly 400 wandering bots.

070-500-neh-20100614c.jpg“0.7.0-RC1” Ability to run hundreds of wandering bots is clear for the 0.7.0 release.
(Click image for larger version)

Conclusions

The 0.7.0 version of OpenSimulator will support nearly an order of magnitude more simultaneous avatars than the 0.6.9-postfixes version.

Transport Improvements

1) the algorithm is to pick a waypoint, turn toward the waypoint and then do “atpos” updates (hold down the up-arrow key) for some seconds. When the bot is either at the waypoint or the time has passed, the bot stops and waits for a few seconds before choosing another waypoint. Thus, at any time, about half of the bots are moving. Additionally, appearance baking was enabled so logging in a bot includes the texture up and downloads of a full appearance bake.
2) Jun 14, 2010: 85c20e149364dba6f171db1d2018c2149c6b102f
3) April 3, 2010: dc58c985e8850d54b09f47c7938f255cca476167
4) May 2,2010: bd49985afa0a30cf9338730807a42eff3d508bee
5) June 20, 2010: 859beaf830ecf554b82d150e6f805e096e927df7
6) June 1, 2010: b198763d6755aa6d6d0ffc078ae6715474e51732
 
 
 
 
vwperf/profiling_069_070.txt · Last modified: 2010/07/09 15:09 (external edit)
 
RSS - 2008 © ScienceSim