Jump to content

Win64 - Server - Performance - every frame over 1 second


phezzan

Recommended Posts

After playing a while server updates started to take forever. AvorionServer using 17% (2 cores pegged at 100%)

Repro - no idea. I've seen it happen in an hour, and I've seen it not happen in 6 hours.

Soon after it started I ran /benchmark (attached). Galaxy is about 1GB. 1 active player. Very little jumping.

 

Win64. Ryzen 1600 8 threads for the server /HIGH /AFFINITY 0xFF0

4 cores for the client (High priority, 4 cores not available to the server via taskmgr)

Client was responsive, but stuck (waiting for server, plenty of fps, sound)

server-perfstats 2020-09-22 00-37-13.7z serverlog 2020-09-21 22-33-25.7z

Edited by phezzan
Link to comment
Share on other sites

This particular problem may have been related to a very innocuous looking change in sector/background/warzone (deleted the mod's file - problem stopped)

 

Correction, the problem is still occurring.  Also I wish I had a way to tell the client to limit itself to 4 cores (so I could separate it cleanly from the server's cores).

 

Update: The problem started again - I was doing 2 'Investigate missing freighters' missions given by the same station at the same time. 
They were in different sectors (after the first). The performance problem ended when I destroyed all pirates in the final sector of the first mission.
It started again around the time I found the 'missing freighters' in the second mission and made them aggressive through dialogue.

That mission was modded with 2 numeric edits: credit multiplier increased and punishment divided by 2.
That file is now removed. Testing continues.
...
Still a problem.

... 
It seems like some sectors are a problem, but not all. - I've left sectors and had the terrible performance abate, if only temporarily.

...

Inspection suggests Anti-Smuggle script might be the cause. 
 

serverlog 2020-09-26 07-45-52 - Copy.7z server-perfstats 2020-09-26.7z

Edited by phezzan
Link to comment
Share on other sites

Attempting to rewrite the antismuggle scripts.

They appear to repeat a lot of work:
 - every antismuggle entity scans faction inventory (for licenses) for every ship within detection range every second (until a 'suspicious' ship is found)

- every antismuggle entity scans every ship's cargo within range (until a 'suspicious' ship is found)

So if you have a license - a ton of work is being done and ignored every second.

By caching the license found and ignoring ships that have a maxed out license, most of the work disappears when a player has the best license.

License cache is updated 10% of the time, or if the requesting faction license was not cached. It would be better to wrap the license purchase / loss events... but I don't know how.

Once a suspicious ship is found our 'stillSuspicious' check can stop at the first unlicensed good.

This has radically improved the playability of the game.  The server is not disappearing for minutes at a time.

Sometimes better - but not fixed.

 

New beta version is massively better. :D

antismuggle.zip

Edited by phezzan
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...