MC-server, prestandatips

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001

MC-server, prestandatips

Har en MC-server jag hostar och spelar på. Tycker att prestandan är kass, en del rubberband och sådant. Framför allt verkar den degenerera efter hand så man behöver starta om. Vi är tre personer som spelar mest, för när det kommer in fler dyker det alltid upp något mög med prestandan efter hand som får folk att tröttna. Är själv inte helt ansvarig för själva MC-mjukvaran, så inte testat allt för mycket.

Hårdvara:
2*Xeon E5645, totalt 12 kärnor/24 trådar, 2.67Ghz max
96GB ram, upp till 64GB reserverat för MC/java.
2*WD 600GB 15k SAS, raid1.
1Gbit nät, delat på en del hosts men inget trafiktungt.

Mjukvara:
Ubuntu server 16.04
OpenJDK 1.8
Vanilla MC, inga mods eller plugins. Senaste (11.2)

Visst, processorn är inte snabbast men fler än tre spelare borde den väl hantera? Senaste problemet var att den inte hängde med (cant keep up), vi ändrade serverns startup-script (lite fler java-optioner och sådant) och tankade senaste MC-jar:en sen slutade meddelande till en början. Men de dyker upp igen..

Senast i morse, två spelare inne
[08:30:55] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2439ms behind, skipping 48 tick(s)

Någon som har något bra tips?

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Registrerad
Nov 2003

Är inte jätteinsatt, men det jag vet är att minecraft-servern enbart kan utnyttja en av dessa 12 kärnor. Men det kanske du redan visste om?

Trädvy Permalänk
Inaktiv
Registrerad
Aug 2013
Skrivet av Creeper6:

Är inte jätteinsatt, men det jag vet är att minecraft-servern enbart kan utnyttja en av dessa 12 kärnor. Men det kanske du redan visste om?

"Minecraft servers, as of 1.1.0, can use multiple cores, so now they will not sit idle and will increase server performance."
Källa: http://minecraft.gamepedia.com/Server/Requirements#Server_req...

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001
Skrivet av Creeper6:

Är inte jätteinsatt, men det jag vet är att minecraft-servern enbart kan utnyttja en av dessa 12 kärnor. Men det kanske du redan visste om?

Medveten, men processorn e ju inte helt kass ändå.. borde klara fler än tre spelare.

Skrivet av anon226320:

"Minecraft servers, as of 1.1.0, can use multiple cores, so now they will not sit idle and will increase server performance."
Källa: http://minecraft.gamepedia.com/Server/Requirements#Server_req...

Coolt!

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Plats
Västerås
Registrerad
Okt 2005

Har en i5 2770k i min htpc som hostade en privat minecraftserver för några styckna av mina vänner. Det funkade hur bra som helst. Känns som att din server borde klara bra mycket mera

| INTEL i7 7700K@4,9GHZ | NOCTUA NH-D15 | ASUS PRIME Z270-P | 32GB DDR4@3000mhz | GTX 1080 STRIX | 512 GB CRUCIAL MX300 SSD | 4TB HDD | WIN 10 | BENQ XL2420Z@144hz| SUPERNOVA G2 750w

Trädvy Permalänk
Inaktiv
Registrerad
Mar 2010

Kan nada om Minecraft men ska man köra på OpenJava?
Java är ju rätt kinkigt för både det ena och andra, kanske finns tips på hur man trimmar det?

Trädvy Permalänk
Medlem
Plats
Kungsbacka
Registrerad
Jul 2010

Testa att köra med Oracle Java istället, men framför allt testa Spigot.

¤ Myllox ¤

# NZXT H440 # Corsair RM 650 # Windows 10 Ent. 64bit # 2700X # Asus X470 Crosshair Hero VII # 16GB Trident Z RGB @ 3600 # 970 EVO 500GB # NZXT Kraken X62 # Asus RX580 8GB Dual OC [noctua mod]# BenQ XL2430T #

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Maj 2008

Kör du servern från RAM eller HDD?. Min gissning är HDD och där är problemet. Man hostar inte spel servrar från HDD utan alltid i RAM

"Resistance is futile."

- Georg Ohm

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2001

Du skriver inte med vilka javaflaggor som servern är startad med. Det spelar stor roll för prestandan.
Jag skulle börja med att titta på dem.
Beter sig servern fortfarande illa efter detta skulle jag pröva med att växla från OpenJDK till Oracle, så det är uteslutet.

Svaret innan om att en spelserver måste hostas på ram skulle jag ta med en lastbil salt. Man tittar på sina IO-mönster och ser om hårddisk är fullgott, om SSD behövs och i extrema fall om en ramdisk behövs. Att bara göra "för att" är inte rätt sätt att jobba på, såvida det inte är känd best practice för det man ska hosta.

Servern känns extremt överdimensionerad för att spela tre pers på. När jag lirade minecraft aktivt hostade jag på en dualcore sandy bridge på 1.8GHz med 4GB ram åt minecraft från en 10mbit-lina. Fungerade utmärkt. Vi var oftast 3-6 spelare då.

Ubuntu | 1440p IPS | 7700k | 1080ti | 32GB@3.6GHz | 960 Pro 1TB | Xonar STX

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001

Bra svar, tack för tips!
En sak jag kom att tänka på.. vår server har samma värld sedan 2012, så det kan ligga mycket gammalt mög och spöka. Men tänkte i alla fall börja med att få hårdvara och mjukvara att lira fint så kan man gå in och röjja efter det.

Skrivet av rinosaur:

Har en i5 2770k i min htpc som hostade en privat minecraftserver för några styckna av mina vänner. Det funkade hur bra som helst. Känns som att din server borde klara bra mycket mera

Ja, något är det som inte stämmer. 10-20 spelare ska man ju klara utan problem..

Skrivet av studiox_swe:

Kan nada om Minecraft men ska man köra på OpenJava?
Java är ju rätt kinkigt för både det ena och andra, kanske finns tips på hur man trimmar det?

Det går fint, men prova Oracle ska vi nog göra om vi inte får rätt på det.

Skrivet av Myllox:

Testa att köra med Oracle Java istället, men framför allt testa Spigot.

Oracle ska provas. Spigot blir det inte, vi vill inte vara beroende på någon tredjepart - vanilla rakt igenom är det som gäller.

Skrivet av Selmalagerlöf:

Kör du servern från RAM eller HDD?. Min gissning är HDD och där är problemet. Man hostar inte spel servrar från HDD utan alltid i RAM

Diskarna har knappt last. Det är processorn som skiter sig.. SSD kan det bli i framtiden.

Skrivet av sniglom:

Du skriver inte med vilka javaflaggor som servern är startad med. Det spelar stor roll för prestandan.
Jag skulle börja med att titta på dem.
Beter sig servern fortfarande illa efter detta skulle jag pröva med att växla från OpenJDK till Oracle, så det är uteslutet.

Svaret innan om att en spelserver måste hostas på ram skulle jag ta med en lastbil salt. Man tittar på sina IO-mönster och ser om hårddisk är fullgott, om SSD behövs och i extrema fall om en ramdisk behövs. Att bara göra "för att" är inte rätt sätt att jobba på, såvida det inte är känd best practice för det man ska hosta.

Servern känns extremt överdimensionerad för att spela tre pers på. När jag lirade minecraft aktivt hostade jag på en dualcore sandy bridge på 1.8GHz med 4GB ram åt minecraft från en 10mbit-lina. Fungerade utmärkt. Vi var oftast 3-6 spelare då.

Nuvarande flaggor kopierade vi från en gammal post.. oklart vad alla gör inser jag nu.

java -Xms2048M -Xmx64G -Djava.net.preferIPv4Stack=true -XX:UseSSE=3 -XX:-DisableExplicitGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=16 -XX:+AggressiveOpts -jar server.jar nogui

Tänkte nog labba med flaggorna från oracles hjemmeside ikväll:

Citat:

Performance Tuning Examples
The following examples show how to use experimental tuning flags to either optimize throughput or to provide lower response time.

Example 1 - Tuning for Higher Throughput
java -d64 -server -XX:+AggressiveOpts -XX:+UseLargePages -Xmn10g -Xms26g -Xmx26g
Example 2 - Tuning for Lower Response Time
java -d64 -XX:+UseG1GC -Xms26g Xmx26g -XX:MaxGCPauseMillis=500 -XX:+PrintGCTimeStamp

(http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jav...)

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Registrerad
Dec 2002

Men en såndär server ska ni kunna köra 30-40 st utan problem. Jag hade en fujitsu-server med 7-8 användare med 2 GB ram och 2st SAS diskar med en 5 år gammal xeon utan problem. MC kräver mycket ram, och sen cpu. disk kommer i 3e hand, jag hade vanilla med en adminplugin bara. Men har man alla plugins som finns så kan det nog kräva en del. Såg dock att du inte hade några plugins. Istället för att köpa SSDs så gör om raiden till raid0 istället så får ni bättre prestanda så det inte är värt att köpa SSDs. Dock ingen redundans så en backup är ju att föredra och som någon nämnde prova oracles java istället.

Edit: http://www.minecraftforum.net/forums/support/server-support/2...

Creepykid några poster längre ner postar en del info. Gammal tråd dock. Men orsaken kanske är den samma. Måste vara något med MC mjukvaran. Den hårdvaran ska inte ha några problem att hänga med.
Finns det någon mer nyttig info i MC loggarna? Hur mycket ram använder MC? Kolla hur mycket som körs när det fungera samt när det börjar lagga.
Tidigare verkar det ha berott på en bug. https://bugs.mojang.com/browse/MC-44385 Bugrapporten skapades 2014 men blev uppdaterad nu i januari.

[size="1"]*signatur raderad*, referrallänkar behöver vi inte gömma i signaturer (§8 marknadsföring)[/size] Till MOD: Ditt smartskafft, man gömmer inte något som är helt synligt!

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2001

Tror definitivt du ska se över flaggorna.

Standardinställningarna är dessa:
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
Utgå från dem, men ställ upp minnet till 4GB eller 8GB. Om du sedan har prestandaproblem, då kan det vara dags att se över flaggorna. Jag tror inte dina prestandaproblem har något att göra med hårdvaran.

Kan gå igenom vad du ställt in:
-Xms2048M <- använd som minst 2GB minne
-Xmx64G <- använd som mest 64GB minne
Här skulle jag sätta samma minimum- och maximumstorlek, som jag förstår det har ni inte många processer som slåss om ramminnet och då går det åt prestanda i onödan till att krympa och öka minnesallokeringen.

Jag skulle också pröva att minska 64GB. Använder ni mycket större minnesyta än vad som behövs kommer prestandan att sjunka, för det är massa mer minne att hålla reda på, men det är inte till någon nytta. Ett prestandatapp har du när du passerar 32GB, då kommer java börja använda större pekare.

Gissningsvis är vinsterna efter 4-8GB väldigt små.

-Djava.net.preferIPv4Stack=true
Den här är jag tveksam till om den alls behövs, dina klienter har troligtvis ingen ipv6-länk till servern ändå.

XX-inställningar rör sig en del mellan releaser av java.
-XX:UseSSE=3 <-- Finns inte i dokumentationen för openjdk 1.8 som jag kör.

-XX:-DisableExplicitGC <-- Denna inställning är default i openjdk

-XX:+UseParallelOldGC <- Mig veterligen får inte alltid ParallelOldGC ner responstiden, vilket ni söker. Jag skulle inte byta garbage collector om jag inte verkligen visste varför.

-XX:ParallelGCThreads=16 <- antal trådar till föregående inställning

-XX:+AggressiveOpts <- experimentella prestandaförbättringar. Kanske inte något jag skulle testa om jag vill få mitt defaultfall att prestera hyggligt.

Ubuntu | 1440p IPS | 7700k | 1080ti | 32GB@3.6GHz | 960 Pro 1TB | Xonar STX

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001
Skrivet av sniglom:

Tror definitivt du ska se över flaggorna.

Standardinställningarna är dessa:
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
Utgå från dem, men ställ upp minnet till 4GB eller 8GB. Om du sedan har prestandaproblem, då kan det vara dags att se över flaggorna. Jag tror inte dina prestandaproblem har något att göra med hårdvaran.

Kan gå igenom vad du ställt in:
-Xms2048M <- använd som minst 2GB minne
-Xmx64G <- använd som mest 64GB minne
Här skulle jag sätta samma minimum- och maximumstorlek, som jag förstår det har ni inte många processer som slåss om ramminnet och då går det åt prestanda i onödan till att krympa och öka minnesallokeringen.

Jag skulle också pröva att minska 64GB. Använder ni mycket större minnesyta än vad som behövs kommer prestandan att sjunka, för det är massa mer minne att hålla reda på, men det är inte till någon nytta.
Ett prestandatapp har du när du passerar 32GB, då kommer java börja använda större pekare.

Gissningsvis är vinsterna efter 4-8GB väldigt små.

-Djava.net.preferIPv4Stack=true
Den här är jag tveksam till om den alls behövs, dina klienter har troligtvis ingen ipv6-länk till servern ändå.

XX-inställningar rör sig en del mellan releaser.
-XX:UseSSE=3 <-- Finns inte i openjdk

-XX:-DisableExplicitGC <-- Denna inställning är default i openjdk

-XX:+UseParallelOldGC <- Mig veterligen får inte alltid ParallelOldGC ner responstiden, vilket ni söker. Jag skulle inte byta garbage collector om jag inte verkligen visste varför.

-XX:ParallelGCThreads=16 <- antal trådar till föregående inställning

-XX:+AggressiveOpts <- experimentella prestandaförbättringar. Kanske inte något jag skulle testa om jag vill få mitt defaultfall att prestera hyggligt.

Låter vettigt, läste på om flaggorna innan, var en del irrelevant ja..
Igår bytte vi till ovan flaggor, innan dess var det dessa, där servern totaldog. nogui är en intressant flagga, vi har ingen fönsterhanterare men vem vet vad mc-servern gör..
java -Xmx64G -Xms10G -jar server.jar

Bytte till detta nu, ska provas
java -d64 -Xms16G -Xmx16G -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -jar server.jar nogui

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001
Skrivet av fragwolf:

Men en såndär server ska ni kunna köra 30-40 st utan problem. Jag hade en fujitsu-server med 7-8 användare med 2 GB ram och 2st SAS diskar med en 5 år gammal xeon utan problem. MC kräver mycket ram, och sen cpu. disk kommer i 3e hand, jag hade vanilla med en adminplugin bara. Men har man alla plugins som finns så kan det nog kräva en del. Såg dock att du inte hade några plugins. Istället för att köpa SSDs så gör om raiden till raid0 istället så får ni bättre prestanda så det inte är värt att köpa SSDs. Dock ingen redundans så en backup är ju att föredra och som någon nämnde prova oracles java istället.

Edit: http://www.minecraftforum.net/forums/support/server-support/2...

Creepykid några poster längre ner postar en del info. Gammal tråd dock. Men orsaken kanske är den samma. Måste vara något med MC mjukvaran. Den hårdvaran ska inte ha några problem att hänga med.
Finns det någon mer nyttig info i MC loggarna? Hur mycket ram använder MC? Kolla hur mycket som körs när det fungera samt när det börjar lagga.
Tidigare verkar det ha berott på en bug. https://bugs.mojang.com/browse/MC-44385 Bugrapporten skapades 2014 men blev uppdaterad nu i januari.

Jo jag såg de trådarna.
Har inte kollat igenom loggarna än, tänkte göra det ikväll efter jubb.

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2001
Skrivet av CCWarlock:

Låter vettigt, läste på om flaggorna innan, var en del irrelevant ja..
Igår bytte vi till ovan flaggor, innan dess var det dessa, där servern totaldog. nogui är en intressant flagga, vi har ingen fönsterhanterare men vem vet vad mc-servern gör..
java -Xmx64G -Xms10G -jar server.jar

Gissningsvis försöker den starta upp ett GUI och misslyckas.

Skrivet av CCWarlock:

Bytte till detta nu, ska provas
java -d64 -Xms16G -Xmx16G -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -jar server.jar nogui

Om du nu ska använda MaxGCPauseMillis för du tror att servern stannar vid GC, skulle jag sikta på något lägre än en halvsekund. Men jag tror inte GC är ett problem med minecraft.

Är du nyfiken kan du slå på -XX:+PrintGCTimeStamps och se om rubberbanding inträffar samtidigt som GC körs.

Ubuntu | 1440p IPS | 7700k | 1080ti | 32GB@3.6GHz | 960 Pro 1TB | Xonar STX

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001
Skrivet av sniglom:

Gissningsvis försöker den starta upp ett GUI och misslyckas.

Om du nu ska använda MaxGCPauseMillis för du tror att servern stannar vid GC, skulle jag sikta på något lägre än en halvsekund. Men jag tror inte GC är ett problem med minecraft.

Är du nyfiken kan du slå på -XX:+PrintGCTimeStamps och se om rubberbanding inträffar samtidigt som GC körs.

Det är klart sant. Ska undersökas!

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Plats
Där min VPN visar
Registrerad
Jan 2005

1000 Gbit nät, snabbt

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001
Skrivet av Undie:

1000 Gbit nät, snabbt

Endast den snabbaste snabeln är snabb nog!

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Maj 2008
Skrivet av Undie:

1000 Gbit nät, snabbt

hittade precis vem som tog all min bandbredd

"Resistance is futile."

- Georg Ohm

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001

@sniglom
Just nu:

java -d64 -Xms16G -Xmx16G -jar server.jar nogui

GC-optimeringar gav inga utskrifter alls, så plockade bort dem.

Fyra spelare..
[20:58:01] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 11760ms behind, skipping 235 tick(s)

Ger knappt rubberband dock.. men det kanske degenererar. Funderar på om man ska döda av lite critters ingame, samla de få farmer man måste ha till gemensamma sådana.

Ska även prova throughput-optimeringen från Oracles hemsida imorgon.

Top:

top - 23:15:05 up 191 days, 5:32, 2 users, load average: 1.17, 1.14, 1.06 Tasks: 324 total, 1 running, 323 sleeping, 0 stopped, 0 zombie %Cpu(s): 4.2 us, 0.1 sy, 0.0 ni, 95.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 98996352 total, 40583620 free, 7820072 used, 50592656 buff/cache KiB Swap: 10065100+total, 10064837+free, 2628 used. 90431376 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 26580 minecra+ 20 0 21.982g 6.892g 18072 S 103.3 7.3 108:12.74 java 8 root 20 0 0 0 0 S 0.3 0.0 340:54.13 rcu_sched 15762 mysql 20 0 1827204 192612 19308 S 0.3 0.2 17:27.72 mysqld 23370 root 20 0 0 0 0 S 0.3 0.0 0:04.17 kworker/2:1 26179 ccw 20 0 41932 3892 3080 R 0.3 0.0 0:40.88 top 1 root 20 0 119608 5788 4096 S 0.0 0.0 5:26.08 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:02.89 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:04.64 ksoftirqd/0

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2001
Skrivet av CCWarlock:

@sniglom
Just nu:

java -d64 -Xms16G -Xmx16G -jar server.jar nogui

GC-optimeringar gav inga utskrifter alls, så plockade bort dem.

Fyra spelare..
[20:58:01] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 11760ms behind, skipping 235 tick(s)

Ger knappt rubberband dock.. men det kanske degenererar. Funderar på om man ska döda av lite critters ingame, samla de få farmer man måste ha till gemensamma sådana.

Ska även prova throughput-optimeringen från Oracles hemsida imorgon.

Top:

top - 23:15:05 up 191 days, 5:32, 2 users, load average: 1.17, 1.14, 1.06 Tasks: 324 total, 1 running, 323 sleeping, 0 stopped, 0 zombie %Cpu(s): 4.2 us, 0.1 sy, 0.0 ni, 95.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 98996352 total, 40583620 free, 7820072 used, 50592656 buff/cache KiB Swap: 10065100+total, 10064837+free, 2628 used. 90431376 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 26580 minecra+ 20 0 21.982g 6.892g 18072 S 103.3 7.3 108:12.74 java 8 root 20 0 0 0 0 S 0.3 0.0 340:54.13 rcu_sched 15762 mysql 20 0 1827204 192612 19308 S 0.3 0.2 17:27.72 mysqld 23370 root 20 0 0 0 0 S 0.3 0.0 0:04.17 kworker/2:1 26179 ccw 20 0 41932 3892 3080 R 0.3 0.0 0:40.88 top 1 root 20 0 119608 5788 4096 S 0.0 0.0 5:26.08 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:02.89 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:04.64 ksoftirqd/0

100% i top skulle jag ta som att en kärna går full, det tycker jag load average tyder på med. Risken finns ju att det faktiskt är tungt att driva mc-servern och den är dålig på att nyttja mer än en kärna. Jag vet inte hur väl OpenJDK presterar jämfört mot Oracle, så nu skulle jag nog testa att byta till den och se om det håller CPU-användningen i schack.

Ubuntu | 1440p IPS | 7700k | 1080ti | 32GB@3.6GHz | 960 Pro 1TB | Xonar STX

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001
Skrivet av sniglom:

100% i top skulle jag ta som att en kärna går full, det tycker jag load average tyder på med. Risken finns ju att det faktiskt är tungt att driva mc-servern och den är dålig på att nyttja mer än en kärna. Jag vet inte hur väl OpenJDK presterar jämfört mot Oracle, så nu skulle jag nog testa att byta till den och se om det håller CPU-användningen i schack.

Jepp, så har MC alltid betett sig.. har varit enkeltrådat fram tills 1.1.0.. kanske fortfarande är lite dåligt på flertrådat. Oracles ska provas. Men det lutar också åt att det är specifika ställen i världen som skiter sig. Måste köra ett tag för att testa.

Tack för alla tips! Vi är tillbaka på ungefär samma inställningar som innan, men har provat en massa iaf, felsökt bra.

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2001
Skrivet av CCWarlock:

Jepp, så har MC alltid betett sig.. har varit enkeltrådat fram tills 1.1.0.. kanske fortfarande är lite dåligt på flertrådat. Oracles ska provas. Men det lutar också åt att det är specifika ställen i världen som skiter sig. Måste köra ett tag för att testa.

Tack för alla tips! Vi är tillbaka på ungefär samma inställningar som innan, men har provat en massa iaf, felsökt bra.

Vad jag minns kunde min server gå på knäna när den behövde generera upp mycket ny värld samtidigt, exempelvis när flera spelare flög runt mot nya ställen med max draw distance. Med tanke på att ni har så pass mycket minne att leka med kanske det går att testa att lämna kvar mer saker i ram.

Berätta gärna hur det går

Funderade på ett par flaggor från dokumentationen:

-Xnoclassgc
Disables garbage collection (GC) of classes. This can save some GC time, which shortens interruptions during the application run.
Med tanke på hur mycket minne du har, kanske det här kan snabba upp.

-Xcomp
Forces compilation of methods on first invocation. By default, the Client VM (-client) performs 1,000 interpreted method invocations and the Server VM (-server) performs 10,000 interpreted method invocations to gather information for efficient compilation. Specifying the -Xcomp option disables interpreted method invocations to increase compilation performance at the expense of efficiency.
Detta kanske skulle kunna vara något med, inte omöjligt att vissa metoder körs sällan och är tröga därför.

-XX:+AggressiveOpts
Enables the use of aggressive performance optimization features, which are expected to become default in upcoming releases. By default, this option is disabled and experimental performance features are not used.
Denna hade du innan, kanske kan vara värt ett försök nu när du prövat att röra minnesstorleken och bytt GC.

-XX:+UseTransparentHugePages
On Linux, enables the use of large pages that can dynamically grow or shrink. This option is disabled by default. You may encounter performance problems with transparent huge pages as the OS moves other pages around to create huge pages; this option is made available for experimentation.
Jag vet från jobbet att på vissa servrar med mycket minne och stora javaprocesser blev långsamma på grund av huge pages. Vi löste det genom att stänga av large pages i operativsystemet, alternativt kanske det fungerar att slå på stödet i java.

Ubuntu | 1440p IPS | 7700k | 1080ti | 32GB@3.6GHz | 960 Pro 1TB | Xonar STX

Trädvy Permalänk
Medlem
Registrerad
Feb 2017
Skrivet av Selmalagerlöf:

Kör du servern från RAM eller HDD?. Min gissning är HDD och där är problemet. Man hostar inte spel servrar från HDD utan alltid i RAM

Detta är troligtvis problemet. En spelserver med bra hårdvara men körs från HDD är så mycket slöseri med hårdvara.

Hosta din server i RAM sedan kör du backup till SSD/HDD.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2016

Går att lagga server via att göra en redstone koppling.

Men om du byter world laggar det då med?

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001
Skrivet av sniglom:

Vad jag minns kunde min server gå på knäna när den behövde generera upp mycket ny värld samtidigt, exempelvis när flera spelare flög runt mot nya ställen med max draw distance. Med tanke på att ni har så pass mycket minne att leka med kanske det går att testa att lämna kvar mer saker i ram.

Berätta gärna hur det går

Funderade på ett par flaggor från dokumentationen:

-Xnoclassgc
Disables garbage collection (GC) of classes. This can save some GC time, which shortens interruptions during the application run.
Med tanke på hur mycket minne du har, kanske det här kan snabba upp.

-Xcomp
Forces compilation of methods on first invocation. By default, the Client VM (-client) performs 1,000 interpreted method invocations and the Server VM (-server) performs 10,000 interpreted method invocations to gather information for efficient compilation. Specifying the -Xcomp option disables interpreted method invocations to increase compilation performance at the expense of efficiency.
Detta kanske skulle kunna vara något med, inte omöjligt att vissa metoder körs sällan och är tröga därför.

-XX:+AggressiveOpts
Enables the use of aggressive performance optimization features, which are expected to become default in upcoming releases. By default, this option is disabled and experimental performance features are not used.
Denna hade du innan, kanske kan vara värt ett försök nu när du prövat att röra minnesstorleken och bytt GC.

-XX:+UseTransparentHugePages
On Linux, enables the use of large pages that can dynamically grow or shrink. This option is disabled by default. You may encounter performance problems with transparent huge pages as the OS moves other pages around to create huge pages; this option is made available for experimentation.
Jag vet från jobbet att på vissa servrar med mycket minne och stora javaprocesser blev långsamma på grund av huge pages. Vi löste det genom att stänga av large pages i operativsystemet, alternativt kanske det fungerar att slå på stödet i java.

Många bra grejor att prova där. Ska testa i helgen, återkommer.

Skrivet av BibbyDiddy:

Detta är troligtvis problemet. En spelserver med bra hårdvara men körs från HDD är så mycket slöseri med hårdvara.

Hosta din server i RAM sedan kör du backup till SSD/HDD.

Diskarnas last är i princip 0. Vi skriver inget till disk om vi inte utforskar nytt. Problemen uppstår främst när vi samtidigt befinner oss i intensiva områden (gamla, eventuellt mycket entities etc)

Skrivet av superegg:

Går att lagga server via att göra en redstone koppling.

Men om du byter world laggar det då med?

Tror att världen är lagom knarkad, problemen beror mycket på var man är. Vi håller laggande kretsar och spawnade mobs till ett minimum för att undvika detta. Men tycker fortfarande att den ska klara fyra spelare med tanke på hårdvaran.

Litet projekt

yayaya I am Lorde yayaya

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Maj 2008
Skrivet av CCWarlock:

Många bra grejor att prova där. Ska testa i helgen, återkommer.

Diskarnas last är i princip 0. Vi skriver inget till disk om vi inte utforskar nytt. Problemen uppstår främst när vi samtidigt befinner oss i intensiva områden (gamla, eventuellt mycket entities etc)

Det handlar inte om belastningen på diskarna. Det handlar om responstiden... om du är i världen och hårddiskarna behöver spinna upp för att läsa eller skriva data så kan det ta ett par sekunder. Om du nu hostar i RAM så har du tillgång till datan på några ns istället och lagget försvinner troligtvis.

"Resistance is futile."

- Georg Ohm

Trädvy Permalänk
Medlem
Registrerad
Dec 2011

Har kört 5st utan problem på en gammal Dell E6330 notebook med SSD (samma OS och java som dig) och bara java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui". Den hade iofs en riktigt dålig första generation SSD.
Gissar starkt på att det är att cpu maxar ut på 2.67GHz, en skräppropp med mindre cores men turbo på 3.5ish skulle nog lösa problemet. Du har ingen gammal härk du kan prova på?

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Maj 2009
Skrivet av Selmalagerlöf:

Kör du servern från RAM eller HDD?. Min gissning är HDD och där är problemet. Man hostar inte spel servrar från HDD utan alltid i RAM

han borde ändå få mycket bättre performance även om han kör servern från en hdd. jag körde min otroligt moddade server på en g3258 och en gammal 200gb mekanisk och 4gb ram. Enda gången man laggade var när man utforskade enormt fort.
Hans server borde krossa min, speciellt eftersom den är nästintill vanilla

Min dator: Silent Base 600 | 1700X @ 3.9Ghz | MSI Gaming X 1080TI | RM750X | 512Gb M2 | 16Gb 3200mhz Ram | S34E790C @ 3440x1440
Tjejens dator: Define r4 | i5 3570k @ 4.2ghz | GTX Titan | 750w Supernova | 240gb SSD | 32gb ram
Citera/Tagga för svar!

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm, Sverige
Registrerad
Jul 2001
Skrivet av Selmalagerlöf:

Det handlar inte om belastningen på diskarna. Det handlar om responstiden... om du är i världen och hårddiskarna behöver spinna upp för att läsa eller skriva data så kan det ta ett par sekunder. Om du nu hostar i RAM så har du tillgång till datan på några ns istället och lagget försvinner troligtvis.

Jo må så hända, men diskarna spinner inte ner, det är 10K* (tror jag, skrev 15K i orginalposten) Enterprise-diskar. Hur skulle de se ut om de spinner ner på kritiska databasservrar?

Ja, diskarna är inte snabbast, men det är normal diskaktivitet när vi noterar felen i loggen.

Klart, att köra servern i ram hade ju varit smaskigt, särskillt eftersom vi inte använder allt minne. Det kommer nog senare, men först ska vi lösa det här..

Skrivet av Spiffman:

Har kört 5st utan problem på en gammal Dell E6330 notebook med SSD (samma OS och java som dig) och bara java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui". Den hade iofs en riktigt dålig första generation SSD.
Gissar starkt på att det är att cpu maxar ut på 2.67GHz, en skräppropp med mindre cores men turbo på 3.5ish skulle nog lösa problemet. Du har ingen gammal härk du kan prova på?

Mmm de kostar en bit på ebay dock. Och jag behöver två för att få med allt minne.

Edit: okej, 70$+ var inte så farligt.. hmm.

Litet projekt

yayaya I am Lorde yayaya