Kom ihåg mig?
Home Menu

Menu


Statistik utifrån egen logg

Ämnesverktyg Visningsalternativ
Oläst 2008-09-27, 13:27 #1
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Hej!
Bygger en sida där jag lagt in en "access-log" i en databastabell. Vid varje request läggs en ny rad till.
Skall nu bygga ett statistikverktyg för att analsera denna logg, men hur skall jag bygga den?
Om den skall jobba direkt mot databasen (logg-tabellen), vilket är enklast att koda, blir det nog väldigt tungrott, då den snabbt blir riktigt maffigt stor...
Skall jag göra ett cronjob som bygger statistik och lagrar separat, eller hur skall man tänka?

Tänkte använda Google Analytics, men det funkar nog inte, eftersom ingen sida skickas till klienten (endast en HTTP-header)
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-27, 13:34 #2
MMCs avatar
MMC MMC är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2008
Inlägg: 560
MMC MMC är inte uppkopplad
Mycket flitig postare
MMCs avatar
 
Reg.datum: Jan 2008
Inlägg: 560
Kör ett cronjobb som aggregerar loggen och tömmer tabellen en gång per valfri tidsenhet som passar dig. Du kan köra flera aggregeringsnivåer också, beroende på vilken volym vi talar om.

Edit: men kan du inte bara använda webbserverns loggar?
MMC är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-27, 13:45 #3
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Citat:
Edit: men kan du inte bara använda webbserverns loggar?
Tänkte detta, men behöver mer info... Skall dela upp statistiken på user-nivå, samt behöver vilken header som PHP skickat till klienten.

Så här funkar mitt skript idag
Request -> PHP -> hämta header från db -> logga ip, user-agent och header -> skicka header
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-27, 20:35 #4
jayzee jayzee är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2008
Inlägg: 1 089
jayzee jayzee är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2008
Inlägg: 1 089
Citat:
Originally posted by qson@Sep 27 2008, 13:45
Citat:
Edit: men kan du inte bara använda webbserverns loggar?
Tänkte detta, men behöver mer info... Skall dela upp statistiken på user-nivå, samt behöver vilken header som PHP skickat till klienten.

Så här funkar mitt skript idag
Request -> PHP -> hämta header från db -> logga ip, user-agent och header -> skicka header
Låter som enorm slöseri med databas resurser ifall du frågar mig.
jayzee är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-09-27, 22:49 #5
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Att lagra loggrader i databasen skalar enormt dåligt. Vi hade länge problem med ett sådant statistiksystem. Det var riktigt löjligt när de maffigaste maskinerna på Levonline gick åt till statistikgenerering och jouren ändå stördes varje natt på grund av fel i statistiksystemet. Vi kunde stoppa in hur mycket ny hårdvara som helst utan att det blev bättre. Nu har vi gjort om det så att loggraderna skrivs till en fil för varje sajt och därmed behöver vi inte någon databas. Det nya systemet har kört på sedan april utan minsta fel, och det kör många gånger fortare än det tidigare, på en ensam maskin.

Alltså: Skriv loggraderna till filer omedelbart när de kommer in, även om du gör det genom PHP. PHP kommer inte vara en flaskhals, det kräver mycket lite prestanda att skriva en rad i append-läge till en fil. Det finns väl inget som hindrar dig från att skapa en fil för varje användare?
Skriv sedan ditt statistiksystem så att det kan arbeta utifrån dessa filer. Det ultimata är om det kan sammanfatta statistiken och sedan radera originalfilen, och sedan bara fylla på sammanfattningen utifrån en ny loggfil vid nästa generering. Detta sparar både diskutrymme och genereringstid.
emilv är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 15:44.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017