DEBAT: Performanceproblemer og hoppers.

Post Reply
User avatar
JBTollak
Administrator
Posts: 795
Joined: 19 Oct 2012, 11:38

DEBAT: Performanceproblemer og hoppers.

Post by JBTollak »

Rammen for debatten:
Som skrevet i mødereferatet fra den 29/9, vil vi gerne have sat gang i en debat vedr. vores udfordringer med performance/lag, og de udfordringer hoppere giver for serveren.
Vi bliver nødt til at gøre noget inden vi får presset serveren helt i bund så ingen længere kan spille.

Det er vores ønske at det bliver en løsningsorienteret debat som sigter frem mod at vi får løst vores nuværende problemer med lag.

Derfor:
  • Vi ønsker at holde debatten upersonlig, vi leder efter løsninger, ikke placering af skyld.
  • Tænk dig om, og læs hvad du har skrevet inden du poster dit indlæg.

Forklaring af problemet:
Lad os starte med at se på hvad problemet med hoppere egentligt er og hvorfor det giver lag på serveren.

Helt grundlæggende kan en hopper bruges til to ting: transport af ting og til at samle ting op.
Hvis man har en række hoppere der sender ting fra den ene ende til den anden, er der ikke nogen problemer rent performancemæssigt.
Det er når vi bruger hoppere til opsamling, eller når der er hoppere som er fulde uden mulighed for at aflevere deres indhold til at ledigt inventory, at vi begynder at stresse serveren.


På hvilken måde presser hoppere serveren?

Rent teknisk sker der følgende:
Når vi placerer en hopper og blokken over den er tom, så står hopperen hele tiden og undersøger om der er blevet smidt ting den skal samle op. Det sker én gang for hvert game tick, dvs. 20 gange i sekundet.
Det samme er gældende for en hopper, der prøver at aflevere en ting til et fyldt inventory (feks. en kiste).

Har man et område med feks. 100 hoppers, betyder dette op til 2000 undersøgelser hvert sekund.

På en server som Crafters, hvor vi har mange spillere spredt omkring på mappet, er der mange chunks loaded det meste af tiden, da alle spillere loader 16x16 chunks omkring sig. Dette gør bla. at man kan befinde sig i nærheden af et område med mange hoppere, og disse vil så være loadede og måske lave undersøgelser hvert game tick.

Vi har nogle områder hvor der er rigtig mange hoppere, og her kan det virkelig mærkes, at der sker noget når de loades.


Hvad er det der gør, at presset fra hoppere kan mærkes?

Vi har en given mængde tid til at klare alle disse (+ serverens øvrige) opgaver i hvert game tick.
Hvis alle opgaver ikke kan klares indenfor den tid, bliver de resterende opgaver skubbet videre til næste tick, hvor der så er endnu flere opgaver der skal løses.
Det giver en sneboldseffekt hvor opgaverne bare hober sig mere og mere op.
Dette opleves som lag, da den opgave du giver serveren, (feks. at hakke en blok i en mine), bliver løst med forsinkelse, og blokken først popper frem efter 1 sekund eller mere.

Pt. bruger vores server 40 - 50 % af et tick til at udrede hoppere.
Det gør at der ofte ikke er tid nok til at beregne alle de andre ting der også sker i samme tick, feks. redstone, mobs, vandskyl og block ændringer. Disse opgaver skubbes så til næste tick, og så ruller den føromtalte snebold med uløste opgaver, der giver mere og mere lag indtil serveren presses i bund og skal genstartes.

Dertil kommer at der med tiden bliver bygget flere områder med stor koncentration af hoppere, i kraft af tilstrømning af nye spillere, så vi kan forvente at problemerne forværres med tiden.


Konklusion:
Vi har løbende forsøgt at regulere server indstillinger for at kunne forbedre performance, uden det har løst problemet.

Vi kan altså konkludere at hoppere udgør en stor risiko for, at belaste serveren så meget med tiden, at det bliver umuligt at spille på Crafters.dk.
Faktisk er vi meget tæt på at det allerede er virkelighed.


Hvad kan vi gøre for at forbedre performance?
Det er dette vi gerne vil have en saglig debat omkring:

Hvad mener I kan afhjælpe laggen?

Er der nogle ting vi kan gøre for at forbedre spiloplevelsen for os alle?

Har du et hotfix, eller kender til brugbare løsninger, du har oplevet på andre servere?

Del dem med os.
BetinaLerche
Posts: 917
Joined: 09 Sep 2012, 12:23

Re: DEBAT: Performanceproblemer og hoppers.

Post by BetinaLerche »

Uden at have tænkt alt igennem og vide om det vil være en løsning kaster jeg lige denne i luften:
Vil det give mening at have en begrænsning på hvor mange hoppers man må have i et område, ligesom vi har med mobs?
User avatar
klausenbusk
Posts: 12
Joined: 27 Oct 2013, 19:42

Re: DEBAT: Performanceproblemer og hoppers.

Post by klausenbusk »

Har i kigget på PaperMC? Der er flere hopper forbedringer, som muligvis kan gøre en forskel.
User avatar
Nielsen74
Posts: 374
Joined: 04 Dec 2012, 09:22

Re: DEBAT: Performanceproblemer og hoppers.

Post by Nielsen74 »

som jeg forstår Tollak´s oplæg er det hoppers med en luft bolck over der er et problem, samt fyldte hoppers, man kan jo opfordre til at man sætter solidt bolcks over hoppers som ikke skal opsamle noget, samt opfordre til at folk laver redstone der stopper hoppers fra at stå fyldte! Just my 2 cents :)
Image
User avatar
FedeAnderzen
Posts: 2063
Joined: 09 Mar 2011, 19:06

Re: DEBAT: Performanceproblemer og hoppers.

Post by FedeAnderzen »

BetinaLerche wrote:Uden at have tænkt alt igennem og vide om det vil være en løsning kaster jeg lige denne i luften:
Vil det give mening at have en begrænsning på hvor mange hoppers man må have i et område, ligesom vi har med mobs?
Det er den oplagte ,løsning og også en der helt sikkert vil have en stor indflydelse på den mængde hopperskabt lag vi har.

Vi har også vendt muligheden i serverrådet, men løsningen er desværre også meget indgribende i folks mulighed for at bygge sorterings systemer.

Jeg ser det som den sidste mulighed, som vi kan indføre hvis alt andet fejler.
Image
User avatar
Zicy
Posts: 277
Joined: 08 Jul 2011, 22:11
Location: DK

Re: DEBAT: Performanceproblemer og hoppers.

Post by Zicy »

klausenbusk wrote:Har i kigget på PaperMC? Der er flere hopper forbedringer, som muligvis kan gøre en forskel.
Vi har kigget i den retning, den "største" hindring ved at skifte fra Spigot => PaperMC er at Paper har lavet mange optimeringer til forskelige ting bland andet hoppere, men der er nogle af disse ændringer som "ødelægger" vanilla behavior.

Dog er det også mit indtryk at langt de fleste hvis ikke alle deres optimeringer kan aktiveres og deaktiveres i deres config fil.

Men det var 3 meget intrassante patches du har fundet der.
Image
User avatar
JBTollak
Administrator
Posts: 795
Joined: 19 Oct 2012, 11:38

Re: DEBAT: Performanceproblemer og hoppers.

Post by JBTollak »

Tak for inputs indtil videre. Vi kigger nærmere på forslagene.

Debatten er dog gået lidt i stå.

Måske fordi der er ikke er mere at tilføje?
Jeg vil dog gerne slå et slag for at folk kommer med deres besyv til hvordan vi evt. kunne løse dette problem.
User avatar
Toeffe
Posts: 621
Joined: 04 Dec 2010, 20:21

Re: DEBAT: Performanceproblemer og hoppers.

Post by Toeffe »

Jeg kunne se hoppere sat ned på halv hastighed, ja, hopper-clocks/timere vil ikke virke ordenligt efter det og ville skulle have en re-justéring. Hopper clocks burde at være banned på serveren, da de skaber utrolig meget ligegyldig lag, så dem synes jeg slet ikke burde at eksistere på serveren.
Mængden af hoppere kan dristigt reduceres eller ihvertfald fremover placeres med omtanke. Måske afhjælpe noget af TPS tabet ved at bruge alternative transport metoder f.eks "Is"(Med vand) "dropper kæder."(Ja, uden hoppere) Disse to har selvfølgelig deres egne problemer(Vand, items kan stoppe ved server crash, miste momentum)(Dropperkæde, kræver en comparetor clock for at køre)
Ligesom transport af items, kan der skæres Meget ned på bruget af Redstone Dust, som også er én af de store lag forsager. Det er blevet en del lettere med introduktionen af Observer blokken, nu kan Farme som bruger Block Update Detectore laves næsten - eller helt uden - Redstone Dust!
I en simpel kombination af Observere, Powered Rails og pistons kan farme som f.eks. Tang, sukkerrør, Græskar, Meloner, Bambus og end da Uld automatiseres uden det store TPS tab.
Mulighederne er mange - Når jeg så siger det, skal jeg jo så også gøre det meget klart at det er de færreste der faktisk er oplyste om dette. Derfor synes jeg også at os som er meget på serveren og kender til disse, skal være dem der "Viderebringer budskabet".

Hvis der skulle være interesse i farme og/eller maskinerier der er mere lagvenlige, så fang mig på Diskrot eller Ingame, så vil jeg gøre mit bedste for at videregive mine metoder.
It Can be done, but do You have the time?
User avatar
FedeAnderzen
Posts: 2063
Joined: 09 Mar 2011, 19:06

Re: DEBAT: Performanceproblemer og hoppers.

Post by FedeAnderzen »

Måske vi burde lave en Tips og Tricks tråd på forum hvor vi kan udveksle information de ting der kan hjælpe i diverse redstone opbygninger ?
Image
User avatar
JBTollak
Administrator
Posts: 795
Joined: 19 Oct 2012, 11:38

Re: DEBAT: Performanceproblemer og hoppers.

Post by JBTollak »

Tråden flyttes til afsluttet, da den til dels er inaktiv, og til dels er irrelevant.
Hoppere er ikke det primære problem ift. performance i øjeblikket.
Post Reply