Linux Distro Performance Differences

Ask questions about dedicated servers here and we and other users will do our best to answer them. Please also refer to the self-help section for tutorials and answers to the most commonly asked questions.
Velsk
A regular
A regular
Posts: 34
https://www.youtube.com/channel/UC40BgXanDqOYoVCYFDSTfHA
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

If you could that would be great.

Everything is still running smooth after the upgrade. :)
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

Hey John, if you have a chance could you post the baseline nfo config for TF2? I am still having one issue with my VDS. About every 10-15 minutes there is a small warping issue on the client side. This shows up as client side extrapolation on the net_graph at seemingly random times.

I've played around with settings for sv_parallel_packentities, sv_parallel_sendsnapshot, net_queued_packet_thread, as well as min/max rates and min/max cmdrates/updaterates to no avail. I'm at a loss as to what the cause could be, as I haven't run into this issue on any server but my own.

You can see a screenshot of what I'm talking about here.
User avatar
Edge100x
Founder
Founder
Posts: 13120
Joined: Thu Apr 18, 2002 11:04 pm
Location: Seattle
Contact:

Re: Linux Distro Performance Differences

Post by Edge100x »

I'm not seeing anything that jumps out at me in that screenshot.

This is our base config for Windows, it looks like. I should adjust a few things in it now that the tick and FPS are both locked to 66.

Also try "-threads 1" on your command line, and adjusting net_queued_packet_thread to 0. Threading was just added in the Linux build and it might need further work.

Code: Select all

// Edit this to your liking. These values are very close to what I use
// for my own servers.

// Name Of Server
hostname "NFOservers.com - New server"

mp_timelimit 30
mp_fraglimit 0
mp_footsteps 1
mp_flashlight 1
mp_forcerespawn 0

// General HL Cvars
sv_contact "your@email.address"
decalfrequency 60
mp_decals 100
mp_falldamage 1
sv_cheats 0
sv_maxrate 0
sv_minrate 100000
sv_maxupdaterate 100
sv_maxcmdrate 100
sv_timeout 120
sv_allowupload 1
sv_allowdownload 1

// Rcon Stuff
rcon_password "qicbvupitzmivskdzvpy"

// Make sure the right people are banned
exec banned_user.cfg
exec banned.cfg
writeid

//files
mapcyclefile mapcycle.txt

// disable lag compensation
//sv_unlag 1

heartbeat

// important settings inserted by NFo
sv_stats 0
sv_region 1
fps_max 0

sv_parallel_packentities 0
sv_parallel_sendsnapshot 0

net_queued_packet_thread 1

net_splitpacket_maxrate 100000
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

At the bottom of the netgraph, there is that orange triangle partially obscured by the hud which shows where the warping occurred. From Valve's wiki:
When net_graphshowinterp is 1, this area shows for each client frame how much interpolation was needed. If there is a large gap between packets (packet loss, server framerate too low, etc.), then the client will have insufficient data for interpolation and will start to extrapolate. The extrapolation is shown as orange bars rising up above the while line (a run of extrapolation can be seen just to the left of the 9 marker). In addition, the very bottom pixel indicates whether a CUserCmd ("usercmd") packet was sent on that rendering frame, or held back by the client and aggregated due to the user's cl_cmdrate setting.
It seems like it mostly occurs when new players finish loading the map and join the game. Any ideas?
User avatar
Edge100x
Founder
Founder
Posts: 13120
Joined: Thu Apr 18, 2002 11:04 pm
Location: Seattle
Contact:

Re: Linux Distro Performance Differences

Post by Edge100x »

Are you testing without plugins (vanilla)? Many plugins are written to respond to join triggers.
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

I have been testing with plugins.

I just disabled sourcemod/metamod and got a full house and noticed the same problem immediately. Not every time, but about 25% of the time someone joins the game there will be a small blip on the interpolation graph accompanied by in game warping. I will try -threads 1 and see how that goes.
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

What exactly does the threads parameter do? The name implies it limits the server to a single thread but I can see in htop that it still spawns the same amount of threads.
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

The problem still occurs with -threads 1. I guess I will try -threads 3 since that seems to be the other common suggested parameter setting.
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

Same issue with -threads 3. I'm at a loss as to what the cause could be. Do you think it is a CPU issue? The box I'm on has a X3460 @ 2.80GHz.

I'm on a dual core plan, so I thought maybe setting the affinity for each srcds process to one CPU might help, but no such luck. I tried chrt -f 30 on each pid spawned by srcds and that didn't do anything either. The same issue occurs when only running one instance of srcds at a time as well.

With both servers full each CPU is at less than 40% utilization on average, so I don't see why a player connecting would cause a CPU spike and fps drop.
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

Any ideas John? I'm fresh out. I tried upgrading the kernel to 2.6.39 but that didn't help any either.

Overall it runs really smooth and I'm happy with the service, it's just when players join the game there is the chance of a big fps drop and corresponding small lag burst in game. It wouldn't be an issue if it was a clan match server where once everyone joins they're in for the duration, but for a public server it gets annoying with people constantly coming and going.
User avatar
Edge100x
Founder
Founder
Posts: 13120
Joined: Thu Apr 18, 2002 11:04 pm
Location: Seattle
Contact:

Re: Linux Distro Performance Differences

Post by Edge100x »

I imagine you've already tried this, but just to be sure: You have net_splitpacket_maxrate set to 50000 or 100000, correct? It's in the config I posted and it is a critical setting. Without it, players will see skips/blank spots in the net_graph.
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

Yes it is at 100000 right now. It's not a network issue. As you can see from the screenshot I posted earlier there are no gaps in the netgraph.

The problem is when a player enters the game (not every time, but often enough to be annoying) the server fps drops below 10 for a fraction of a second which causes a slight warp effect in gameplay. The moment when the server fps drops can be seen in the screenshot above in the interpolation area at the bottom. At all other times the fps on the server is solid at 66.66 and everything works great.

Here is the current config I am using:
// General server settings
hostname "Name"
sv_password ""
sv_lan 0
sv_region 1
sv_stats 0
sv_visiblemaxplayers 24


// Disable built in voting
sv_allow_votes 0
sv_vote_issue_nextlevel_allowed 0

// Rcon settings
rcon_password "apassword"
sv_rcon_banpenalty 15 // # minutes to ban users who fail rcon authentication
sv_rcon_log 1 // Enable rcon logging
sv_rcon_maxfailures 3 // Max # times a user can fail rcon authentication before being banned
sv_rcon_minfailures 5 // # of times a user can fail rcon authentication in sv_rcon_minfailuretime before being banned
sv_rcon_minfailuretime 10 // # of seconds to track failed rcon authentications


// Game settings
mp_timelimit 30
mp_maxrounds 4
mp_winlimit 0
mp_allowspectators 1
mp_autoteambalance 1
mp_idlemaxtime 0.5

// Server logging
log on
sv_log_onefile 1
sv_logbans 1
sv_logblocks 0
sv_logecho 0
sv_logfile 1
sv_logflush 0
sv_logsdir "logs"

// Voice settings
sv_voiceenable 1

// Bandwidth rates/settings
sv_allowupload 1
sv_allowdownload 1
sv_minrate 40000
sv_maxrate 0
sv_maxupdaterate 100
sv_minupdaterate 33
sv_mincmdrate 33
sv_maxcmdrate 100
net_splitpacket_maxrate 100000
net_queued_packet_thread 1
sv_parallel_packentities 0
sv_parallel_sendsnapshot 0

// Run in pure mode
sv_pure 1
sv_pure_kick_clients 1
I've tweaked the rate settings extensively to try and figure it out and none of them have any effect on mitigating the issue.
User avatar
Edge100x
Founder
Founder
Posts: 13120
Joined: Thu Apr 18, 2002 11:04 pm
Location: Seattle
Contact:

Re: Linux Distro Performance Differences

Post by Edge100x »

You've also tested with a completely stock server (no customizations of any kind), correct?

This is quite perplexing. I can't really think of anything that would cause this that we can adjust, if it's not a plugin or game setting. The fact that your server runs smoothly at other times tells us that it isn't a problem with the hardware or OS. It's strange that nobody else here has mentioned this problem, as well.
Velsk
A regular
A regular
Posts: 34
Joined: Sun Sep 18, 2011 9:08 pm

Re: Linux Distro Performance Differences

Post by Velsk »

Yes I have tried disabling sourcemod/metamod and the issue remains. Is it possible it's a corrupt srcds install? I've tried verify_all to see if everything checks out but I haven't tried wiping out everything and redownloading from scratch. I guess that is something to try but I feel like I'm grasping at straws now.
User avatar
Edge100x
Founder
Founder
Posts: 13120
Joined: Thu Apr 18, 2002 11:04 pm
Location: Seattle
Contact:

Re: Linux Distro Performance Differences

Post by Edge100x »

There's definitely some straw-grasping going on here now, but that's actually the stage where we often find solutions :).

Definitely try the fresh download (might as well do it to a different folder) and running the server "bone stock".
Post Reply