Lagi na serwerze - a małe wykorzystanie RAMU

Pytania i problemy
BrainyX
BrainyX

Dzień dobry! Prowadzę swój serwer minecraft i mam przeznaczone na niego do 25gb ramu. Niestety serwer laguje a wykorzystanie ramu jest bardzo niewielkie , tzn gdy mam dostępne 25 gb ramu wykorzystywane jest 10 i tps spadają czasami nawet do 8.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Podczas gdy to nie do końca w tę stronę analiza, warto sprawdzić, jak wygląda ogólne obciążenie serwera dedykowanego/VPS podczas działania. Zachęcam do pomocy w tworzeniu narzędzia do tych zadań, będę w stanie ci w miarę od razu ocenić to częściowo:

https://lvlup.rok.ovh/t/okaeri-timings-sprawdz-dlaczego-twoj-serwer-linux-laguje-iowait-irq-steal/20419?u=nieznajomy11

Helios1993
Helios1993

Przypisując więcej niż 12gb tracisz na wydajności, więc zalecam dać mu trochę mniej. Wykonaj timingi oraz profilera i je tu podeślij. Gdzie stoi serwer?

BrainyX
BrainyX

Przepraszam , nie jestem w temacie , jak to zrobić?

BTW po mimo że nikogo niema na serwerze co chwile jest: Can't keep up! Is the server overloaded? Running 5111ms or 102 ticks behind

Helios1993
Helios1993

Wpisz komendę '/timings on', odczekaj 5 minut, wpisz '/timings paste' i wyślij link, potem pobierz plugin spark, wpisz '/spark profiler', po minucie '/spark profiler --stop' i ten link też wyślij. Napisz też na jakim hostingu stoi serwer.

BrainyX
BrainyX

To pierwsze , link: https://timings.aikar.co/?id=681717511cf14533a6b95c92210447c2

wgl wykorzystywane jest aktualnie 3 gb ramu a jest 17 tps

Helios1993
Helios1993

Nadal nie powiedziałeś, gdzie stoi serwer. Zacznij od zmiany flag startowych na te: java -Xms12G -Xmx12G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -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 paperclip.jar nogui

Widzę tu zapewne piracone pluginy. Podeślij plik .jar dowolnego pluginu, sprawdzę czy masz zainfekowany serwer. Sporo z aktualnych pluginów przydałoby się wywalić, a serwer warto zaktualizować do najnowszej wersji.

Korzystasz też ze starego bungeecorda, który jest bardzo zasobożerny i dziurawy. Wymień go na Velocity.

BrainyX
BrainyX

pluginy są sprawdzone , nie miałem innego wyjścia bo na spigocie miały zepsutego paypala i nie mogłem kupić , zmieniłem flagi przetestuję też sparka zobaczymy...

Widzę że się już poprawiło , poproszę kilka osób żeby weszło i dam ci znać.

Helios1993
Helios1993

Wątpię, że są sprawdzone i że "nie miałeś innego wyjścia". 99% pluginów na blackspigocie to wirusy infekujące inne pluginy na serwerze, więc przydałoby się gdybyś podesłał tu jeden z twoich pluginów aby nie narażać graczy.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Serwer wygląda na ogólnie przeciążony, wykonaj tę komendę (na VPS/dedyku, nie na serwerze Minecraft) i podaj dwie linijki, które ci się pojawiają (zajmie to około minuty):

echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"; sleep 60; echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"
BrainyX
BrainyX

Jeden plugin z blackspigota.zip|attachment (668,8 KB)

Niestety nie da się tutaj wysłać w formacie jar więc skompresowałem go do zipa.

A i wykorzystanie Ramu waha się w granicach 3 gb i jak wszedł jeden gość to tps spadły do 16

BrainyX
BrainyX

Nieznajomy11:

echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"; sleep 60; echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"


[13:43:27 INFO]: CONSOLE issued server command: /echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"; sleep 60; echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"
[13:43:27 INFO]: "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"; sleep 60; echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"
Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

No ciekawe.. 😆

Nieznajomy11:

wykonaj tę komendę (na VPS/dedyku, nie na serwerze Minecraft)

BrainyX
BrainyX

ok XDDD

2022-01-24T13:49:00+01:00 102568939 612 8535576 1173357275 14164151 0 673726 25376479 0 0 2022-01-24T13:50:01+01:00 102570648 612 8536908 1173401899 14164151 0 673859 25376582 0 0

@Nieznajomy11

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Raczej nic niepokojącego tutaj od razu się nie rzuca w oczy. Na serwerze Minecraft nadal były problemy w momencie testu?

BrainyX
BrainyX

yy nie spróbuję jeszcze raz jak na serwerze będą dwie osoby , bo jak jest jedna to jest stałe 20 tps

BrainyX
BrainyX

Nieznajomy11:

echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"; sleep 60; echo "$(date --iso-8601=seconds) $(cat /proc/stat | grep -m1 cpu | cut -d ' ' -f 3-)"

2022-01-24T13:57:41+01:00 102605281 612 8545307 1173715027 14166860 0 675251 25381197 0 0 2022-01-24T13:58:41+01:00 102609675 612 8546177 1173756883 14166863 0 675466 25381284 0 0

Robię teraz sparkiem zobaczymy. Na razie nie ma lagów

BrainyX
BrainyX
Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

image|467x118

Nie ma tutaj co analizować w tym raporcie.

Helios1993
Helios1993

Teraz rozpocznij profiler z flagą --only-ticks-over 500.

BrainyX
BrainyX

chyba wiem już co było przyczyną , jeden z administratorów ustawił bardzo wysokie tiki

Michall
Michall

A nie wpadłeś na to aby kupić innych albo używać darmowych? Widzę że poważny projekt się szykuje skoro nawet nie stać cię na kupno podstawowych pluginów 😎

brunoww22
brunoww22 Pionier

@Michall Podstawowe pluginy są darmowe 🙃

Michall
Michall

Zależy od potrzeb danego trybu i czym dla ciebie są podstawowe pluginy

BrainyX
BrainyX

no właśnie no wiem co się dzieje , o co ty chodzi? @Helios1993

https://spark.lucko.me/O7V4EiDpYW

A z tą flagą @Helios1993 to takie coś:

https://spark.lucko.me/F0BlN9DE1l

Helios1993
Helios1993

I właśnie dlatego prosiłem się żebyś powiedział gdzie stoi serwer... Posiadasz bardzo słaby procesor, który przydałoby się wymienić na jakiegoś nowszego ryzena. Do tego coś na maszynie zjada ci prawie cały ram, sprawdź co masz tam jeszcze włączone.

EDIT: Porównałem ten procesor z używanymi przez kilka znanych mi hostingów i zgaduję, że masz ten serwer na contabo. Jeśli trafiłem to straciłeś pieniądze, radzę przejść na prawdziwy hosting.

BrainyX
BrainyX

Tak tam mam hosting , al z tego co widzę to wykorzystanie cpu oscylowało w granicach 15% sprawdzają sparkiem zaraz wyślę dokładną nazwę procesora

Helios1993
Helios1993

Nie patrz na ogólne użycie, a na użycie głównego wątku. Contabo jest znany z oversellingu oraz korzysta z procesorów, które posiadają sporo wątków oraz bardzo niską wydajność jednowątkową (więc ani trochę nie nadają się do serwerów mc). Zostając na tym hostingu nie poprawisz wydajności, ponieważ problem leży po jego stronie.

BrainyX
BrainyX

To jaki tak tani hosting polecasz? Z dużą ilością RAMU , ponieważ potrzebuję obsłużyć kilka serwerów.

Helios1993
Helios1993

Pod sieć serwerów lepiej już brać dedyka. Nie patrz tylko na ram, ale też (i przede wszystkim) na ilość wątków (i oczywiście wysoką wydajność jednowątkową, więc nowszy ryzen od amd lub core od intela), ponieważ jest to dużo ważniejsze w przypadku sieci. Jeśli nie planujesz dużych ilości graczy to może też wystarczyć Bloom, w ofercie serwerów mc posiada funkcję rozdzielenia serwera na kilka. Żeby wybrać dobry pakiet przydałoby się gdybyś napisał ilu planujesz mieć graczy i ile chcesz zrobić trybów.

BrainyX
BrainyX

A jeżeli chciałbym więcej graczy i serwer który utrzyma pod obciążeniem kilkudziestu osób na 4 serwerach? Może trochę przesadzam ale taki który naprawdę nie będzie do 10 osób tylko do 100.

Kamil02167
Kamil02167

To już musisz iść w serwery dedykowane, przykładowo oferta z Ryzenem 5/7 z hetznera.

BrainyX
BrainyX

A właśnie na taką małą sieć serwerów do 100 graczy , ile mniej więcej trzeba kupić RAMU i jakie CPU?

Kamil02167
Kamil02167

Wszystko zależy od tego jak się postarasz, mówi się że 2 vCPU i 8 gb ram to takie minimum per tryb, lobby, czy bungee ofc. zużyje mniej tego ramu.

BrainyX
BrainyX

Okej dzięki , mam do ciebie jeszcze jedno pytanie. Czym się różni dedyk od VPS?

Helios1993
Helios1993

W uproszczeniu vps jest kawałkiem dedyka.

Kamil02167
Kamil02167

Serwery dedykowany jako dedyk to taka "matka". Masz dostęp do całego procesora (przykładowo ryzen 5 - wykorzystujesz wszystkie 12 wątków), masz cały ram, dysk, łącze dla siebie. Dedyki są dzielone przykładowo na VPS. VPS - wydzielona część dla ciebie, możliwy overselling w przypadku niektórych parametrów tj. łącze, CPU. Dedykowany VPS - działający jak zwykły VPS, lecz parametry wydzielone są tylko dla Ciebie, przykładowo oferta turbo na lvlup. Tylko ty masz prawo używać swoich 2 vCPU - żaden somsiad ci nie podkradnie :nosacz:

BrainyX
BrainyX

XD dzięki , ogólnie tak od strony technicznej vps nie różni się od dedyka? A i jeszcze nie powiedzieliściemi @Helios1993 jaki taki hosting wybrać , aby nie przepłacić a mieć dobrze działający serwer , myślę że jeżeli będę kupował to 30 gb RAMU w sumie i jak mówisz 8 cpu.

Helios1993
Helios1993

Hetzner ax41 + bloom/vps z lvlupa z min. dwoma wątkami dla proxy (dla ochrony przed ddosami).

BrainyX
BrainyX
Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Taki odpowiednik wcześniej wspomnianego AX41 z Hetznera, ale za dwa razy drożej — tyle że ma ochronę OVH GAME.

BrainyX
BrainyX

Hetzener? Niewiem jak wpisuje w Google to wyskakuje mi tylko Hostager mógłbyśmi to podlinkować?

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

BrainyX:

Hetzener?

Hetzener

(bez drugiego e)

Kamil02167
Kamil02167

Z drugim e też wyskakuje :kappa:

obraz|504x500

BrainyX
BrainyX

Już znalazłem , dziękuję wam za pomoc. Dziwi mnie tylko dlaczego jak się wpisze dokładną nazwę to nie wyskakuje jako pierwszy. Też wgl mam do was jeszcze takie jedno pytanie , co składa się na cenę vos najbardziej oprócz prądu , bo widzę że dwa razy tyle razu w innej ofercie i trochę lepszy procesor a jest niewiele droższa.

Kamil02167
Kamil02167

Prąd gra największą rolę, też ceny sprzętu, utrzymania sieci, łącza, marża serwerowni (w końcu chcą zarobić, nie wyjść na 0 :kappa:), koszty działalności, administratorów itp. Dużo jest tego :harold:

Helios1993
Helios1993

Nie patrz tylko na ram. Gdy kupujesz maszynę patrz przede wszystkim na wydajność jednowątkową procesora oraz ilość wątków. Lagi na serwerach mc bardzo rzadko są spowodowane brakiem ramu, gdy będzie go za mało to szybciej zauważysz crash serwera niż znaczący wzrost mspt. Patrz też na ilość miejsca na dysku, jest to dobry wyznacznik oversellingu.

BrainyX
BrainyX

tzn. mniej więcej ile Hz potrzebuje? na max 100 osób serwer na wsumie 4 trybach. Bo mówiłeś że jakieś 8 wątków , tylko ile Hz? Z tego co patrzyłem na Hetzener to najtańszy dedyk ma 2 dski NVMe po 500 gb więc trochę mi nie potrzebne tyle ale OK. Jeszcze jedno pytanie , czy taki: AMD Ryzen™ 5 3600 Hexa-Core był by dobry? Czy ten: AMD Ryzen™ 7 3700X Octa-Core ale droższe o 20 euro.

Helios1993
Helios1993

Na taktowanie też nie patrz przede wszystkim, istnieje też mniej znane IPC, czyli ilość instrukcji wykonywanych co każdy cykl. Najlepiej sprawdzaj wydajność jednowątkową na cpubenchmark. Ten z ryzenem 5 ci wystarczy, pamiętaj, że do tego musisz postawić proxy na jakiejś maszynie z ochroną przed ddosami (więc jak pisałem, oferta serwerów mc od blooma (postawisz tam też proxy) lub vps od lvlupa).

BrainyX
BrainyX

Widzę że tutaj na Hentz coś tam są odrazu benchmarki: Tutaj wynik tego ryzena 5: CPU-B: 19914 czy to dobry wynik?

Helios1993
Helios1993
BrainyX
BrainyX

Kurde , widzę że Intel jest daleko przed AMD

Kamil02167
Kamil02167

Ale patrz też jaki Intel. Hetzner ma w swojej ofercie tylko i7 6, 7 i 8 generacji i i9. Myślę że na i9 Ciebie nie stać :thinking:. Tak więc R5 powinien wystarczający być dla Ciebie (póki co).

Helios1993
Helios1993

Może się to zmienić z nową generacją ryzenów, która ma wyjść jeszcze w tym roku (według nieoficjalnych informacji - przed 22 września).

BrainyX
BrainyX

Team Intel czy Amd , ja osobiście mam intela , nie miałem nigdy do czynienia z AMD ale jestem za Intelem XD

Helios1993
Helios1993

Ja za intelem nie przepadam, mam procka od amd już 8 lat i radzi sobie dobrze (oczywiście jak na stary procesor).

system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.