We added a new tool for monitoring world performance. We also wrote a new guide for detecting and fixing world performance problems, and added an option to manually stop a running world.
Monitor World Performance
OpenSim provides world owners with the freedom to create large worlds with many prims and complex scripts, but this freedom can come at the cost of performance. As a world owner it’s important to make sure that your worlds perform well, because slow worlds cause a bad user experience: the world appears slowly around the user; animations are choppy; and moving in the world is frustrating because the avatar appears to jump from place to place instead of moving smoothly.
You can now check the performance of your world using the Active World panel, which appears in the world’s World Page while the world is active. This panel contains the following information:
- Active Time – how long the world has been active in the current session.
- Visitors – the current number of avatars in the world.
- CPU (Number) – the current CPU usage of the world.
- CPU (Graph) – a history of the CPU usage.
- Packets (Graph) – the number of networking packets sent between the world and the viewers that are connected to it.
The graphs appear shortly after the world has started, and they update automatically every 30 seconds.
- In both graphs, the horizontal axis shows the time (in the UTC time zone).
- In both graphs, the left vertical axis shows the number of visitors in the world. This statistic is drawn using the yellow line.
- In the CPU graph, the right vertical axis shows the CPU usage.
- In the Packets graph, the right vertical axis shows the number of packets.
These graphs make it easy to see how the number of visitors in the world affects the CPU and bandwidth usage. It’s natural for worlds to use more CPU resources as the number of visitors increases. However, if the world is using a lot of CPU resources even when it has few visitors then the world probably needs to be optimized.
You can use the Stop world link to force the world to stop. This is rarely needed, since worlds automatically stop a few minutes after the last visitor has left them. However, sometimes you might believe that the world is behaving badly and you want to restart it, and in that case stopping the world explicitly saves the normal delay that occurs between the time that the last visitor has left the world and when the world is stopped. This also enables you to stop a world even if there are avatars inside it.
Stopping a world is also useful for fixing the rare error of “ghosted avatars”. Avatar ghosting occurs when the simulator fails to detect that a user has closed their viewer. This leaves their avatar in the world, and prevents them from entering it again. Restarting the world removes the ghosted avatar.
After the world has stopped, enter the world again in order to restart it.
A Guide for Optimizing World Performance
We wrote a detailed new guide that describes all the tools available for checking the world’s performance, and how to fix various performance problems. See: Optimize World Performance. The guide contains the information that was included in this blog post, and much more.
If you see that your world is using a lot of CPU then you should consult this guide to find how to make the world perform better, which will improve the experience of your visitors.