Melyik laggoltatná jobban a szervert?

Indította tudvari, 2013. június 03. - 19:02:22

Előző téma - Következő téma

tudvari

Sziasztok!
Az laggoltatná jobban a szervert,hogyha 1 timerrel idõnként minden ember adatát lementi,vagy az,ha minden embernek van egy külön timere,ami szintén lementi idõnként,de mivel nem egyszerre léptek be,így nem egy idõben.(A belepés után indul el a timer)

divkn

A második megoldás. A 10 percenkénti lezajlás kevésbé laggoltatja a szervert, mint a második. Csak gondolj bele.
Az elsõ megoldás
Mentés
Semmi
Mentés
Semmi
Mentés
Második megoldás
Mentés
Mentés
Semmi
Mentés
Mentés
Én VRP-ben úgy oldottam meg, hogy már akkor menti azt az értéket, mikor az érték módosul.
Ez jóval egyszerûbb megoldás és sokkal gazdaságosabb, mint kb. 200 értéket menteni 10 percenként

tudvari

De arra gondoltam,hogy pl.: a percenkénti 100 sor(1 játékos) mentés,kevésbé laggoltatná,mint az 5 percenkénti 100*30.Szóval amíg percenként vagy egy kis lagg,a másik megoldásnál 5 percenként ennek a többszöröse.De az 1 darab timer,az meg kevésbé laggoltatja,mert a szervert csak azt az egy timert számlálja.

Szasza


DrAkE

Én 15 percenként mentek mindent, meg persze mikor lelép.

Red-Eye

logikusabbnak tûnik a x percenkénti fullos mentés mint mindenkire külön timert tenni

Zsolesszka

Idézetet írta: divkn date=1370279768\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38140\" data-ipsquote-contentclass=\"forums_TopicÉn VRP-ben úgy oldottam meg, hogy már akkor menti azt az értéket, mikor az érték módosul.
Ez jóval egyszerûbb megoldás és sokkal gazdaságosabb, mint kb. 200 értéket menteni 10 percenként
 
Itt a megfelelõ válasz a kérdésedre, olyan adatot felesleges menteni amelyik nem változott ergo felesleges processzor, memória használat ami növeli a számítógép kihasználtságát és akadáshoz (lagg-hoz) vezethet.

tudvari

Szóval mindig,amikor megváltozik egy változója a játékosnak,nyissa meg dini-vel a fájlt és írja át a sort?Szerintem ez is eléggé terhelõ lehet sok játékosnál.

Konstantin


Zsolesszka

Idézetet írta: tudvari date=1370362453\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38140\" data-ipsquote-contentclass=\"forums_TopicSzóval mindig,amikor megváltozik egy változója a játékosnak,nyissa meg dini-vel a fájlt és írja át a sort?Szerintem ez is eléggé terhelõ lehet sok játékosnál.
 
Jó lenne ha utána néznél hogy a dini hogyan menti az adatokat.
 

dini_Set(\"anyámtyúkja.txt\", \"pacsmag\", \"123\");
dini_Set(\"anyámtyúkja.txt\", \"pacsmag2\", \"321\");

 
A fenti kód kérlek szépen az elsõ sornál megnyitja a fájlt megkeresi benne a \"pacsmag\" kulcsot közben elkezdi átmásolni egy \"anyámtyúkja.part\" nevû fájlba az egész tartalmát, ha megtalálja a kulcsot akkor az új értéket írja bele az újonnan létrehozott fájlba, ha végzett az olvasással és az új fájlba való másolással, törli az \"anyámtyúkja.txt\" fájlt, majd újra megnyitja az újonnan létrehozott \"anyámtyúkja.part\" fájlt és szépen létrehozza a korábbi \"anyámtyúkja.txt\" fájlt és átmásolja minden sorát, ezután törli az ideiglenesen létrehozott \"anyámtyúkja.part\" fájlt, és hurrá készen van a \"pacsmag\" adat frissítése, és most kezdõdik az egész elölrõl \"pacsmag2\"\" kulccsal, ugye a fentebb írt nyamvadt két sor adattal.

tudvari

Tudom,majd átfogom írni fwrite-ra.

Zsolesszka

Egyébként igen mikor megváltozik egy adat akkor nyissa meg a fájlt és mentse, ha mondjuk van 30 adat tárolva egy játékosnak még mindig jobb ha akkor ment mikor megváltozik az adat mintsem rendszeres idõközönként minden adatot újra mentsen az összes játékosnak és fõleg nem úgy hogy mindegyik játékosnak külön timer lenne elindítva.
Az értékek sokkal lassabban változnak egy játékosnak, mintsem egy rendszeres idõközönként lévõ idõzítõ menti az adatokat.
Mégha egy admin is használná mondjuk a /killall parancsot még akkor se lenne túl terhelve mivel sok szkriptben egyetlen egy timer benne for ciklus az összes online játékossal menti az adatokat ez gyakorlatilag ugyanaz lenne csak hát egy admin nem irkálja be folyamatosan ezt a parancsot.