[Linux] Soms lag op game-server, vinden oorzaak

Pagina: 1
Acties:
  • 106 views sinds 30-01-2008
  • Reageer

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Ik draai enkele HLDS (halflife) servers op mijn Linux bak.

Nu is er soms, meestal in de avond als er wat meer mensen zitten, plots last van lag. De pings schieten dan naar boven, maar na enkele seconden gaat alles weer terug naar 50 pings, of lager...

Nu heb ik met TOP het geheugengebruik bekeken, een HLDS proces slikt soms wel 33% van het geheugen op. Ik heb erook maar 256MB inzitten. Het CPU gebruik ligt meestal erg laag, rond de 20 % ofzo. Met een ping booster waardoor de FPS op de server omhoog gingen werd dit wel hoger, nu tegen de 50, dus die gaat er snel weer af. Het is een 1700+ CPU.

Nu ga ik een upgrade doen van 256MB naar 1024 DDR, ik hoop dat daarmee de lag af en toe verholpen wordt.

Nu wil ik alleen weten of dit echt is probleem is.
Load average: 0,43, 0.39, 0.36.

Dit ziet er niet heel slecht uit (iig niet dat het lag mag veroorzaken).

Hoge pings (+150 bijvoorbeeld...) moeten komen door het gebrek aan iets in de bak. Misschien gaat die swappen, misschien zit CPU vol. Ik zoek een tooltje dat kan meten zovan: De cpu zat tussen dat tijdstip en dat tijdstip op 90% van z'n capaciteit. Misschien ook nog een tool die het logt als belangrijke processen veel gaan swappen.

Met TOP zie ik vaak niets, onder lag ook niet. Misschien dat deze peilingen steeds op een tijdstip worden gedaan dat er ruimte is?

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Attilla
  • Registratie: Februari 2001
  • Laatst online: 23-06-2021
Welke kernel versie gebruik je ?

En verder zou het dan alleen maar aan je config kunnen liggen, denk ik. Tenzij je 3 of meer servers op die ene machine gebruikt. Hlds gebruikt gewoon veel geheugen en dat ligt gewoon aan de manier hoe het geprogrammeerd is. Eigenlijk is 2 servers op een machine met 256mb toch wel het maximum.

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Er draaien er nu 7 op, niet allemaal tegelijk in gebruik, soms 2x 16 spelers en nog een keertje 5 ofzo :X

edit:
En natuurlijk apache 1.3, mysql, php, proftpd :X :o

Ik draai kernel 2.4.25 (nieuwste stable in 2.4 reeks).

Het geheugen kan ik opvoeren, tot 2 Gig al moet het. CPU komt wat sneller aan z'n grens natuurlijk. Als er nog tweaks zijn hoor ik het graag ;) ik wil alleen niet echt onder de standaard FPS gaan zitten, dat maakt het laggy-er natuurlijk.

[ Voor 8% gewijzigd door pierre-oord op 02-03-2004 20:05 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


Verwijderd

Weet je al wat de lag veroorzaakt? Top in batch mode (top -b geloof ik) kan je periodiek via cron processen laten loggen. Mocht dat zo snel niets laten zien, is de output van vmstat, iostat cq sar van rond de tijd dat de lag optreed interesant. Met de laatste 3 is te bepalen of je in een subsysteem van je hardware (IO, cpu, memory) wellicht een bottleneck hebt.

  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025

nzyme

terror

pierre-oord schreef op 02 maart 2004 @ 20:04:
Er draaien er nu 7 op, niet allemaal tegelijk in gebruik, soms 2x 16 spelers en nog een keertje 5 ofzo :X
geheugen upgrade doen, hlds zuipt e n o r m veel ram ! 256MB is voor 14 man misschien voldoende maar niet voor 16 en al helemaal niet 2x 16. Staat ook wel in de manual dacht ik.

Je wilt weten wat die lag veroorzaakt?
Standaard debug:
eerst met een server game proberen van 14 man (bv), kijken oft lukt en dan de volgende dr bij, etc.
En niet geheel onbelangrijk: je verbindingsnelheid, en dan dus de upload.

Lag komt door een server die het allemaal niet trekt, en een hoge ping door een verbinding die het niet trekt, toch? (ik kan het verkeerd om hebben natuurlijk ;))

[ Voor 10% gewijzigd door nzyme op 02-03-2004 22:35 ]

| Hardcore - Terror |


Verwijderd

topic kick, zit namelijk ook met dit probleem, bij top heb ik nergens hoge mem/cpu loads.

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 20-02 14:43
Je verbinding snelheid?

zeroxcool.net - curity.eu


Verwijderd

server staat in een datacenter van Novaxess te schiphol-rijk.

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 11-02 20:53

Kippenijzer

McFallafel, nu met paardevlees

Voor de TS ben ik benieuwd of hij alle servers met -autoupdate draait (of iig, of auto update voor steam aanstaat). Ik zou me nl. heel goed voor kunnen stellen dat die pieken gewoon komen omdat in ene alle 7 servers bij steam opvragen of er al updates zijn.

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 20-02 14:43
Dat gebeurt alleen bij het opstarten/restarten van de server...

[ Voor 100% gewijzigd door zeroxcool op 06-03-2004 18:40 ]

zeroxcool.net - curity.eu


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
@kippenijzer: Ik ZeRoXcOol heeft gelijk geloof ik ja. Overigens zit er een bug in die hlds onder linux dat die niet eens update uit zichzelf. Dit is verholpen in een beta... maar die wil niet werken, mist een bepaald bestand. Ga ik strakjes nog ff naar kijken.

MOrgen ochtend rijdik langs bij Redbus waar m'n server @100mbit staat. Ja, mem is te weinig ik wist het al toen ik hem neerzette, maar had toen ff geen sticky bij de hand :X

Als de lag weg ik post ik het, anders ook :P

Maar wat ik dus hier ook vroeg is of er een tooltje is dat registreerd als de PC een proces even wegstopt om te swappen ofzo...

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 11-02 20:53

Kippenijzer

McFallafel, nu met paardevlees

Tja, ik draai anders mijn hlds server prima en hij update ook automagisch, met heel af een toe een uitzondering (reden : overbelaste contentservers) waarna ik hem handmatig nog een keer zijn gang laat gaan...

  • terrapin
  • Registratie: Februari 2002
  • Niet online
Onder kernel 2.4 kan je iig proberen je hlds proces te renicen naar iets laags, -11 of zo.. onder kernel 2.6 heeft dit minder invloed.
Verder kan je proberen -pingboost 2 of 3, kernel 2.6, 2.4 met hz=1000 ipv 100 in de kernel config en sys_ticrate = 1000 in combinatie met -pingboost 2 of 3.

Zie ook het archief van de hlds-linux mailinglist trouwens..

Om te kijken hoe je server draait, kan je ook 'stats' in je console typen. Voor echt smooth spelen wil je een fps die nooit lager is dan 100, de fps kan je heel erg hoog krijgen door de sys_ticrate omhoog te gooien, maar dan gaat ook de cpu belasting (fors) omhoog..

Verder kan je proberen stukje bij beetje plugins uit te zetten, bijvoorbeeld adminmod, amxmod en metamod..

Overigens kan je veel servers op een 1700 vergeten.. Een echt goede 16 spelers server is denk ik het maximaal haalbare, of misschien 2-3 redelijke 14 spelers.. de huidige linux hlds vreet CPU.. bij mij >50% met 14 spelers op de_aztec bijvoorbeeld op een athlon xp 1700+ met 728 MB ram.. (aztec is ook lagmap voor server trouwens..)

[ Voor 58% gewijzigd door terrapin op 06-03-2004 20:00 ]

The higher that the monkey can climb, The more he shows his tail


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
terrapin schreef op 06 maart 2004 @ 19:55:
Onder kernel 2.4 kan je iig proberen je hlds proces te renicen naar iets laags, -11 of zo.. onder kernel 2.6 heeft dit minder invloed.
Verder kan je proberen -pingboost 2 of 3, kernel 2.6, 2.4 met hz=1000 ipv 100 in de kernel config en sys_ticrate = 1000 in combinatie met -pingboost 2 of 3.

Zie ook het archief van de hlds-linux mailinglist trouwens..

Om te kijken hoe je server draait, kan je ook 'stats' in je console typen. Voor echt smooth spelen wil je een fps die nooit lager is dan 100, de fps kan je heel erg hoog krijgen door de sys_ticrate omhoog te gooien, maar dan gaat ook de cpu belasting (fors) omhoog..

Verder kan je proberen stukje bij beetje plugins uit te zetten, bijvoorbeeld adminmod, amxmod en metamod..

Overigens kan je veel servers op een 1700 vergeten.. Een echt goede 16 spelers server is denk ik het maximaal haalbare, of misschien 2-3 redelijke 14 spelers.. de huidige linux hlds vreet CPU.. bij mij >50% met 14 spelers op de_aztec bijvoorbeeld op een athlon xp 1700+ met 728 MB ram.. (aztec is ook lagmap voor server trouwens..)
Een 1700+ draait wel op 1,47 Ghz.. als een P200 met 8 spelers schijnt te werken ? magoe, idd, ik draai daarom ook geen ping boosters. Het nadeel van het mobo in de server is dat dit een KT266 is, en geen FSB's boven de 133 lekker vind. Maar ik hang d'r wel een systeem bij als deze vol zit, eerst het mem upgraden. CPU zit rond 50% gebruik, kan dus wel wat hebben.
offtopic:
OC monsters die 1700+-en, alleen kijken of die MP hoger kan :P oc-ed server :P


Maare, 2.4 met hz=1000 ipv 100 ? Wat is dat? Wat doet het en waar stel ik het in?

En werkt dat pingboost standaard al als optie? Zo ja, wat veranders het dat je server een pingboost krijgt?

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • terrapin
  • Registratie: Februari 2002
  • Niet online
Uhm.. hz=1000 is ergens een optie in de makefile van je kernel..
Zoek maar op "hz =1000" in google en in hlds-linux archive..

pingboost is een standaard optie:
code:
1
./hlds_run -port 27015 -pingboost 2 -game cstrike -insecure +ip 131.211.220.51  +maxplayers 14 +map de_dust

gebruik ik zelf..

Pingboost 1 & 2 zijn redelijk mild, pingboost 3 is veel extremer, zeker met een hogere sys_ticrate.. Maar zie http://list.valvesoftware.com/mailman/listinfo/hlds_linux voor veel meer info..

En overclockbaar.. mja mijn 1700+ draait gewoon op de standaardfrequentie op een cheapo sis boardje heerlijk stabiel als desktop en server tegelijk :)

Zie trouwens ook readme.txt:
code:
1
2
3
4
- Linux: Added -pingboost command line parameter.  
Currently supports three different methods ('-pingboost 1', '-pingboost 2', 
and 'pingboost 3').  
These may not work well (or at all) on some OS environments.

[ Voor 22% gewijzigd door terrapin op 07-03-2004 12:28 ]

The higher that the monkey can climb, The more he shows his tail


  • 0siris
  • Registratie: Augustus 2000
  • Laatst online: 21:56
misschien heb je wat aan de tooltjes sar, vmstat en iostat om diverse belastingen te meten?
In Debian zit dat in een package genaamd sysstat
sar zelf valt vast hier wel te downloaden.
Oh crap...ik zie net dat r3boot dit ook al had gepost, sorry.
Misschien kun je een test doen met kernel 2.6.x? Dat kost hooguit een half uur werk...

[ Voor 21% gewijzigd door 0siris op 07-03-2004 13:08 ]

ach...in een volgend leven lach je er om!


  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 11-02 20:53

Kippenijzer

McFallafel, nu met paardevlees

vmstat is inderdaad ideaal om te kijken of je in ene veel disk io of disk swap hebt op probleem punten.
Pingboost 1 zou voldoende moeten zijn (pingboost twee kan in theorie je systeem crashen en drie vreet enorm veel cpu, waardoor je meteen een 2e server neer zult moeten zetten om de 7 servers (zelfs als ze deels leeg zijn) lagloos te draaien.
En je kernel herz kun je in uit mijn hoofd /include/asm-i386/param.h in je kernel source aanpassen, daar staat wel HZ=100, verander hem in HZ=512 bijvoorbeeld en eea moet alweer beter worden (maar hogere herz vreet ook meer cpu -> alsnog maar de vraag of je die 7 erop kunt blijven draaien).

offtopic:
Ontbreekt er op je site geen verdere info over je bedrijf, zoals KvK nummer enzo? Of is het niet verplicht zoiets te vermelden?

Verwijderd

maar goed, ik draai ut (unreal tournament) servers op een celly 2 ghz met 1 gb mem @ 100mbit lijn.
soms is er echt geen lag maar af en toe wel, wat mij niet nodig lijkt.

zijn er mensen die mischien daar ervaring mee hebben?

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 11-02 20:53

Kippenijzer

McFallafel, nu met paardevlees

Simpel, neem geen celly... Games, zeker als je meer dan 1 server per systeem wilt draaien, willen cache geheugen zien... Celly heeft weinig cache -> celly zuigt... Een amd barton 512kb op lagere kloksnelheid is vele malen superieur aan een snellere met maar 256kb, voor ut en hlds bijvoorbeeld.

Verwijderd

nou p4 kopen dan maar, gelijk maar iets snellers nemen 2.6 of zo, maar twee ut servers kan een celly dat echt niet hebben dan? hoeveel kan een p4 2.6 of zo dan wel hebben?

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Kippenijzer schreef op 07 maart 2004 @ 12:48:

offtopic:
Ontbreekt er op je site geen verdere info over je bedrijf, zoals KvK nummer enzo? Of is het niet verplicht zoiets te vermelden?
Ik heb werkelijk geen idee, maar ik ben er pas net mee begonnen, en het lijkt te werken. Als het echt wat wordt, ga ik eens praten over dat soort dingen. Maar ik hoorde al wel dat je een 'vulhierietsin' minimum omzet moet hebben voor zo'n nummer enzo, dat is voorlopig nog niet zo.
-----------------------------------------------------------------------------

Dank voor de berichten mensen.

Ik moet nog even 2x 2u kasjes kopen, dan is er ruimte voor een nieuwe server. Er komt dan ook een Barton CPU in. Maar alles loopt nu stabiel. Als het nodig is kan ik meteen een duron 1600 pc neerzetten :X of haal ik een barton combinatie.

Ik heb vandaag een mem upgrade gedaan, er wordt nu maar 2 mb swap gebruikt, 8mb geheugen vrij. Linux slurpt alles gewoon op aan onzin dingen, het geheugen zit niet in de HLDS servers.

Verder had ik die lijst van valve nog nooit gezien ( :? ) dus daar ga ik eens goed naar kijken. Die kernel optie laaat ik even zo, het lijkt me niet een nodig iets bij gameservers, of is het normaal dat iedereen dat aanpast?

Bedankt voor de reply's!

In eerste bericht hebben ze het al over die HZ instelling. Is dat de snelheid waarmee de kernel iets doet ofzo? Magoe, het belast de CPU meer, dus is niet handig.

edit:
Nu ~50% usage, mem vrij etc, en nog bij 3 servers met zo'n 12 spelers, pings van 110 enzo !

Valve mag toch wel eens leren programmeren :S

[ Voor 13% gewijzigd door pierre-oord op 07-03-2004 19:01 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
0siris schreef op 07 maart 2004 @ 12:30:
misschien heb je wat aan de tooltjes sar, vmstat en iostat om diverse belastingen te meten?
In Debian zit dat in een package genaamd sysstat
sar zelf valt vast hier wel te downloaden.
Oh crap...ik zie net dat r3boot dit ook al had gepost, sorry.
Misschien kun je een test doen met kernel 2.6.x? Dat kost hooguit een half uur werk...
Nou, net was er weer lag. Overigens is er maar 800MB mem beschikbaar ofzo, van de 1,25, want die kernel-optie voor geheugen staat er niet in geloof ik :X

Ik ga van het weekeinde eens kijken wat er gebeurd als ik 2.6 erop knal.

Nu even een stukje offtopic:
- Moet ik programma's als proftpd en apache opnieuw compileren bij een nieuwe kernel?
- Zijn er al guides voor de ik geloof nieuwe versie van ATARAID onder 2.6? Ik wilde juist een raid maken onder 2.4...

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • raoulduke
  • Registratie: Oktober 2003
  • Niet online

raoulduke

Get in!

Even voor de duidelijkheid: Linux slurpt geen geheugen op voor onzin dingen. Er zit alleen de filosofie achter dat ongebruikt RAM zonde is, dus wordt er zoveel mogelijk RAM gebruikt voor disk-cache en buffers. Je zal een Linux systeem dus vrijwel altijd met >90% geheugengebruik zien, behalve als deze net geboot is omdat er dan niks te cachen valt.

Met het commando 'free' kan je zien hoeveel geheugen daadwerklijk nodig is voor je actieve processen en hoeveel voor buffers en cache gebruikt wordt.

[ Voor 19% gewijzigd door raoulduke op 10-03-2004 19:25 ]

Remember, if you have any trouble you can always send a telegram to the Right People.


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Dit vind ik er toch wel eng uit zien, er is ook maar heel weinig mem vrij, 4mb ofzo. ik heb ook nog ff hdparm gedaan, volle servers (wat zal het hebben gelagged :X ) , deze staat er ook bij. Misschien staat DMA mode niet aan oid, dat doe ik pas aan als ik bij de server ben, wil geen enge dingen doen op afstand. Overigens komt er ook een RAID1 in van 2x 80gb, ook wel vlot.

pierre:/# hdparm -t /dev/hda1

/dev/hda1:
Timing buffered disk reads: 64 MB in 5.90 seconds = 10.85 MB/sec

pierre:/# free
total used free shared buffers cached
Mem: 905084 867456 37628 0 324 346908
-/+ buffers/cache: 520224 384860
Swap: 987988 258972 729016
pierre:/#

En nog even top:
20:14:08 up 3 days, 10:39, 1 user, load average: 0.36, 0.51, 0.57
80 processes: 71 sleeping, 9 running, 0 zombie, 0 stopped
CPU states: 59.1% user, 6.3% system, 0.0% nice, 34.6% idle
Mem: 905084K total, 868096K used, 36988K free, 344K buffers
Swap: 987988K total, 258972K used, 729016K free, 347008K cached


Op dit moment spelen er 38 spelers verdeeld over de servers.

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Flying_Thunder
  • Registratie: December 2001
  • Niet online
pierre-oord schreef op 10 maart 2004 @ 19:13:
- Moet ik programma's als proftpd en apache opnieuw compileren bij een nieuwe kernel?
Als je die als binaries hebt (bv via apt-get) geinstalled hoeven die niet opnieuw geinstalled te worden na een kernel upgrade.

[ Voor 4% gewijzigd door Flying_Thunder op 10-03-2004 21:09 ]


  • Flying_Thunder
  • Registratie: December 2001
  • Niet online
edit:
oeps dubbelpost

[ Voor 92% gewijzigd door Flying_Thunder op 10-03-2004 21:09 ]


  • stunn0r
  • Registratie: Juni 2002
  • Laatst online: 13-02 10:18
je kan je server loads makkelijk bijhouden met mrtg.
dit is eigenlijk een programma om dataverkeer in kaart te brengen maar het is nogal veelzijdig.
ik kwam deze link ooit is tegen in een ander forum http://www.easyservermanagement.com/howto/mrtg.html en heb deze op mn server gezet.
Het is heel handig laad data verkeer cpu gebruik ram gebruik swap gebruik en nog wat andere dingen zien.

hiermee kan je in ieder geval zien op wat voor tijdstip het voorkomt. misschien dat je zo een patroon kan vinden?

en daarbij vind ik dat je wel erg veel processen draait op die server.

die 8 spelers op een p200 is gebaseerd op een heel oude versie van hlds. dat hoef je tegenwoordig niet meer te proberen

Verwijderd

klopt, mrtg draaien wij ook.
die grafiekjes zijn er inderdaad heel makelijk voor om je load te kunnen uit zoeken.
gebruikt geen cacti op een game server trouwens want daar gaat het ook dik van laggen.

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
stunn0r schreef op 11 maart 2004 @ 20:37:
je kan je server loads makkelijk bijhouden met mrtg.
dit is eigenlijk een programma om dataverkeer in kaart te brengen maar het is nogal veelzijdig.
ik kwam deze link ooit is tegen in een ander forum http://www.easyservermanagement.com/howto/mrtg.html en heb deze op mn server gezet.
Het is heel handig laad data verkeer cpu gebruik ram gebruik swap gebruik en nog wat andere dingen zien.

hiermee kan je in ieder geval zien op wat voor tijdstip het voorkomt. misschien dat je zo een patroon kan vinden?

en daarbij vind ik dat je wel erg veel processen draait op die server.

die 8 spelers op een p200 is gebaseerd op een heel oude versie van hlds. dat hoef je tegenwoordig niet meer te proberen
Wat ik zo ff zag was alleen dat het via een cronjob draait? Maar ook als deamon? Kan ik dus verbruik op de seconde nauwkeurig zien, of...?

Ik ga zondag kernel 2.6 installeren... brr... dan zie ik misschien iets reëler het CPU verbruik.
offtopic:
Iemand nog een oude ATX 1u kast, voor het 2e sysje...

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)

Pagina: 1