My sim Amicitia has been plagued with lag issues for the last... hm quite a few months, so this is not a recent problem. I've spent a lot of time educating myself on what "lag" is and investigating the usual sources of lag. I've read the lag articles a thousand times so I'm not new to this. I've owned this same sim for years so I'm very familiar with sim stats and what causes lag, etc.
The sympoms are that sim FPS frequently drops low enough to be visible and affect everyone's experience on the sim. It will plummet below 25 from time to time and when there are 4-5 agents on the sim it will be bogging down pretty consistently. I remember when we had 20-30 people at parties on and sim in years past and it feeling about the same.
The sim is a class 4, for one thing. We usually have 0-3 avatars there time, so it's not an excessive agent issue. The sim FPS will drop down to unnaceptable levels (visible movement difficulties and rubber banding) even though there are not any agents with outrageous attached script resource usage according to the debug dialog.
Sometimes it does this when no one is on the sim. In those cases I suspect a bad sim neighbor, and usually a sim reboot will do the trick. I'm now tracking when we get moved to another sim on reboot so I have better handle on possible bad sim neighbors but I haven't been in the past.
So it's not network lag, it's not texture lag, it's not graphics lag, it's not low GPU frames per secon, it's not low ping, it affects everyone on the sim, and it's always directly tied to the sim FPS - when it's low, the sim is lagging and when it feels laggy, sim FPS is low. So basically I'm asking what we can do about a problem with low sim FPS when the sim has more than 1-2 avatars there.
The sim frame right now breaks down like this:
Total Frame time 22.9ms
Net time 0.5
Physics 0.8
Sim 1.5
Agent 0.5 (4 agents here at the time, doing nothing)
Images 0.0
Script 19.0
Spare time 0.0
Script Events above the Time stats shows around 300 eps, give or take. Pending uploads and downloads are 0. There are 3489 active scripts and 10,260 objects.
There are no physics collisions, nothing in the Top colliders, and always low Physics time in the Time stats so it's not a physics problem on the sim.
Usually I see a significant effect on sim FPS when someone teleports in/out, which is to be expected, but that usually stabilizes and climbs back up to normal range after a minute when they are done rezzing themselves.
So from what I can see, with 18ms script time out of our 22, the sim is just maxed out on processing scripts and anything else like agent/physics updates has to steal from script time, correct? We have 0.0 spare time so there's just no slack on the sim at any given moment.
I've been watching the scripted objects on the sim to see if there are any abusive scripts. We don't have any using a high amount of script time in particular, though there are 4-5 items that are consistently using 0.2ms every time I refresh the Top Scripts window. I'm going to get those removed but they won't make much of a dent out of our 18ms total script time, I suspect.
One problem is my hipporent boxes, they each use a consistent .2 - .25ms for each rental box, and I have 22 on the sim. Yes they are all the latest mono version. But no objects over about .2-ish on the sim, so... not an issue with a few bad objects.
So am I right in that the main problem seems to be just too many scripts on the sim? Or could it be some other problem I just don't understand? If we are on a bad server I'll reboot the sim and that usually fixes the problem, I suspect because we got moved to another server. So I really don't know for sure if it's just bad sim neighbors, but this has been coming and going for months now, regardless of how many times we move servers or reboot the sim, though that does seem to fix problems with terribe FPS dips when the sim is empty. We haven't been having that problem for a while now.
I've been asking my sim renters that own the objects eating .2-ish script time on a consistent basis to remove those items and I'm getting some pushback so I just want to make sure that everything else has been ruled out. Any thoughts?