Avatar billede lakana Nybegynder
21. juni 2006 - 11:37 Der er 2 kommentarer og
2 løsninger

Tælle antal online via sessionfiler

Er der en grund til, at man ikke tæller antal online på ens server igennem hvor mange filer der ligger i session.save_path?

Jeg synes da klart, at det ville være lettest at lave nogle regulære udtryk og på den måde hive hvilket brugernavn der ligger i hver fil ud?

Jeg kan overhovedet ikke forstå hvorfor man skal igang med alt det besvær mht. opdatering hvert X sekund for at tjekke om brugeren stadig er på siden, når det kan gøres så let?
Avatar billede hjochums Nybegynder
21. juni 2006 - 11:48 #1
Lav en 'online' tabel med sessionID, login og logindato, som du opdatere en gang imellem når brugerne browser din side (Helst ikke hver gang).

I denne kan du lave et opslag på antal online.

I tabellen kunne man også gemme browser type osv :)

Ideen med at kigge i session mappen er en for stor belastning for filsystemet. Især hvis man også skal ind i filerne og hente login.
Avatar billede xtr0 Nybegynder
21. juni 2006 - 23:31 #2
hjochums >
"Ideen med at kigge i session mappen er en for stor belastning for filsystemet. Især hvis man også skal ind i filerne og hente login."
Det ved jeg nu ikke rigtigt, når du tæller antal online tæller man antal filer (Kender ikke lige strukturen på en session mappe, måske en session til en bruger pr. sessionid) og det virker simpelt nok.
Jeg tror ikke det er en stor belastning for filsystemet da MySQL jo baserer sine databaser på filer placeret på systemet, og lige præcis der må det være helt det samme, hvis det er gjort rigtigt. Og MySQL er jo også lidt af en ressource-sluger.

Lakana >
Lav en test på det, se hvad der virker bedst og hurtigst.
Avatar billede hjochums Nybegynder
22. juni 2006 - 00:00 #3
Det er en fil pr. sessionid, som skal læses pr. request mod serveren.

Normalt vil mysql ligge tabellen i ram'en, hvis der er plads nok, men ellers kan man jo lave en tabel af typen MEMORY, hvorefter man er sikker på den ligger i ram'en :)
Avatar billede xtr0 Nybegynder
22. juni 2006 - 03:28 #4
Aha.. Så er det nok løsningen. Havde bare læst en del om at køre det over filsystemet. Men efter jeg har fået adgang til en virtual server er jeg rimelig paranoid overfor hvad der går over MySQL da den bare er slow og det andet har virket fint i små test systemer.

Jeg ville nok vælge hjochums løsning til dette, hvis det er en større side.
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