Skocz do zawartości
  • 0

Problem z optymalizacją serwera


Pytanie

Cześć mam dość duży problem z optymalizacją serwera. Posiadam dedyka, który na pokładzie ma Ryzen 5 3600 oraz 64 gb ramu. Gdy na serwer wejdzie 100+ graczy tpsy spadają nawet na 10, a w tym samym czasie na lobby jest wszystko okej. Z początku myślałem, że jest to problem z przepustowością sieci, ale po kontakcie z dostawcą okazało się wszystko okej. Niżej załączam timingi.  Ktoś miał podobny problem ? Można w jakiś sposób go rozwiązać ? 
https://spark.lucko.me/OPwbroMJ1h

Glicz

Poprawiam formatowanie na ciemnym stylu.

Notatka dodana przez Glicz

Odnośnik do komentarza
https://skript.pl/temat/54195-problem-z-optymalizacj%C4%85-serwera/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Dużo z tego nie odczytam, ponieważ robiłeś ten profiler zdecydowanie zbyt długo - czas czas profilera powinien wynosić maksymalnie 5 minut. Opiszę więc to, co warto zmienić głównie z informacji poza samym profilerem:


- Wartość opcji 'max-concurrent-sends' w globalnym configu Papera jest ustawiona na 2, co jest jednym z głównych powodów (oraz jedynym powodem na twoim serwerze) wolnego ładowania chunków. Zwiększ ją na start do 50, a maksymalnie do 200.
- Procesor z którego korzystasz jest aż dwie generacje do tyłu, na dodatek w wolniejszej wersji. Poszukaj maszyny z nowszym procesorem.
- Masz na serwerze bardzo dużo NPC z pluginu Citizens - ogranicz ich ilość lub przejdź na wydajniejszy plugin, np. znpcs.
- Posiadasz wyciek pamięci na serwerze, zrób heapdumpa i sprawdź co go powoduje.
- Korzystasz z pluginu FAWE, który najprawdopodobniej już uszkodził pliki twojego świata. Usuń go i zaplanuj nową edycję serwera z nowo wygenerowanym światem.
- Pluginy stackujące moby znacznie pogarszają wydajność - wprowadzają serwer w nieskończoną pętlę spawnowania i stackowania.
- Plugin SkQuery, jeśli źle wykorzystany, może otworzyć lukę pozwalającą na kopiowanie przedmiotów. Posiadasz już jego nowszą alternatywę, SkBee, więc nie jest on potrzebny.
- Masz na serwerze sporo villagerów, które są najbardziej zasobożernym mobem w grze i niszczą ekonomię. Zalecam je wyłączyć.
- Pluginy Worldborder, SternalBoard, CommandPanels, SuperVanish oraz BetterRTP są zbędne, ponieważ posiadasz już inne pluginy z tymi samymi funkcjami.
- Korzystasz z silnika proxy bazującego na bungeecordzie, co jest złym wyborem. Każdy z tych silników posiada sporo poważnych problemów, których naprawienie zepsułoby kompatybilność z wieloma pluginami, a osoby rozwijające te silniki bardzo tego nie chcą. Zalecam wymienić go na Velocity, który jest lepszy pod każdym względem.
- Przypisujesz zbyt dużo ramu dla serwera - więcej przypisanego ramu = więcej używanego ramu = dłuższe czasy GC. Dla tylu graczy wystarczy 12gb.
- Masz zrobione bardzo dużo swapu, który jest zbędny przy tej ilości ramu. Aktualnie nic w niego nie wchodzi, ale gdyby tak się stało to wydajność mocno by spadła.
- W przypadku jednego trybu używanie proxy oraz lobby jest zbędne, a nawet negatywnie wpływające na samych graczy. Serwery te zwiększają czas łączenia się gracza z głównym serwerem.


Najwięcej tu da zakup lepszej maszyny (oraz rozwiązanie problemu wycieku pamięci). Domyślam się, że serwer stoi na Hetznerze, a więc ok. 210zł. Hetzner nie posiada ochrony przed ddosami, a taka która wystarczyłaby pod tą ilość graczy to ok. 430zł. W cenie ok. 290zł, a więc połowę tego co (prawdopodobnie) płacisz teraz, dostaniesz 6 dedykowanych wątków procesora Ryzen piątej generacji na hostingu Pufferfish razem z pełną ochroną przed ddosami oraz customowym silnikiem z w pełni stabilnymi asynchronicznymi pathfindingiem i trackingiem, co przekłada się na dwukrotnie niższe wykorzystanie głównego wątku przez entity.

Edytowane przez Helios1993
Odnośnik do komentarza
https://skript.pl/temat/54195-problem-z-optymalizacj%C4%85-serwera/#findComment-329149
Udostępnij na innych stronach

  • 0
7 godzin temu, Helios1993 napisał:

Najwięcej tu da zakup lepszej maszyny (oraz rozwiązanie problemu wycieku pamięci). Domyślam się, że serwer stoi na Hetznerze, a więc ok. 210zł. Hetzner nie posiada ochrony przed ddosami, a taka która wystarczyłaby pod tą ilość graczy to ok. 430zł. W cenie ok. 290zł, a więc połowę tego co (prawdopodobnie) płacisz teraz, dostaniesz 6 dedykowanych wątków procesora Ryzen piątej generacji na hostingu Pufferfish razem z pełną ochroną przed ddosami oraz customowym silnikiem z w pełni stabilnymi asynchronicznymi pathfindingiem i trackingiem, co przekłada się na dwukrotnie niższe wykorzystanie głównego wątku przez entity.

Dziwne bo jeszcze nie dawno tak polecałeś bloom.host jako najlepszy hosting, a już jednak nie.

 

7 godzin temu, Helios1993 napisał:

- Korzystasz z pluginu FAWE, który najprawdopodobniej już uszkodził pliki twojego świata. Usuń go i zaplanuj nową edycję serwera z nowo wygenerowanym światem.

Czekaj czekaj, ja może o czymś nie wiem ale od kiedy FAWE psuje świat tak btw?

 

Co do tematu, to można zauważyć, że Citizens pobiera aż 16% cpu, czyli coś tu jest nie tak

Edytowane przez kerpson
Odnośnik do komentarza
https://skript.pl/temat/54195-problem-z-optymalizacj%C4%85-serwera/#findComment-329152
Udostępnij na innych stronach

  • 0
7 godzin temu, kerpson napisał:

Dziwne bo jeszcze nie dawno tak polecałeś bloom.host jako najlepszy hosting, a już jednak nie.

Świat hostingów stale się zmienia i trzeba go aktywnie obserwować aby wiedzieć co w danym momencie jest najwyżej w rankingu. Pufferfish jest nowym hostingiem, który oferuje dwie ważne funkcje nad Bloomem: filtry layer7 oraz zoptymalizowany silnik. Bloom próbował już odwzorować ten silnik w formie open source, lecz przez problemy ze stabilnością i ograniczony czas programisty projekt został porzucony. Aktualnie Bloom pracuje nad własnymi filtrami layer7, więc gdy zostaną już one wprowadzone to będzie on lepszą opcją od Pufferfisha pod duże sieci serwerów, ale nadal będzie przegrywał w przypadku pojedynczych serwerów. Oba hostingi są bardzo porównywalne do Intela i AMD.

7 godzin temu, kerpson napisał:

Czekaj czekaj, ja może o czymś nie wiem ale od kiedy FAWE psuje świat tak btw?

Od zawsze, ten plugin jest bardzo niestabilny. Możliwe, że sam spotkałeś się kiedyś z problemami freezów clienta na spawnach, niepoprawnie działających minimap czy deszczem przelatującym przez bloki, lub słyszałeś o wydarzeniu nazwanym przez społeczność "The Wartening", które zamieniało każdy blok w świecie na nether wart block. To wszystko wina uszkodzonych przez FAWE plików świata oraz innych jego błędów, a problemów jest dużo więcej gdy przyjrzysz się ze strony administratora.

7 godzin temu, kerpson napisał:

Co do tematu, to można zauważyć, że Citizens pobiera aż 16% cpu, czyli coś tu jest nie tak

Setki NPC wygenerowane z pluginu Sentinel.

Odnośnik do komentarza
https://skript.pl/temat/54195-problem-z-optymalizacj%C4%85-serwera/#findComment-329169
Udostępnij na innych stronach

  • 0
18 godzin temu, Helios1993 napisał:

Dużo z tego nie odczytam, ponieważ robiłeś ten profiler zdecydowanie zbyt długo - czas czas profilera powinien wynosić maksymalnie 5 minut. Opiszę więc to, co warto zmienić głównie z informacji poza samym profilerem:


- Wartość opcji 'max-concurrent-sends' w globalnym configu Papera jest ustawiona na 2, co jest jednym z głównych powodów (oraz jedynym powodem na twoim serwerze) wolnego ładowania chunków. Zwiększ ją na start do 50, a maksymalnie do 200.
- Procesor z którego korzystasz jest aż dwie generacje do tyłu, na dodatek w wolniejszej wersji. Poszukaj maszyny z nowszym procesorem.
- Masz na serwerze bardzo dużo NPC z pluginu Citizens - ogranicz ich ilość lub przejdź na wydajniejszy plugin, np. znpcs.
- Posiadasz wyciek pamięci na serwerze, zrób heapdumpa i sprawdź co go powoduje.
- Korzystasz z pluginu FAWE, który najprawdopodobniej już uszkodził pliki twojego świata. Usuń go i zaplanuj nową edycję serwera z nowo wygenerowanym światem.
- Pluginy stackujące moby znacznie pogarszają wydajność - wprowadzają serwer w nieskończoną pętlę spawnowania i stackowania.
- Plugin SkQuery, jeśli źle wykorzystany, może otworzyć lukę pozwalającą na kopiowanie przedmiotów. Posiadasz już jego nowszą alternatywę, SkBee, więc nie jest on potrzebny.
- Masz na serwerze sporo villagerów, które są najbardziej zasobożernym mobem w grze i niszczą ekonomię. Zalecam je wyłączyć.
- Pluginy Worldborder, SternalBoard, CommandPanels, SuperVanish oraz BetterRTP są zbędne, ponieważ posiadasz już inne pluginy z tymi samymi funkcjami.
- Korzystasz z silnika proxy bazującego na bungeecordzie, co jest złym wyborem. Każdy z tych silników posiada sporo poważnych problemów, których naprawienie zepsułoby kompatybilność z wieloma pluginami, a osoby rozwijające te silniki bardzo tego nie chcą. Zalecam wymienić go na Velocity, który jest lepszy pod każdym względem.
- Przypisujesz zbyt dużo ramu dla serwera - więcej przypisanego ramu = więcej używanego ramu = dłuższe czasy GC. Dla tylu graczy wystarczy 12gb.
- Masz zrobione bardzo dużo swapu, który jest zbędny przy tej ilości ramu. Aktualnie nic w niego nie wchodzi, ale gdyby tak się stało to wydajność mocno by spadła.
- W przypadku jednego trybu używanie proxy oraz lobby jest zbędne, a nawet negatywnie wpływające na samych graczy. Serwery te zwiększają czas łączenia się gracza z głównym serwerem.


Najwięcej tu da zakup lepszej maszyny (oraz rozwiązanie problemu wycieku pamięci). Domyślam się, że serwer stoi na Hetznerze, a więc ok. 210zł. Hetzner nie posiada ochrony przed ddosami, a taka która wystarczyłaby pod tą ilość graczy to ok. 430zł. W cenie ok. 290zł, a więc połowę tego co (prawdopodobnie) płacisz teraz, dostaniesz 6 dedykowanych wątków procesora Ryzen piątej generacji na hostingu Pufferfish razem z pełną ochroną przed ddosami oraz customowym silnikiem z w pełni stabilnymi asynchronicznymi pathfindingiem i trackingiem, co przekłada się na dwukrotnie niższe wykorzystanie głównego wątku przez entity.

Dobrze w takim razie wprowadzę zmiany i na dniach odezwę się ponownie. Dzieki wielkie za tak szczegółowe porady ! Co do maszyny... Tak jest z hetznera, dodatkowo mamy zabezpieczony beckend więc płacimy w zależności od ilości graczy. 

 

Edytowane przez Majster3
Dopisanie więcej informacji
Odnośnik do komentarza
https://skript.pl/temat/54195-problem-z-optymalizacj%C4%85-serwera/#findComment-329186
Udostępnij na innych stronach

  • 0
5 godzin temu, Helios1993 napisał:

Od zawsze, ten plugin jest bardzo niestabilny. Możliwe, że sam spotkałeś się kiedyś z problemami freezów clienta na spawnach, niepoprawnie działających minimap czy deszczem przelatującym przez bloki, lub słyszałeś o wydarzeniu nazwanym przez społeczność "The Wartening", które zamieniało każdy blok w świecie na nether wart block. To wszystko wina uszkodzonych przez FAWE plików świata oraz innych jego błędów, a problemów jest dużo więcej gdy przyjrzysz się ze strony administratora.

12 godzin temu, kerpson napisał:

Spróbuje się dowiedzieć o co chodzi, ale szczerze nigdy się z czymś takim nie spotkałem, używam FAWE od lat i zero zastrzeżeń.

Odnośnik do komentarza
https://skript.pl/temat/54195-problem-z-optymalizacj%C4%85-serwera/#findComment-329194
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...