Jump to content

Understanding Server Stats and Scripts


Recommended Posts

I'm hoping someone with familiarity with SL servers can answer a few questions I have about scripts and server performance.

1. I've been told that EPS (events per second) is a more useful measure of how the sim is performing than Spare Time and that "the lower the better". On my sim it hovers around 1000/sec, which I believe is very high, although the sim has a reputation for being low lag. My Spare Time hovers around 13 seconds when traffic is low. That number obviously plummets to zero when the sim is crowded with 60-70+ avatars during an event.

2. In the debug panel, I have as of right now 2700 scripts taking a total of 3.3 ms and using 6,700,000 KB of memory. However, only 1/4 of these scripts are using time or memory. The rest are at 0.000 and 192 kb. I'm assuming that these "passive" scripts are not contributing to the EPS figure?

3. Is  memory use a relevant factor? Seven megabytes strikes me as trivial. Is it?

Are there other factors that impact sim performance? For example what is "Occlusion Queries Performed"? Is the server telling the viewer what objects/textures are occluded behind another? Is there anything to be taken from this that can lead to better performance?

Any other voodoo about how to read the Statistics panel and glean useful information from it is appreciated.

Link to comment
Share on other sites

  • Lindens
45 minutes ago, Thecla said:

Any other voodoo about how to read the Statistics panel and glean useful information from it is appreciated.

It's become hard to discover but there is a capture of old viewer help that is very stale.  Some corrections are needed but it is still a useful guide:  https://wiki.secondlife.com/w/index.php?title=Viewerhelp:Statistics

I've recently added a description of the simulator's main loop which is reflected in the statistics bar.  It isn't well-linked but you can find it here:  https://wiki.secondlife.com/wiki/Simulator_Main_Loop  as linked from https://wiki.secondlife.com/wiki/Server_architecture

Link to comment
Share on other sites

Posted (edited)

"Percentage of scripts run" seems to be the most useful metric If that drops below 100%, the region is overloaded.

For regions other than full regions, "spare time" is not too useful, because there's a throttle on how much CPU time that region can use, and that throttle seems to affect "spare time".

One of the big mysteries is that when many avatars enter a region at the same time, the region seems to run out of something and stops sending enough updates to get the avatars all loaded properly. But what is it running out of? This problem is the curse of crowds in SL.

Edited by animats
  • Thanks 1
Link to comment
Share on other sites

Posted (edited)
25 minutes ago, animats said:

One of the big mysteries is that when many avatars enter a region at the same time, the region seems to run out of something and stops sending enough updates to get the avatars all loaded properly.

This is likely the de-serialization process for the incoming avatars (scripts states, etc), that loads the sim server CPU... The more heavily scripted are the avatar's attachments, the more noticeable is the server ”hiccup” on its entrance.

Not sure how much of this process can be threaded or not (serialization probably is already, since we do not see such hiccups when avatars leave the sim), but IIRC, @Mazidox Linden was working on this kind of things a few months ago (remember the pile-on region crossing/TP tests we did back then, during the Server User Group ?). Not sure either if any part of this work has already been integrated to recent server versions...

Edited by Henri Beauchamp
Link to comment
Share on other sites

21 hours ago, Monty Linden said:

It's become hard to discover but there is a capture of old viewer help that is very stale.  Some corrections are needed but it is still a useful guide:  https://wiki.secondlife.com/w/index.php?title=Viewerhelp:Statistics

I've recently added a description of the simulator's main loop which is reflected in the statistics bar.  It isn't well-linked but you can find it here:  https://wiki.secondlife.com/wiki/Simulator_Main_Loop  as linked from https://wiki.secondlife.com/wiki/Server_architecture

Monty, thanks very much, although I have to admit that the second link is waaaay above my pay grade lol. I may frame a copy and put it on the wall in my office in SL so I look knowledgeable. I'll have to make up some response about flux capacitors to have at the ready if anyone asks me about the details.

While I think we all understand that "less is more" (less scripts, less textures, less objects, etc.) when it comes to sim performance, I want to improve my understanding of what can be done to optimize what I already have, and to identify any significant offenders.

One question...what is "simulation time" in the statistics bar? In the first link you sent, there is "sim time (physics)" and sim time (other)". Can I assume that simulation time is a combination of both of these? If so, is there anything specific to a sim build that impacts the "other" category?

Lastly, I'm wondering if anyone can confirm that with AWS, your sim may move around from core to core or server to server and from a hardware perspective there is no such thing as "old hardware" or "new hardware". I'm just curious.

Link to comment
Share on other sites

  • 1 month later...

OK I have an add-on question to this, in my never ending quest to make my sim run as well as possible, which largely concerns scripts.

At a given moment, the server stats panel says script time is 12-13 ms. However, if i go into region debug and run Top Scripts, it only shows 3.x ms total for all running scripts. Why are these numbers not the same, and what accounts for the significant difference?

Also, for anyone interested, a friend gave me a script that once put in an object, puts the object's scripts to sleep after 600s and then will wake those scripts up if someone approaches within 30m.  It works remarkably well (although not for moving objects, depending on how their movement is scripted).

Link to comment
Share on other sites

  • Lindens

The top scripts list just reports execution time.  It excludes set up and tear down overhead as well as some housekeeping for scripts.  The Statistics console gives the full slice of time given over to things script-related.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...