Jump to content

Looking for documentation - server performance optimization


Platipus

Recommended Posts

Looking for documentation - server performance optimization


  •  

I was wondering if there are any good websites that go over performance optimization for people hosting their own servers. I'm running a cluster on my own hardware, but the performance of the server seems to be very disk access heavy. I think it has to do with paging operations I would like to prevent, and keep as much operating data as possible in RAM. Artificially keeping the page file at a low size seems to crash the server instead of forcing more data into working memory.

Please let me know if there are good guides out there for server configuration optimization. I can obviously google "ark server configuration" and come up with a few links (some noted below), but I don't seem to see any guides on performance optimization.

 

Example sites I can find that show server config settings, but fall short of optimization discussions.

https://ark.gamepedia.com/Server_Configuration

http://arksurvivalevolved.gamewalkthrough-universe.com/dedicatedservers/settings/Default.aspx

 

Link to comment
Share on other sites

Reducing the paging file or scrapping it is a false economy and has no positive impact on a server.

The best improvement I got was with changing the Engine.ini file...

[/script/onlinesubsystemutils.ipnetdriver]
NetServerMaxTickRate=15

This reduced the RAM and CPU usage with no noticeable effect on players.


I also have slightly different auto-save frequencies on my maps, to reduce the chance of them all saving at the same time.


Finally, install an M2 SSD if you can.
 

 

Link to comment
Share on other sites

On 11/3/2019 at 9:21 AM, Platipus said:

I was wondering if there are any good websites that go over performance optimization for people hosting their own servers. I'm running a cluster on my own hardware, but the performance of the server seems to be very disk access heavy. I think it has to do with paging operations I would like to prevent, and keep as much operating data as possible in RAM. Artificially keeping the page file at a low size seems to crash the server instead of forcing more data into working memory.

That makes sense. The reason the paging file exists is to be a safety valve so the computer can "pretend" that it has more RAM that it does. If your programs require more memory than the RAM+PagingFile then computer will crash.

You can achieve the same result on a personal PC by disabling the paging file and running a bunch of programs, eventually the programs will exceed the amount of RAM you have on the computer and it will crash.

On 11/3/2019 at 9:21 AM, Platipus said:

Please let me know if there are good guides out there for server configuration optimization. I can obviously google "ark server configuration" and come up with a few links (some noted below), but I don't seem to see any guides on performance optimization.

There's very little you can to do optimize ARK itself, including a dedicated ARK server. ARK is a resource hog and nothing you can do will change that. The recommendation I see most frequently on the forums (from people who's knowledge I trust) is at least 1 thread and 8GB of RAM per ARK server that you're running on a machine plus whatever resources are required to run the O/S.

Example 1: If you're running a single dedicated ARK servers on a windows machine, you want at least 12GB of RAM (4GB for Windows and 8GB for ARK) and a two CPU threads (depending on what brand/model of CPU you have that could either mean a single-core CPU that runs two threads, or a dual-core CPU that runs 1 thread per CPU (obviously those would be fairly old machines at this point, I'm not even sure you can find a dual-core CPU anymore, much less a single core that runs two threads, but you get the idea.

Example 2: if you're running three ARK servers (let's say The Island, Ragnarok and Aberration) on a Linux machine, you want at least 26GB of RAM and a 4-thread CPU (24 GB of RAM and 3 threads for the 3 ARK servers plus 2 GB of RAM and a thread for the Linux host server.

Link to comment
Share on other sites

  • 4 weeks later...

Appreciate the responses, sorry it's been a bit since I checked my own thread.

To answer questions:  I'm running the server in a virtual machine on a dual core xeon workstation I bought (192GB total memory, 8 cores per proc \ 16 total cores, 1TB M2 NVMe). The VM does not have all the resources of the host, for the number of players I run (less than 20 between all arks, running each official map) I've been good with 6 cores and 24 GB memory. When I check the resource monitor, it's always the disk access that is heavy, with most of the disk access on pagefile.sys. I've been keeping the page file a static size, and it seems I need about 2GB of pagefile per Ark otherwise I get performance problems. Ram \ Proc usage never get to the limits I set. I've only visually checked with resource monitor, I haven't logged performance with perfmon but that hasn't really seemed necessary.

I've got proc \ memory to spare, so it would be nice to see if there's a way I can reduce the dependency on paging operations. It seems to be a hard coded dependency. If I lower the pagefile to less than 2 GB (running 1 ark) I get problems, even if I'm running an insane amount of memory. I could move the paging file to a ramdisk but I prefer to keep third party software to an absolute minimum (I may end up doing this anyway).

And for anyone who thinks it's an outrageous setup, it's just a used HP workstation I bought from amazon, anyone can pick one up for about $800 USD, plus another $200 for the NVMe. Used Dell workstations run about the same. It's older hardware using DDR3 memory, but works great for running servers. A grand is a chunk of change to drop, but it's not outrageous for the performance.

Link to comment
Share on other sites

On 11/27/2019 at 11:25 PM, Platipus said:

To answer questions:  I'm running the server in a virtual machine on a dual core xeon workstation I bought (192GB total memory, 8 cores per proc \ 16 total cores, 1TB M2 NVMe). The VM does not have all the resources of the host, for the number of players I run (less than 20 between all arks, running each official map) I've been good with 6 cores and 24 GB memory. When I check the resource monitor, it's always the disk access that is heavy, with most of the disk access on pagefile.sys. I've been keeping the page file a static size, and it seems I need about 2GB of pagefile per Ark otherwise I get performance problems. Ram \ Proc usage never get to the limits I set. I've only visually checked with resource monitor, I haven't logged performance with perfmon but that hasn't really seemed necessary.

I've got proc \ memory to spare, so it would be nice to see if there's a way I can reduce the dependency on paging operations. It seems to be a hard coded dependency. If I lower the pagefile to less than 2 GB (running 1 ark) I get problems, even if I'm running an insane amount of memory. I could move the paging file to a ramdisk but I prefer to keep third party software to an absolute minimum (I may end up doing this anyway).

And for anyone who thinks it's an outrageous setup, it's just a used HP workstation I bought from amazon, anyone can pick one up for about $800 USD, plus another $200 for the NVMe. Used Dell workstations run about the same. It's older hardware using DDR3 memory, but works great for running servers. A grand is a chunk of change to drop, but it's not outrageous for the performance.

The heavy disk access sounds like it's probably a by product of running your ARK servers inside of a VM, but I'm semi-guessing there because Windows will do that no matter what applications you're using and no matter how much RAM you have to spare. Windows is funny like that, no matter how much RAM you have it will still consistently use the page file even though there is no good reason for it. I'm sure there's some logic over at Windowsland HQ for why they have designed the O/S to behave that way, but in my experience the only way to prevent the system from using the page file is to disable it completely and as long as you have enough RAM that shouldn't cause any issues. If you allocate a page file that's "too small", Windows won't like it and it will misbehave, but if you disable the page file completely then the O/S is better behaved, it's a quirk that I've never been able to figure out.

The only downside of completely disabling the page file is that if you ever do truly run out of RAM the machine will crash almost instantly, without warning, and it almost certainly won't give you good logging of what happened, so if you want to try it then you want to be well and truly sure that you have RAM to spare.

Link to comment
Share on other sites

On 11/27/2019 at 11:25 PM, Platipus said:

And for anyone who thinks it's an outrageous setup, it's just a used HP workstation I bought from amazon, anyone can pick one up for about $800 USD, plus another $200 for the NVMe. Used Dell workstations run about the same. It's older hardware using DDR3 memory, but works great for running servers. A grand is a chunk of change to drop, but it's not outrageous for the performance.

Just out of curiosity, what specific model do you have?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...