Avatar billede ohhelpme Nybegynder
28. april 2010 - 19:06 Der er 7 kommentarer og
1 løsning

online

hej,

Hvad er den hurtigst, stabile, ikke krævende måde at lave et online system i php?

altså et system som siger om brugeren er online eller offline

altså pt. sender jeg bare tid i sql også tjekker den bare tiden i db hele tiden... men der må da være en mindre recurce krævende måde at gøre dette på...

ps. for mig er det meget vigtigt at de forskellige systemer ikke kræver det store.. da det er en meget overbelastet server...
Avatar billede repox Seniormester
28. april 2010 - 19:41 #1
Hvilken del af det du allerede har lavet mener du er mest resourcekrævende? Eventuelt kom med noget kildekode, så vi også kan vurdere sagen...
Avatar billede ohhelpme Nybegynder
28. april 2010 - 20:00 #2
jeg mener... er der ikke en måde hvor man ikke skal kontakte sql hele tiden?

sådan ikke skal kontakte sql hver gang en bruger reloader / klikker på en aden side...

kan man gøre noget alaa.. den kun kontakter sql hvert 2 min.
lige nu har jeg bare et lille stykke kode på hver side som sætter den aktuelle tid i sql..

ps. ved godt jeg ikke forklare mig så godt lige nu ^^
Avatar billede repox Seniormester
28. april 2010 - 20:10 #3
Igen - det er nemmere at vurdere dit resourceforbrug hvis man har noget at gå ud fra...

Alternativt er her et fif; brug en session til at afgøre hvornår brugeren sidst har opdateret sin sidste aktivitet i databasen - f.eks. fem minutter. Hvis der er aktivitet efter den grænse, opdater da databasen.
Og grænsen for hvornår man ikke længere står som online kunne jo så være ti minutter. Det giver et vindue på fem minutter hvor du reelt ikke ved om brugeren stadig er online eller ej, men det kræver færre databasekald.
Avatar billede intenz Novice
28. april 2010 - 20:56 #4
Du kan også kigge på hvilken storage engine du bruger til at gemme dataet i (evt. en kombination med repox's kommentar).

Hvis du bruger MyISAM eller InnoDB, kan du opnå en stor hastighedsforøgelse ved at bruge en MEMORY tabel i stedet. Så kan MySQL hente/skrive direkte til hukommelsen i stedet for til disken. Det gør stor fordel i forhold til hastigheden, da disken er mange gange langsommere end RAM'en. Og du sparer også ressourcer på disken (disk I/O).

Du skal så bare huske at rydde op i tabellen når de besøgende ikke længere er online, så den ikke på sigt kommer til at sluge al hukommelsen på serveren.
Avatar billede arne_v Ekspert
29. april 2010 - 03:38 #5
Det er ret simple operationer at vedligeholde online status. Det burde ikke belaste en database ret meget.

PHP har desværre men af gode grunde ikke et application object. Du kunne prøve at lege lidt med shm_ funktionerne.
Avatar billede arne_v Ekspert
13. juni 2010 - 04:25 #6
ohhelpme?
Avatar billede ohhelpme Nybegynder
20. august 2010 - 14:03 #7
aaaaa
Avatar billede repox Seniormester
20. august 2010 - 15:30 #8
Var der ikke en eneste kommentar du fandt brugbar?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester