Optimizacija servera!

Započeo ʙᴜsᴛᴇʀ ᴄᴏɴɴᴇʟʟʏ, April 02, 2020, 13:34:30 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

Problem(error/warning): Moj mod kao mod je dosta pun, kako sa vozilima tako i sa mapama, sistemima i ostalo... Posle update-a na kome sam ubacio neke stvari, usao sam u server i odjednom pocelo je sve da secka, kao pomalo da laga, mislio sam da je do kompa, ali se ispostavilo da nije jer sam usao na SA i uopste nije lagalo... Sta da uradim da maksimalno optimizujem server, da smanjim lag, postoje li neki specijalni pluginsi za to?
Dio skripte: //
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Founder of
Digression Community

Smanjuj stringove na onliko koliko ti treba na nekim mijestima vjv ti je i nepotreban za mape koristi optidraw
AKO ZNAS ZA BOGA I ZA GLAVU ZIVU NE BRANI MI DOKTORE RAKIJU I PIVU


Tenks! :D
Jos neko?
Founder of
Digression Community

Za proveru perfomansi servera mozes koristiti plugin profiler koji ce ti dati tacan pregled izvrsavanja.
Optimizacija je sama po sebi jedna obimna tema i tesko je pokriti sve stvari.
   • Smanji ponavljanje i visak koda i pokusaj da koristis sto je manje memorije moguce.
   • Nemoj koristiti globalne promenljive ukoliko to nije potrebno.
   • Promeni nacin cuvanja podataka(ako vec nisi) barem na SQLite ili MySQL.
   • Izbaci stare include fajlove i plugine ako ih koristis i pronadji novije, up to date, sa boljom podrskom...
   • Smanji dodeljenu memoriju stringovima ili koristi dinamicne PawnPlus stringove.
   • Ukloni tajmere koje ne koristis ili koji bi mogli da se smeste u neki drugi tajmer.
   • Lag pri kretanju kroz mapu bi ti moglo stvarati previse objekata koje si dodao i koji se konstanto loaduju dok ti prolazis.
   • Pokusaj izbaciti beskorisne provere ili nadji bolju i noviju zamenu istima.
   • Pokusaj vise koristiti iteratore i smanji vreme petlji kojima treba vise vremena.
   • Kod nekih matematickih provera mozes poboljsati uslove da ne mora da racuna ako vec ne treba.
   • Nemoj koristiti filterskripte ukoliko bas ne moras(ne odnosi se na male filterskripte).
   • Izbaci nepotreban kod iz OnPlayerUpdate i ako bas moras da ostavis, stavi taj kod u neki sporiji tajmer.
   • Izbaci ulogovan provere i IsPlayerConnected, jer ulogovan proveru mozes staviti u OnPlayerText a IPC zameniti sa proverom promenljive: if(playerid == INVALID_PLAYER_ID)
   • Kada radis na modu i ne planiras jos da ga pustis u rad koristis -d3 parametar dok u release verziji koristi -d2 zbog dodatnih code optimizacija.
   • Kada pravis promenljivu na primer u nekoj funkciji i neces je koristiti u svim uslovima onda nju pravi samo u tom uslovu u kom koristis tu istu promenljivu.
   • Nemoj koristiti tabsize u pragma direktivi i drzi kod urednim.
   • Ako koristis default tajmere mozes skinuti timerfix ili preci na y_timers.
   • Pokusaj izbeci bespotrebna formatiranja poruka.
Poslednja Izmena: April 03, 2020, 00:32:34 PRE PODNE od algorhitmically
[Include] > Optidraw
[Include] > Model-Sizes-SQL

Citat: algorhitmically poslato April 03, 2020, 00:28:38 PRE PODNE
Za proveru perfomansi servera mozes koristiti plugin profiler koji ce ti dati tacan pregled izvrsavanja.
Optimizacija je sama po sebi jedna obimna tema i tesko je pokriti sve stvari.
   • Smanji ponavljanje i visak koda i pokusaj da koristis sto je manje memorije moguce.
   • Nemoj koristiti globalne promenljive ukoliko to nije potrebno.
   • Promeni nacin cuvanja podataka(ako vec nisi) barem na SQLite ili MySQL.
   • Izbaci stare include fajlove i plugine ako ih koristis i pronadji novije, up to date, sa boljom podrskom...
   • Smanji dodeljenu memoriju stringovima ili koristi dinamicne PawnPlus stringove.
   • Ukloni tajmere koje ne koristis ili koji bi mogli da se smeste u neki drugi tajmer.
   • Lag pri kretanju kroz mapu bi ti moglo stvarati previse objekata koje si dodao i koji se konstanto loaduju dok ti prolazis.
   • Pokusaj izbaciti beskorisne provere ili nadji bolju i noviju zamenu istima.
   • Pokusaj vise koristiti iteratore i smanji vreme petlji kojima treba vise vremena.
   • Kod nekih matematickih provera mozes poboljsati uslove da ne mora da racuna ako vec ne treba.
   • Nemoj koristiti filterskripte ukoliko bas ne moras(ne odnosi se na male filterskripte).
   • Izbaci nepotreban kod iz OnPlayerUpdate i ako bas moras da ostavis, stavi taj kod u neki sporiji tajmer.
   • Izbaci ulogovan provere i IsPlayerConnected, jer ulogovan proveru mozes staviti u OnPlayerText a IPC zameniti sa proverom promenljive: if(playerid == INVALID_PLAYER_ID)
   • Kada radis na modu i ne planiras jos da ga pustis u rad koristis -d3 parametar dok u release verziji koristi -d2 zbog dodatnih code optimizacija.
   • Kada pravis promenljivu na primer u nekoj funkciji i neces je koristiti u svim uslovima onda nju pravi samo u tom uslovu u kom koristis tu istu promenljivu.
   • Nemoj koristiti tabsize u pragma direktivi i drzi kod urednim.
   • Ako koristis default tajmere mozes skinuti timerfix ili preci na y_timers.
   • Pokusaj izbeci bespotrebna formatiranja poruka.
Auu hvala puno cobraa!
Founder of
Digression Community

Citat: Lestra_Dev poslato April 02, 2020, 14:25:31 POSLE PODNE
Smanjuj stringove na onliko koliko ti treba na nekim mijestima vjv ti je i nepotreban za mape koristi optidraw