 |
Bara ett inlägg till!
|
|
Reg.datum: Feb 2004
Inlägg: 1 564
|
|
Bara ett inlägg till!
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.
|