Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Making a case to bring back block profiling

Discussion in 'Groups & Dedicated Servers' started by rexxar, Sep 29, 2016.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. rexxar Senior Engineer

    Messages:
    1,532
    For a few glorious days, our servers had a built in profiler. It would tell you which blocks are causing lag, and by god it would even show you info for modded blocks!
    [​IMG]

    Unfortunately, the profiler had some performance issues that caused simspeed to go down the drain. My server went from a solid 60UPS to under 15. Keen's response to this problem was to push a hotfix on Wednesday(?!) that completely removed the block profiling. Now all we have is this
    [​IMG]

    We need this functionality back. This is something server admins have been wanting for a long time. It is invaluable in diagnosing exactly what is causing your server speed to drop.

    Now, there's really no two ways about it, profiling code induces overhead--lag. The first iteration of the system was poorly optimized, but it can be made better. Even if, after optimization, the profiler still has noticeable overhead, leave it in. Make it optional and default off. If an admin wants to profile their server, they can turn on the setting and deal with the performance hit while they debug the problem. Then they can turn it back off and go back to normal sim speed. Easy as that.

    To put it simply, server admins need more tools to run their servers effectively. The block profiler was an unbelievable tool, but it was yanked out from under our noses before anyone really had a chance to use it. Please bring this feature back, and show the server admins that give life to our amazing multiplayer community that Keen does actually care about them.
     
    • Agree Agree x 16
  2. Geneticus Senior Engineer

    Messages:
    1,618
    Even with improvements, it should come with a "Caution: performance drop" warning to not run it constantly. It would be nice if it could be enabled and disabled on the fly for TS w/o a restart.
     
    • Agree Agree x 2
  3. mannythemammoth Trainee Engineer

    Messages:
    1
    This is a great idea, can't agree cause this is my first post. I work closely with a few admins and the biggest complaint they get is lag, any tool to help improve server sim speed would be great.
     
  4. Shroom Trainee Engineer

    Messages:
    5
    I agree, if the functionality has already been created, and works, it should be left in as a non-default option at the very least.
     
  5. Gwindalmir Senior Engineer

    Messages:
    1,004
    From what I gathered, even mods could use it. This would have been very valuable for modders to be able to tune their own mods. I hadn't had a chance to use it yet though.

    I think the mistake was just enabling it by default.

    Here's a solution I propose to fix it:
    1. Fix the profiler itself so it's not so bad on performance.
    2. Disable the profiler by default, 90% of users don't care about it. A simple check to see if it's running will cause negligible performance overhead
    3. Use a simple timestamp difference method during updates; so if the gamelogic took XX ms, show a warning message about performance, and instruct how to turn on the profiler if the player wishes to see what's causing the issue.
      1. The timestamp calculation would only happen once per update, so it's performance impact would be negligible. In fact the game probably already does that.
      2. Due to how it works, it should adjust itself for supercomputers vs potatoes. Different machines have different performance profiles, and if a frame takes 20ms, that's bad regardless of hardware.
    4. Add an option to either the world options, and/or Debug (alt-F12) menu to enable the profiler (I vote for first option, so DS can use it).
      1. This would activate the entire profiling system, with any performance hits that may or may not come with it.
      2. This is OKAY. If we activate the profiler, we expect a performance hit.
    5. Make sure mods can use it (subject to above rule as well, mods should not be able to profile if profiler is disabled).

    Most important rule: DO NOT activate it by default. Let the player turn it on if they desire.

    This is a tool that really should just be used on an "as needed" basis by server admins and modders, with occasional SP users wanting better performance. Regular MP players connecting to a server don't care about it.
     
    • Agree Agree x 1
  6. X e r o Trainee Engineer

    Messages:
    81
    As a long-time server admin (and one that runs in DEV mode) I agree 100% with this.
    It's really annoying when there's something holding your server back (like the profiler was) and you think that the things shown in-game are the issues, when it was the profiler.

    Slightly off-but also on-topic. A while back a script (TIM) was running on a grid in the server, someone had queued up 100+ tools and the script was having issues sorting them. This caused my server with 0 people on it, to instantly crash to a point that it would not restart itself. If I attempted to start the world? the grid and script killed the server in 30 seconds. At the time i didn't know it was a script doing all this, and was attempting to fix the issue without editing the world too much.

    So, if the profiler does come back, it does need some sort of 'enable/disable' button... but the issue I had was that it was running regardless of if I told it not to or otherwise.

    Example, being that when i came into the game, i was able to see the profiler by pulling up the menu. Perhaps just have it run when an admin is in the menu for it? and have a 'this will cause a performance drop' error pop up that you have to click OK on.

    But at the same time, if the profiler finds performance issues, while causing performance issues... how are you accurately checking performance anyway?

    Honestly, it was a nice tool, and we NEED something like it. like to detect if a certain modded block or a script is lagging the server, and if it is a script, add 'disable scripts' option.

    Also, people keep complaining about 'i'm getting low fps' trying to use high graphics settings... need to tell them to lower settings somehow >.>
     
  7. SilentSymphony Apprentice Engineer

    Messages:
    201
    We definitely need the profiler back but in a less performance-destroying fashion.. Running servers for this game is often a fulltime job and most of the admins actually have jobs on top of it so it can be very infuriating on so many levels when we cant figure out the cause of an issue in a reasonable amount of time, The profiler would certainly help with that.

    Sometimes i dont think you see us at all, unlike the streamers and modders, we're just as important to keeping this game alive because we provide the places for people to play.
     
    Last edited: Sep 29, 2016
    • Agree Agree x 1
  8. Commander Rotal Master Engineer

    Messages:
    4,979
    I do not quite understand what the missing thing does but as a rule you do NOT remove features. (Can it be an oversight?) Motion supported.
     
  9. kittle Senior Engineer

    Messages:
    1,086
    Definitely bring the block profiler back. but make it work like the "enable airtightness" option . Its turned OFF by default
     
  10. Geneticus Senior Engineer

    Messages:
    1,618
    It showed what things were causing performance problems.
    --- Automerge ---
    Technically it did work like the airtightness option, it caused a performance drop when enabled :p
     
    • Informative Informative x 1
Thread Status:
This last post in this thread was made more than 31 days old.