Jump to content
animats

Distressed real estate - recognizing script overload

Recommended Posts

Posted (edited)

At the last Server User Group meeting, some of us were discussing sims that are in script overload, with many scripts not running. Lucia Nightfire mentioned having to sell two parcels that were in overloaded sims. Here's what script overload looks like:

distressedhector.png.b2ac59c799e9e1d0448ad7181ff77c4f.png

Hector sim statistics.  

To see this for a sim from Firestorm, select Advanced->Performance Tools->Statistics Bar, scroll down, and click twice on Scripts Run to expand it into a graph. Wait about a minute for the numbers to settle down after entering the sim. This is best seen when you're the only avi in the sim.

Notice that "Spare Time" is near zero, and "Scripts Run" is around 50% and steady. This indicates some huge constant script load coming from somewhere. Where, we don't know. Could be a bug. Could be griefing. Could be breedables. Tickets submitted to LL about such sims have so far been unanswered.

Looking around at random sims, about one in four is in this state. All the overloaded sims shown here have at most 2 avatars in them.

It's low and steady scripts run that indicates this problem. For comparison, here's a very busy sim, Calleta.

nondistressedcalleta.png.f3792232df0173bf1669af1d0f8cc6e4.png

Calleta sim. Under heavy load, but not overloaded.

Calleta sim is famous for the sheer amount of stuff it contains. Creators go there to see it. There's a lot going on. Trains are running, objects are moving, and there's a huge range of old objects to view, many of them active. Yet the sim is functioning well under load. That's the way SL is supposed to work.

A few more distressed sims, from a trip around Robin Loop in Heterocera:

distressedvine.png.8eec1ea41965503516455fd87fc3a163.png

Vine sim. Again, note the low scripts running, in a narrow range.

distressedrosieri.png.c8f14131149bc25744315d58da6b1bb1.png

Rosieri sim Only about a quarter of scripts are running there.

distressedvelda.png.99df117f7ebfdaacf9baea8f1c99d574.png

Velda sim. Overloaded in a very steady way.

Note the pattern. The sim is overloaded with no avatars around, and the load is very stable. This is abnormal. Normal, active sims show the load going up and down as things happen. Three of the 13 sims around Robin Loop are in overload like this.

A few from Zindra:

distressedcharlesville.png.70cf2b53700f1a4328cc70d5ca9e9b3d.png

Charlesville sim.

distressedvallone.png.191bda8dbfe31222b695e2d2aa7849c2.png

Vallone sim. Pathfinding is in use, but even with it off, the sim is in script overload.

Now, for contrast, here's a sim that's struggling with a huge avatar load.

overloadlondoncity2.png.473026aa73ae03a1e6e481401a8de0a6.png

London City sim. 67 avatars! Notice how different the Scripts Run bar looks. It's overloaded, but the bar is much wider. Watch London City's statistics for a while. The load goes up and down over a wide range as avatars come and go and do different things. That's very different than seeing an empty sim in script overload.

So that's the sim overload problem and how to recognize it.

In a sim under script overload, everything with scripts works badly. Menus are slow to open. Scripted objects move erratically. Vehicles become un-steerable. Newly rezzed objects have trouble starting up.

Short version: check that you're the only avi in the sim, open the Statistics panel, and look at Scripts Run. If you see that number stable and well below 100%, the sim is in trouble. If this persists, it's distressed real estate.

 

Edited by animats

Share this post


Link to post
Share on other sites
Posted (edited)

Much of this can be explained by looking at these same statistics windows.

Second Life region simulators are designed to simulate everything going on in that region from a physics/script standpoint exactly 45 times per second - no less and no more. This means that each of these 45 simulations, or "frames", should take no more and no less than 22.22 microseconds. So, the simulator starts simulating. Most of the things going on in a quiet region other than scripts only require a handful of microseconds, leaving around 19 microseconds left over to run scripts.

If all the active scripts can be run in less than 19 or so microseconds it would mean that the frame would last less than 22.22 microseconds, so, in order to keep the frame length a certain amount of "sleep" is injected into the mix. This "sleep" is also called "spare time."

If, however, all the scripts can't run in the available time a certain number of them are skipped until the next frame. If a region is running at "50% of scripts run", (with perfectly equal scripts for our example), what it means is that every script is run every second frame - they take turns.

Now lets take a look at these regions. Let's start with Calleta, which is running just about perfectly. Looking at the readout you can see that there are 3757 active scripts being run. Looking at the time details per frame at the bottom, it shows that the time to run those scripts is 16.7 microseconds and that 2.5 microseconds of "sleep" are injected into the frame to even it out.

Now look at Hector. It has 6809 active scripts running, or more than one for every two objects and almost twice what Calleta has. It has so many scripts running that only 55% can run in a single frame. However, the simulator frames appear to be running at 45 frames per second so the region won't seem "laggy." The "huge constant script load" is just a huge number of scripts.

Vine is similar - there are only 3009 scripts active, but note that the script events per second are 33% higher than Calleta. There are fewer scripts, but the ones that are there look to be very busy.

Rosieri is very interesting. Look at the bottom and notice that 12.252 microseconds of "sleep" are being injected into each frame even though only 25% of the scripts can run each frame, and that various other times like "simulator" and "agent" time are higher than the other regions? That's usually an indication that it's being griefed. The griefer looks to be using scripts with a huge amount of "sleep" in order to slow down the region. They're failing at lowering the simulator framerate but they're making scripts run very badly.

Velda and Charlesville are the same situation as Hector.

With Vallone, the extra physics time that the pathfinding system is using is taking away time that a region without active pathfinding would have available for scripts.

And London has so many avatars that it's just a hot mess. Note that every simulator frame takes five times what it should even though only 1.9 microseconds are being used per frame to run scripts.

 

 

Edited by Theresa Tennyson

Share this post


Link to post
Share on other sites
Posted (edited)

 

Quote

This means that each of these 45 simulations, or "frames", should take no more and no less than 22.22 microseconds.

Milliseconds, not microseconds.

Quote

Rosieri is very interesting. ... The griefer looks to be using scripts with a huge amount of "sleep" in order to slow down the region.

Rosieri is very interesting, but it's not clear yet what's happening there.

Calling llSleep does not stall the entire script system. It lets other scripts run. You can do an llSleep for seconds and just pause your own script. If llSleep stalled the whole script system, llSleep(60.0) would lock up all scripts in the sim for a full minute.

Quote

 

Now look at Hector. It has 6809 active scripts running, or more than one for every two objects and almost twice what Calleta has. It has so many scripts running that only 55% can run in a single frame. However, the simulator frames appear to be running at 45 frames per second so the region won't seem "laggy." The "huge constant script load" is just a huge number of scripts.

Vine is similar - there are only 3009 scripts active, but note that the script events per second are 33% higher than Calleta. There are fewer scripts, but the ones that are there look to be very busy.

Velda and Charlesville are the same situation as Hector.

 

Those need a closer look.

Here's the problem at Velda:

[Picture of breedable dinosaurs removed because it had the edit dialog open, which reveals owner name. Of course, you can go to that sim and look for yourself.]

Velda sim. Breedable dinosaurs! Aren't they cute?

veldabunnies.thumb.png.894812648a909d30c33eada0b7aee6a9.pngVelda sim. Bunnies! Even cuter. And very active.

Breedable rabbits, with 14 scripts each and a huge number of object updates per second. The rabbits are quite active. More dinosaurs inside the big black cube, too. I think we've located the problem in Velda.

Don't know about Vine and Hector yet.

 

Quote

With Vallone, the extra physics time that the pathfinding system is using is taking away time that a region without active pathfinding would have available for scripts.

The script load is bigger than that. If pathfinding is turned off, it goes from 40% of scripts running to 60%. Still can't find where the load is coming from, after an hour of examining objects. I've looked very closely at Vallone, where I have a parcel. Huge script load, few object updates. The few objects that are visibly moving are not contributing much to the load. I've taken duplicates of mine and others to an empty sim to test that.

Quote

And London has so many avatars that it's just a hot mess. Note that every simulator frame takes five times what it should even though only 1.9 microseconds are being used per frame to run scripts.

Yes. I just listed that to show a different extreme case. The other sims are overloaded at 1 or 2 avis.

Edited by animats
Censor. try 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...