Kako pratiti online korisnike i NE zaklati server?

Pozdrav svima,

evo jedno malo zahtjevnije programersko/serversko pitanje, pa molim sve znalce za nekakav konkretan odgovor.

Radim jednu business aplikaciju koju ce koristiti cca 300 korisnika svakodnevno.

Tehnologija : PHP, MySQL, Jquery, Json, Flash

Necu sad ulaziti u samo funkcionalnost, no vrlo je vazno da administrator moze vidjet sve trenutne online korisnike, uputiti im chat, vidjet vrijeme logiranje, trajanje session-a i sl.

Sve gore navedeno nije problem napraviti i rjeseno je.

Problem je sljedeci;

Pracenje korisnika je izvedeno na nacin da se putem ajaxa svakih sekundu vremena salje insert na bazu sa relevantnim informacijama … tipa UID-a korisnika, trenutnog vremena, itd itd …

Sad sam primjetio da kad se spoji cca 10 korisnika da se naglo poveca load servera, i strasno se digne razina potrosnje memorije, procesora i ostalih serv. resursa na pogadjate … mysqld process.

Sto nije ni cudno … jer 10 korisnika svaku sekundu radi insert na bazu … to je na 10 spojendih korisnika 10 inserta po sekundi u bazu …

Ima li netko drugu ideju kako bezbolnije pratit korisnike … bez tih silnih inserta u bazu … a da opet funkcionira sve gore navedeno …

Odnosno jos bolje pitanje, dali netko zna na koju foru facebook prati user online status … odnosno tko je online a tko “nije” konkretno na chatu.

Btw … server je VPS … 1 gb rama, 2 virtualna procesora …

Hvala svima.

Prvo bi trebao optimizirati bazu, ako već nisi, probati staviti refresh na 2-3 sec, u ASP.NETu postoji dobra fora sa on session_end pa možda ima i kakva extenzija za php tak da recimo nemaš nikakvog upisa u bazu opće do session_enda a u session spremaš sve što treba pa onda napraviš jedan insert na kraju, vjerojatno postoji extenzija i u php-u za to,treba se pozabaviti malo više tom stvari


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja