Witam serdecznie, chciałbym prosić o pomoc, co mogę jeszcze poprawić, aby zwiększyć TPS serwera. Jakie ustawienia, co w konfiguracji? Czy to wszystko dobrze zostało ustawione?
Ktoś mi pisał, że update do java 11 rozwiąże dużo problemów, gdyż poprawia wydajność serwera.
System ubuntu 18.04
Zostawiam tutaj raport czasowy:
Przebrnąłeś już może przez ten poradnik optymalizacyjny?
Tak to już zrobiłem, mało tego, jeszcze bardziej zacisnąłem pasa.
Używam jeszcze takich flag startowych:
java -Xms24G -Xmx24G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui
Dodam, że serwer ma 30GB RAM
Masz niecałe 1.5 tysiąca tabliczek i niecałe 2 tysiące ramek na itemy (w jednym miejscu!).
Nie limitujesz tego?
Ja bym spróbował przejść na jave 11 i ZGC przy takiej ilości ramu ( https://krusic22.com/2020/03/25/higher-performance-crafting-using-jdk11-and-zgc/ )
Ja uważam że tak chodzi lepiej ale to tylko moja opinia.
Nie poradze sobie z tym to jest pewne. Generalnie boje się dotykać vps, żeby nic nie rozwalić. I stawiać go na nowo, bo to by było straszne. Ale pomysł wydaje się bardzo dobry
Ale co tu rozwalać?
Usuwasz Javę obecną i instalujesz nową, dodajesz flagi do skryptu startowego i gotowe.
Tak, tylko serwer działa na panelu pterodactyl i tutaj nic nie zmieni to że ja mam jave 11 na samym vps, bo tak mam po wpisaniu - tutaj należy zmienić docker image z javą. I prawdopodobnie udało mi się ustalić że poprawne to będzie:
Ale kwestia flag, totalnie nie wiem jak powinno być poprawnie.
Czyli co, wystarczy dodać
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:-UseParallelGC -XX:-UseParallelOldGC -XX:-UseG1GC -XX:+UseZGC
do STARTUP COMMAND zamiast:
java -Xms24G -Xmx24G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui
I to wszystko? Dla mnie to jakieś dziwne, bo w tych flagach nie ma żadnej informacji o maksymalnej ilość dostępnej pamięci, żadnych danych…
Tak, zamiast flag Aikara, których używa się domyslnie.
To chyba logiczne, że podmieniasz tylko część.
Jesteś jedną z tych osób, bo robią copy-paste i dziwią się, dlaczego nie działa?
Czyli jak dla mnie prawidłowy start flag będzie wyglądał tak
java -Xms24G -Xmx24G -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:-UseParallelGC -XX:-UseParallelOldGC -XX:-UseG1GC -XX:+UseZGC
Poprawcie mnie jeśli się mylę proszę.
Dokładnie będzie to:
java -Xms24G -Xmx24G -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:-UseParallelGC -XX:-UseParallelOldGC -XX:-UseG1GC -XX:+UseZGC -jar server.jar nogui
jeżeli nazwa pliku Twojego silnika to server.jar
W jaki sposób limitować poszczególne entities
Jest wiele sposobów, jeżeli mowa o byty żywe to można użyć pluginu stackującego.
Jeżeli mówimy o tzw. tile entity to można użyć pluginu, który będzie blokował stawianie kolejnych tabliczek, skrzyń czy innych takich jeżeli w okolicy jest ich dużo.
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.