Page 1 of 1
Very poor performance on headless server
Posted: Fri Nov 08, 2024 9:36 pm
by tmdag
I've been playing with friends from other side of the globe for a while now. Usually I was running server from my client.
This time I wanted to create a headless server that we can all connect to. It was running on my home network as my client, but just on a separate machine.
Machine is not crazy powerful but I would expect to be enough for the game:
OS: Fedora Linux 37 (MATE-Compiz) x86_64
Kernel: 6.5.12-100.fc37.x86_64
CPU: Intel Xeon X5690 (12) @ 3.47GHz
GPU: 06:04.0 Matrox Electronics Systems Ltd. MGA G200eW WPCM450
Memory: 8545MiB / 15967MiB
So I have followed instructions (
https://wiki.factorio.com/Multiplayer), downloaded latest (
https://www.factorio.com/download) created a system service that runs factorio - all *works* as expected.
My network is decent, its a 3Gbps synchronous, headless machine utilises it via SFP+ 10Gb network adapter, which I've tested many times.
Unfortunately when 3 people connect to the server,connection performance is very poor, lagging - something that we did not experience that much when running server via client on the same network.
I've checked CPU and Memory, nothing is capping or swapping so I am not sure where that issue comes from. After googling around I found multiple posts with people complaining that headless server has overall very bad performance (
https://www.reddit.com/r/factorio/comme ... with_fast/), (
https://www.reddit.com/r/factorio/comme ... delay_bad/)
I was wondering if maybe someone could guide me and help getting to the bottom of this. I did turn on debugging info within the game, observing whenever there are any packets lost or skipped frames but couldn't see anything out of the ordinary. Also I might just not know where to look and therefore I was hoping that some smart people on this forum and/or developers could help fixing this ongoing issue.
Re: Very poor performance on headless server
Posted: Fri Nov 08, 2024 10:23 pm
by Rseding91
Thank you for the report however this is not a bug. The issue is likely the CPU you’re using on the server. It is incredibly weak compared to modern desktop processors getting only 30% the performance of desktop processors released 3 years ago.
Re: Very poor performance on headless server
Posted: Sat Nov 09, 2024 10:11 pm
by tmdag
Thanks for reply!
That would make more sense. Is there any specific element to take into consideration when choosing good hardware for headless server?
Like if i would switch to "Intel Xeon E-2336 Rocket Lake 2.9 GHz" would that be still considered as too slow for the game ?
Thanks!
Re: Very poor performance on headless server
Posted: Sun Nov 10, 2024 1:41 am
by tmdag
Also, I have checked CPU usage of factorio, and It does not justify what you are suggesting. I am barely getting to 20% of CPU usage
Is there any debug mode that would confirm your theory that CPU is to blame here ?
Code: Select all
05:31:01 PM UID PID %usr %system %guest %wait %CPU CPU Command
05:31:06 PM 1003 4799 12.40 4.20 0.00 0.20 16.60 1 factorio
05:31:11 PM 1003 4799 12.60 4.40 0.00 0.00 17.00 3 factorio
05:31:16 PM 1003 4799 12.60 4.00 0.00 0.00 16.60 1 factorio
05:31:21 PM 1003 4799 12.57 4.19 0.00 0.20 16.77 6 factorio
05:31:26 PM 1003 4799 12.40 4.40 0.00 0.00 16.80 10 factorio
05:31:31 PM 1003 4799 13.20 3.40 0.00 0.00 16.60 8 factorio
05:31:36 PM 1003 4799 13.40 4.40 0.00 0.00 17.80 8 factorio
05:31:41 PM 1003 4799 13.40 4.40 0.00 0.20 17.80 4 factorio
05:31:46 PM 1003 4799 13.60 4.20 0.00 0.20 17.80 0 factorio
05:31:51 PM 1003 4799 16.40 4.00 0.00 0.00 20.40 8 factorio
05:31:56 PM 1003 4799 12.80 5.20 0.00 0.00 18.00 6 factorio
05:32:01 PM 1003 4799 13.60 3.80 0.00 0.20 17.40 6 factorio
05:32:06 PM 1003 4799 12.40 5.20 0.00 0.00 17.60 0 factorio
05:32:11 PM 1003 4799 12.60 4.20 0.00 0.20 16.80 7 factorio
Average: 1003 4799 13.14 4.29 0.00 0.09 17.43 - factorio
Code: Select all
top - 17:36:21 up 20:47, 5 users, load average: 0.81, 1.18, 1.17
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.1 us, 0.6 sy, 0.0 ni, 95.0 id, 2.2 wa, 0.6 hi, 0.6 si, 0.0 st
MiB Mem : 15967.7 total, 3755.6 free, 6393.5 used, 5818.5 buff/cache
MiB Swap: 16272.0 total, 16270.7 free, 1.2 used. 9772.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4799 factorio 20 0 2267640 553164 36224 S 20.0 3.4 9:37.92 factorio
top - 17:36:26 up 20:47, 5 users, load average: 0.74, 1.16, 1.17
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.4 us, 0.6 sy, 0.0 ni, 97.9 id, 0.0 wa, 0.1 hi, 0.1 si, 0.0 st
MiB Mem : 15967.7 total, 3754.4 free, 6394.6 used, 5818.7 buff/cache
MiB Swap: 16272.0 total, 16270.7 free, 1.2 used. 9771.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4799 factorio 20 0 2267640 553164 36224 S 15.8 3.4 9:38.71 factorio
Code: Select all
Game FPS/UPS is around 54/61 to 60/60
latency 11ticks to 13ticks
buffer 4/2/0 to 6/4/2
jumps 0
Re: Very poor performance on headless server
Posted: Sun Nov 10, 2024 1:57 am
by Rseding91
CPU usage doesn't really mean anything when it comes to program performance. Virtually no CPUs are made equal and virtually no games can utilize all CPUs on a processor.
Just like growing a baby, what takes 1 woman 9 months to do can't be done in 1 month with 9 women. Most game logic can not utilize multiple CPU cores and so you will typically see 1-2 CPU cores at 100%.
Re: Very poor performance on headless server
Posted: Sun Nov 10, 2024 2:03 am
by Rseding91
The relative CPU performance of the server CPU you're using compared to a modern desktop CPU:
https://www.cpubenchmark.net/compare/13 ... en-9-9900X
Re: Very poor performance on headless server
Posted: Sun Nov 10, 2024 9:00 am
by tmdag
Thanks, what I understand that the game is mostly single threaded, and therefore only “20% usage” is observed.
So we are just talking about the performance per thread.
So what would be the ideal spec for the headless server here?
Re: Very poor performance on headless server
Posted: Sun Nov 10, 2024 12:48 pm
by clarity
You folk are not reading the CPU percentage correctly. When top shows 100% CPU usage, that is a single core fully utilized. If a program utilizes multiple cores, the usage will go over 100%.
Below 20% means factorio is barely using the CPU.
Re: Very poor performance on headless server
Posted: Wed Nov 13, 2024 6:12 pm
by tmdag
Thank you @clarity ! For a moment I thought i am going crazy here. You are indeed right. 20% is just 20% of a single core, not a 20% of a total CPU.
Therefore headless server indeed is utilising only 20% of a single core within the CPU and statement that CPU is too slow is not justified.
Also still would love to hear - what CPU you guys are suggesting that would indeed be expected for headless server. I don't really understand this pushback considering that i am not the only one with headless server issues.
Would love to get a professional support rather than comparing my cpu to a pregnancy...
Re: Very poor performance on headless server
Posted: Mon Nov 18, 2024 6:44 pm
by tmdag
Is there any possibility of getting some support on this topic?
At least some more in-depth information for what processor is actually considered OK for the headless server that can guarantee stability over the game?
I would love to know which specific aspects of CPU we should be looking for. This could help others with a similar issues as pointed to external links online.
Thank you!
Re: Very poor performance on headless server
Posted: Mon Nov 18, 2024 7:46 pm
by BlueTemplar
Have you managed to pinpoint when it starts lagging ? (Stage of the game ? How many and which players connect ?)
Have you tried slowing down game speed ?
P.S.: How fast is your RAM ? AFAIK that can be a bottleneck for Factorio too.