21. juni 2006 - 11:37Der 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?
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.
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 :)
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.
Synes godt om
Ny brugerNybegynder
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.