CS 1.6 zjada za duzo cpu (VPS)
Fiziol
16.03.2015
Witam mam problemy z odpowiednim skonfigurowaniem VPS pod cs 1.6. Paramatry VPS :
Wirtualizacja: KVM
Lokalizacja: Poznań
Procesor: 2x3.0 GHz
RAM: 1536 MB
Łącze: gwarantowane 25Mbit ale podczas testowania oscyluje w granicach 50-60 Mbit
OS: Debian 7 32 bit
Od miesiąca próbuje poprawnie skonfigurować serwer 1.6 aby prawidłowo działał i zjadał jak najmniej zasobów. Otóż przy 15 osobach na serwerze vps jest mocno obciążony i skaczą pingi powyżej 100 i 2 sek się uspokaja, a CPU ma zużycie wtedy po 60-70 %. Jak wiadomo to taki vps powinien spokojnie utrzymac 60 osób.
Komendy startowe i ustawienia w serwer.cfg
./hlds_run -game cstrike +ip -pingboost 2 +sys_ticrate 325 +exec server.cfg +map de_dust +ip xxx +port 27016 +maxplayers 20 &
Serwer.cfg
// Wydajnosc
fps_max 350 // ilosc srednich fps'ow
fps_modem 0 // fps_modem - ustawia maksymalny framerate, ale tylko w grze internetowej.
host_framerate 0 // Ustawia "czas/zegar" serwera, ale tylko w SinglePLayer i podczas odgrywania dema, można jej używać do przewijania.
sys_ticrate 350 // wartosc ticrate
/// Konfiguracja lacza i rate
sv_maxrate 25000 // maksymalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna,
sv_maxupdaterate 101 // maksymalna wartosc jaka klient moze miec przy cl_updaterate,
sv_minrate 0 // minimalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna
sv_minupdaterate 40 // minimalna wartosc jaka klient musi miec przy cl_updaterate,
sv_maxunlag 1 // maksymalny czas w sekundach kompensacji lagow
Co zaobserwowałem dotychczas pingboost najlepiej jak jest ustawiony na 2. Pingbost 0 byly straszne wahania pingu od 30-60, Pingbost 1 ping w okolicach 30, Pingbost 2 ping w okolicach 24-27, Pingbost 3 ping w okolicach 24-27 + większe zużycie CPU. Ticrate mialem ustawione na 1200 a serwer i tak podawał 200-700 fps i przy 8 graczach cpu szlo na 80% zużycia. Wiec dalem na 325 i fps trzymie w granicach 290-300 ale czasami spada do 50.
Serwer przeinstalowałem na stare binarki i amxmodx bo na nowym waliły sie strasznie errory.
Binarki 5787
AMXMODX v1.8.1.3746, Ptahhotep's Team Balancer v1.8b3, MetaMod v1.19p32
Nie wiem oco chodzi z tym ustawieniem kernela na 1000hz i czy to cos daje ( mam dostep root ) . A i czy obecny system jest odpowiedni. Czy odpalanie w sesji ma wpływ na to moze lepiej odpalić screen ?
Licze na sensowne odpowiedzi. A nie wylącz amx to bedziesz mial mniejsze zużycie bo to sie mija z celem.
Użytkownik Fiziol edytował ten post 16.03.2015 12:26
GwynBleidD
16.03.2015
Niby emulacja KVM, ale wiele hostingów potrafi zrobić wszystko żeby wcisnąć jeszcze 1 VPSa na maszynę...
Sprawdź wersję jądra i czy nie jest jakoś customizowany przez hosting. Zaktualizuj jądro do najnowszego lub po prostu zmień na zwykłe jeśli jest przez hosting wgrane. Jeśli nie możesz zmienić jądra to kłóć się z hostingiem - w emulacji KVM powinno być to zawsze możliwe, więc może to oznaczać OpenVZ co by tłumaczyło koszmarną wydajność
Możesz też spróbować kompilować własne jądro.
Fiziol
16.03.2015
wersja jądra :
uname -r
3.2.0-3-686-pae
dpkg -l | grep linux-image
ii linux-image-3.2.0-3-686-pae 3.2.23-1 i386 Linux 3.2 for modern PCs
ii linux-image-686-pae 3.2+45 i386 Linux for modern PCs (meta-package)
Ja nic z tym nie robiłem. No cóż będę musiał przeczytać kolejna lekturę na temat budowy, konfiguracji i kompilacji jadra.
A czy powyższe ustawienia serwera sa dobre ?? Te które podałem w pierwszym poście ?
Ocentos 5 czy 6 ?? 32 czy 64 bit ?? czy tak samo przebiega instalacja jak w Debianie czy podobnie ??
Ale chyba najpierw musze sie uporac z jadrem bo nawet zmiana systemu nie pomoże jak będę mial slab zasoby.
Użytkownik Fiziol edytował ten post 16.03.2015 14:28
GwynBleidD
16.03.2015
Jak zmieniasz system to jądrem się nie przejmuj, zmieni się razem z systemem na domyślne tego systemu. CentOS najnowszy, 64 bitowy (debiana też powinieneś mieć 64, wszak sam HLDS z tego nie korzysta ale zawsze jest to lepsza stabilnosć samego systemu na danym sprzęcie). Od razu ostrzegam, że CentOS nie jest już tak banalny w konfiguracji jak debian.
Ogen Dogen
16.03.2015
Trochę z innej beczki pytanie. Nie używasz przypadkiem tego pluginu ? -> http://amxx.pl/topic...n-antywallhack/
On zużywa bardzo dużo CPU.
Fiziol
16.03.2015
NIE nie używam fake wh.
tu masz spis aktywnych pluginów. Dodam że amxbans byl troszkę przerabiany bo wersja ssban nie działała prawidłowo, przy kompilacji nie bylo blędów i errorow tez nie ma, lecz gdziejs czytalem o niezamkniętych pętlach ktore tez niepotrzebnie obciążają serwer.
16:37:56 amx_plugins
16:37:56 Currently loaded plugins:
name version author file status
[ 1] AMXBans Core Gm 1.5.1 GmStaff & xPaw amxbans_core.am running
[ 2] AMXBans Main Gm 1.5.1 GmStaff, xPaw, ~ amxbans_main.am running
[ 3] Admin Commands 1.8.1 AMXX Dev Team admincmd.amxx running
[ 4] Admin Help 1.8.1 AMXX Dev Team adminhelp.amxx running
[ 5] Slots Reservation 1.8.1 AMXX Dev Team adminslots.amxx running
[ 6] Multi-Lingual System 1.8.1 AMXX Dev Team multilingual.am running
[ 7] Menus Front-End 1.8.1 AMXX Dev Team menufront.amxx running
[ 8] Commands Menu 1.8.1 AMXX Dev Team cmdmenu.amxx running
[ 9] Players Menu 1.8.1 AMXX Dev Team plmenu.amxx running
[ 10] Maps Menu 1.8.1 AMXX Dev Team mapsmenu.amxx running
[ 11] Plugin Menu 1.8.1 AMXX Dev Team pluginmenu.amxx running
[ 12] Admin Chat 1.8.1 AMXX Dev Team adminchat.amxx running
[ 13] Anti Flood 1.8.1 AMXX Dev Team antiflood.amxx running
[ 14] Scrolling Message 1.8.1 AMXX Dev Team scrollmsg.amxx running
[ 15] Info. Messages 1.8.1 AMXX Dev Team imessage.amxx running
[ 16] Admin Votes 1.8.1 AMXX Dev Team adminvote.amxx running
[ 17] NextMap 1.8.1 AMXX Dev Team nextmap.amxx running
[ 18] TimeLeft 1.8.1 AMXX Dev Team timeleft.amxx running
[ 19] Pause Plugins 1.8.1 AMXX Dev Team pausecfg.amxx running
[ 20] Stats Configuration 1.8.1 AMXX Dev Team statscfg.amxx running
[ 21] Restrict Weapons 1.8.1 AMXX Dev Team restmenu.amxx running
[ 22] StatsX 1.8.1 AMXX Dev Team statsx.amxx running
[ 23] Info po smierci 1.0 DarkGL inf_smierc.amxx running
[ 24] RoundSound 2.0 BETA speedkill RoundSound.amxx running
[ 25] c4 timer 1.1 cheap_suit c4timer.amxx running
[ 26] Defuse Bar Fix 0.5 S34Qu4K3 defuse_bar_fix. running
[ 27] Advanced Bullet Damage 1.0 Sn!ff3r abd.amxx running
[ 28] Admin Spectator ESP 1.3 KoST admin_spec_esp. running
[ 29] Allow round finish 1.0.2 EKS & Sn!ff3r Allow_round_fin running
[ 30] Don't say IPs 0.1 dontsayips.amxx running
[ 31] Restrict Advertising 1.0 Alka & Sn!ff3r No_advertisemen running
[ 32] Team Balancer 1.8b3 Ptahhotep ptb.amxx running
[ 33] AFK Bomb Transfer 0.4 VEN afkbombtransfer running
[ 34] Descriptive 'Fire in t 0.1 VEN descriptive_fir running
[ 35] AdminListen 2.3x /dev/ urandom adminlisten.amx running
[ 36] Autoresponder/Advertis 0.5 MaximusBrood ad_manager.amxx running
[ 37] Spawn Protection 7.0 Peli spawnprotection running
[ 38] Parachute 1.3 KRoT@L/JTP10181 parachute.amxx running
[ 39] Czat log 0.1 Miczu czat_log.amxx running
[ 40] Reset Score 1.0 Silenttt resetscore.amxx running
[ 41] Flash Snitch 1.0 Sn!ff3r flash.amxx running
[ 42] BS Limiter 1.1.1 Pavulon bs_limiter.amxx running
[ 43] BestPlayer 1.0 KaMaZZ najlepszygracz. running
[ 44] Invisible Spectator 0.2 ConnorMcLeod invisible_spect running
[ 45] VIP Ultimate 12.3.0.2 benio101 & speed vip.amxx running
[ 46] Kill assist (for CS) 1.2b Digi (www.thehun kill_assist.amx running
[ 47] AMXBans Freeze 1.0 |PJ|ShOrTy amxbans_freeze. running
[ 48] AMXBans Flagged 1.0.3 AMXBans Dev Team amxbans_flagged running
[ 49] AMXBans: Screens 0.4 GmStaff amxbans_ssban.a running
Jak sie dodaje ukryty/zwijany tekst ?? nie umiem tego tutaj zastosować a nie kazdy chce Ciągłe przesuwać i czytac te same pluginy.
Użytkownik Fiziol edytował ten post 16.03.2015 16:51
Fiziol
16.03.2015
Nie moge juz edytować postu wyżej ;/ i pisze kolejny.
Oto 3 ss ( załącznik )pracy z komendy top aktualnie. na pierwszym serwerze serwerze jest sa 3 osoby a na drugim hltv. Dodam ze w godzinach nocnych gdy na serwerze jest tylko hltv serwer zużywa 4,5-6 % bez skoków zasobów cpu i jest bardzo stabilny. a teraz na pusto od 5 do 30 %.
Użytkownik Fiziol edytował ten post 16.03.2015 18:54
GwynBleidD
17.03.2015
Wysyłasz jakieś maile z tego serwera VPS? exim4 zużywa podejrzanie dużo zasobów, jeśli nie jest Ci potrzebna poczta to wyłącz go całkowicie, bo ktoś chyba Ci spam rozsyła z Twojego IP.
GwynBleidD
17.03.2015
Zauważyłem jeszcze jednego babola: NIGDY NIE URUCHAMIAJ SERWERA HLDS NA UŻYTKOWNIKU ROOT!!
To jest tylko proszenie się o problemy... przy uruchamianiu serwera na rootcie nie trzeba anonymous żeby ktoś Ci się włamał na VPSa zrobił z nim co tylko chce... Poza tym nawet valve nie zaleca tego, być może z powodu problemów z wydajnością lub stabilnością serwerów.
Fiziol
20.03.2015
Wgrałem OcentOS 6 64bit duzo sie nie rożni od Debiana ( pod względem komend ) myślałem ze będzie gorzej
+ Odpaliłem z konta użytkownika ( nie root )
+ odpaliłem komenda screen ( która bardzo polecam od teraz ) zamiast wrzucać komendę w "tło"
na razie serwer dziala 1 dzień i nie bylem go stanie dzisiaj monitorować w dzień, ale zauważyłem poprawę. Ping został bez zmian ( ale jest stabilniejszy ) serwer zużywa mniej zasobów CPU ( 1,5-2 %) niby nie dużo ale zawsze mniej.
Stabilność CPU i znowu wracamy do punktu wyjścia czasami przy 10 graczach ciągnie 15-20% zasobów CPU i skok na 30% 5-10sek i sie uspokaja. Walimiem all programy od strony www jest stabilniej na pewno. Jeszcze musze porównać wyniki zużycia noca i w dzień. Czy przypadkiem nie pałce za bubla.
Poobserwuje jeszcze i dam znać.
Użytkownik Fiziol edytował ten post 20.03.2015 21:23
GwynBleidD
21.03.2015
Po 1. na zużycie CPU poprzez komendę stats nawet nie patrz, głupieje ten odczyt totalnie przy wielowątkowych serwerach. 64 bitowość też mu nie służy. Z komendy stats interesują Cię tylko FPSy serwera, jeśli są stabilne i na zadowalającym poziomie - odnieśliśmy sukces. Do monitorowania zużycia zasobów polecam htop (bogatszy od topa, kolorowy i mocno konfigurowalny).
Po 2. procesor zawsze będzie używany dość mocno, nie ważne jest jego taktowanie. Gdy odpalisz kilka serwerów na tym VPSie zobaczysz, że jednak będzie dawał radę je pomieścić mimo zużycia 100% serwera łącznie przez wszystkie procesy. Skoki zużycia mogą mieć 2 przyczyny - albo hosting coś kaszani i nie jest to "prawdziwe" KVM, albo któryś z pluginów takie skoki generuje... Właściwie może być to jeszcze wada wrodzona HLDSa, ale nigdy czegoś takiego nie zaobserwowałem. Jeśli nie musisz korzystać z danej wersji binarek, zaktualizuj je do najnowszych, to też może pomóc.
Do zdiagnozowania czy jakiś plugin Ci nie sieje zużyciem procka, polecam profiler amxx (gdzieś na alliedmods go znajdziesz), zdradzi Ci który plugin wykonuje najwięcej kodu i nawet w której dokładnie funkcji. Jeśli jakiś plugin zajmuje zdecydowanie więcej czasu niż inne to jest on prawdopodobnie przyczyną.
Fiziol
25.03.2015
Myślę ze juz problem rozwiązałem. Wróciłem do Debiana i zrobiłem jądro na 1000HZ. VPS sie zmienił w 100% z wydajnością + jeden serwer jest przypisany na jeden rdzeń. I teraz bez problemu serwer przy ponad 10 osobach trzyma 990-1000fps, cpu waha sie w granicach STALE ( bez wahań ponad 5% ) 30% na rdzeń na którym jest serwer . Na razie to dopiero 2 dzień testów ale jest poprawa bardzo duza.
Co do profiler amxx super sprawa zawsze ponad polowe pluginów na serwerze mam przerobionych czasmi wiecej czasmi mniej i sie zastanawiałem czy zawsze mam to optymalnie zrobione ( Dzięki za plugin GwynBleidD ). Ku mojemu zdziwieniu największym pożeraczem zasobów nie jest amxbans czy vip tylko ESP dla admina.
Podsumowując wszystkie rady z Waszej strony, przeczytane poradniki i moje obserwacje:
1. Kupując vps pod cs 1.6 to tylko w wirtualizacji KVM najlepiej zrobić od nowa jajko własne i ustawić je na 1000HZ ( w moim przypadku to było główna przyczyną tak kolosalnych wahań CPU co przekładało sie na ping i lagi na serwerze)
2. Ocentos lepiej sobie radzi z serwerami cs 1.6 od debiana w moim przypadku była to różnica około 1% na rdzeniu. Zawsze wybieramy 64Bit i instalujemy biblioteki 32bit poprostu jest wtedy stabilniej.
3. Przy odpalaniu serwera przypisujemy jeden serwer do jednego rdzenia. Tak jest lepiej z wydajnością + tak zaleca hlds + mamy kontrole nad zużyciem cpu przez serwer.
4. Najlepiej odpalić serwer przez screen mamy wtedy kontrole nad serwerem i możemy np kiedy nam sie podoba otworzyć konsole gdy mamy bana na rcon i zarządzać serwerem z putty
5. Nie warto ustawiać pingbost 3 chyba ze ktos nie ma co robić z pamięcią cpu pingbost 2 daje ten sam rezultat i zużywa mniej cpu.
6. Serwer odpalamy z poziomu użytkownika nie root.
7. Warto czami zobaczyć ile pamięci zużywają poszczególne pluginy czyli zainstalować profiler amxx, moze co niektórzy po instalacji tego "pluginu/modyfikacji amxmodx" zmienia zdanie i zaczną myśleć. Że na prace serwera nie wpływa ilość pluginów a poszczególne pluginy które sa czasem nie potrzebne i zżerają cenne zasoby.
Użytkownik Fiziol edytował ten post 25.03.2015 22:55
GwynBleidD
25.03.2015
Świetne podsumowanie.
Jeszcze dopowiadając: HLDS jest procesem jednowątkowym, więc w żaden sposób nie wykorzysta wielordzeniowego procesora. Dlatego opłaca się odpalić 1 proces na 1 rdzeniu. Na jednym rdzeniu jednak można upchnąć więcej niż 1 hldsa, ale z pewnością nie zrobimy tego na VPSie.
64 bity wybieramy nie ze względu na HLDS, ale ze względu na to, że komputery w dzisiejszych czasach 64 bitowe, więc taki system wykorzysta ich potencjał. Biblioteki 32 bitowe, bo HLDS jest skompilowany na 32 bity.
Screen to chyba oczywistość Polecam też tmuxa, można sobie go dużo lepiej niż screena skonfigurować, podzielić terminal na kilka części ( i np w lewym panelu mieć konsolę hlds, a w prawym np edytować konfigurację).
Pingboost na najnowszych binarkach już się kompletnie nie przydaje.
Dobrze by było gdybyś podał jakieś szczegóły konfiguracji jądra. I nie wiem czy wiesz, to samo jądro mogłeś użyć na CentOSie, zamiast wracać do debiana.
Fiziol
26.03.2015
Dlatego opłaca się odpalić 1 proces na 1 rdzeniu. Na jednym rdzeniu jednak można upchnąć więcej niż 1 hldsa, ale z pewnością nie zrobimy tego na VPSie.
Dobrze by było gdybyś podał jakieś szczegóły konfiguracji jądra. I nie wiem czy wiesz, to samo jądro mogłeś użyć na CentOSie, zamiast wracać do debiana.
Co do 1 hlds na jeden rdzeń na vps to jeszcze muszę to luknąć bo na jednym mam aim/awp 12 slot i przy fulu dzisiaj bylo zużycie 20% wiec jest nadzieja na kolejny maloslotowiec zobaczymy na razie to jest dla mnie dziewiczy teren.
Na forum sa opisy uruchamiania i komend startowych a ,i pełno tematów na o sys_ticrate ( które samemu można sprawdzić w kilka minut). Co do jajka to by sie przydał na forum jakijs dobry poradnik bo wiele osób sie w to pcha a mało poradników jest ja znalazłem tylko do debiana Mam malo czasu ostatnio może kiedyś podzielę sie wiedza na ten temat.
Jeszcze nie moze mi dać spokoju pytanie ile łącze np jak ja mam 25Mbit uciągnie graczy ( przy parametrach podanych w pierwszym poscie )? co do serwera gdzieś czytałem ze gry.wilan gwarantował 10mbit na serwer a mi w 2008 przy 25 graczach super działał serwer.
Mogę jeszcze dodać ze aby postawić serwer cs 1.6 25 slot 1000fps potrzebujemy takie zasoby:
CPU minimum 2,5 GHZ (jeszcze zależy od procesora czy np I7 czy amd) gdzieś u ruskich czytałem że na osobę przypada 50hz ale nie były podane parametry startowe
RAM oj bardzo mało zużywa około 350MB nie wiem czy przy takiej małej ilości odpali stabilnie serwer
Łącze i właśnie tu mam problem
Dziękuje Wszystkim za pomoc.
Dla mnie temat jest Rozwiązany.
Pozdrawiam
GwynBleidD
26.03.2015
Z moich doświadczeń wynika, że powyżej 10Mb/s nie ma co się martwić o łącze.
tytusek
26.03.2015
7. Warto czami zobaczyć ile pamięci zużywają poszczególne pluginy czyli zainstalować profiler amxx, moze co niektórzy po instalacji tego "pluginu/modyfikacji amxmodx" zmienia zdanie i zaczną myśleć. Że na prace serwera nie wpływa ilość pluginów a poszczególne pluginy które sa czasem nie potrzebne i zżerają cenne zasoby.
jest jakiś poradnik na temat profiler amxx gdzie się logi zapisują czy coś, jak go się używa ...
GwynBleidD
27.03.2015
Wyłącznie po angielsku: https://forums.allie...ead.php?t=67752być może kiedyś ktoś go przetłumaczy
Puchate
27.03.2015
Jak wiadomo to taki vps powinien spokojnie utrzymac 60 osób.
Kto Ci takich bzdur naopowiadał? HLDS jest aplikacją jednowątkową, więc może używać tylko jednego rdzenia. Co to za procesor tam masz? Megaherc nie równy megahercowi. Poza tym, jaką masz pewność że przypisane wątki do Twojego serwera to prawdziwe rdzenie procesora, a nie jakieś virtual cpu? Mało który procesor ma taktowanie równe 3GHz, więc tutaj bym szukał przyczyny.
Użytkownik Puchate edytował ten post 27.03.2015 12:15
Fiziol
27.03.2015
Wyłącznie po angielsku: https://forums.allie...ead.php?t=67752być może kiedyś ktoś go przetłumaczy
wczoraj juz przetłumaczyłem i wrzuciłem do nas tylko czekam za akceptacja moderatora
Jak wiadomo to taki vps powinien spokojnie utrzymac 60 osób.
Kto Ci takich bzdur naopowiadał? HLDS jest aplikacją jednowątkową, więc może używać tylko jednego rdzenia. Co to za procesor tam masz? Megaherc nie równy megahercowi. Poza tym, jaką masz pewność że przypisane wątki do Twojego serwera to prawdziwe rdzenie procesora, a nie jakieś virtual cpu? Mało który procesor ma taktowanie równe 3GHz, więc tutaj bym szukał przyczyny.
JAK JUŻ WCZEŚNIEJ NAPISAŁEM POWINIEN a nie MUSI. Moze najpierw przeczytaj wszystko co pisałem w temacie bo temat juz rozwiązałem a oficjalna strona o hlds w 2004 roku bodajże dopada że na 1 osobę przypada minimum 50hz. Temat nie miał za zadanie kłócić sie z kimś ile vps pociągnie slotów czy 100 czy 20 tylko rozwiazac problem.
Pozdrawiam
Użytkownik Fiziol edytował ten post 27.03.2015 14:17