Inloggen
Username:
Password:



Password vergeten?
Menu
Home
Forums
Wiki
Script Library
Forum tracker
RSS Feed
Sponsoren
Vacature plaatsen

Aanmelden
Huisregels
Vereniging

Adverteren
Disclaimer
Zoeken

In:
Aantal leden
PHPFreakz kent momenteel 50394 geregistreerde leden.
Opties
Printversie
Statistieken met PHP
Statistieken met PHP
door Vincent Driessen

Natuurlijk wil je, als trotse webmaster van je site, weten hoeveel bezoekers je site trekt. Gratis statistieken programmaatjes zijn er genoeg te vinden op het internet, dat is het probleem niet, maar het nadeel ervan is dat je zo'n goor ikoontje ziet dat altijd net in de verkeerde kleur is, zodat het niet in de layout past!! De oplossing: schrijf zelf een statistieken programma. Het lijkt zo gedaan, maar dat kan tijdens het maken zwaar tegenvallen...

Ellende
Voor mijn werk heb ik ook zelf een statistieken programmaatje geschreven samen met een collega. Alles leuk uitgedacht van te voren, en lekker aan de slag. Al gauw waren we klaar met ons eerste overzichtje met bezoekersaantallen, hits en systeem-info, we hadden dit alles getest door op onze lokale Apache web-server een aantal hits te genereren. Cool, dachten we toen nog :), maar de problemen traden op toen we gingen uploaden. Wat we dus bedacht hadden, alle informatie opslaan in een MySQL database, gewoon voluit. Dus ook iedere keer de hele string voor de browserinfo (bijv. "Microsoft Internet Explorer 4"). Niet slim natuurlijk, wel makkelijk. Maar niet bij een site als de onze (http://www.vrijetijd.com/ - beetje reclame mag best), die gemiddeld zo'n 10.000 - 15.000 hits per dag krijgt. Daar kan zo'n MySQL servertje natuurlijk niet echt tegen, en al gauw lagen al onze zuster-sites, die op diezelfde server draaiden, twee volle dagen plat!! Andere aanpak dus... de aanpak die ik in dit artikel ga beschrijven...

OK, de aanpak...
Het is belangrijk dat je bedenkt welke aanpak je graag wilt gaan volgen. Je moet wederom kiezen tussen log-bestanden en databases. Ik persoonlijk kies liever voor de laatste, gewoon omdat die makkelijker is in het gebruik. Nadelen zijn er natuurlijk ook, zie vorige alinea. Hoewel... nadelen zijn er als je het niet goed doet - strings voluit opslaan voor iedere hit bijvoorbeeld - in combinatie met zo'n gigantisch aantal bezoekers. Zeg gemiddeld 12.500 hits per dag, verspreid over zo'n 12 uur ('s nachts komt er bijna niemand). Dat zijn zo'n dikke 1000 hits per uur, ofwel zo'n 18 hits per minuut. Het komt er dus op neer dat de MySQL server iedere 3,5 seconde een request krijgt. Volle strings zijn dan natuurlijk uitgesloten, daarmee is de database in twee dagen groter geworden dan alle inhoud van de site zelf!!

Bovendien trad daarbij een ander probleempje op - zodra je de stats wilt bekijken, stuur je één SQL request en rekent de data uit in PHP of meteen in MySQL zelf. Je moet dus al die hits gaan analyseren, wat op een snelle server al snel zo'n dikke 30 seconden in beslag neemt. Je moet dus minimaal 30 seconden op zo'n request wachten, en je snapt het al: je browser genereert een time-out: niks statistieken!

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Volgende »

Commentaar op dit artikel
TitelDoorDatum
RE: Source jw alphenaar 09-01-2007 23:44
Source Erwin Gjaltema 10-12-2006 13:18
Info uit gifje in javascript Matthijs Jonker 13-07-2005 14:07
Het complete script e-mailen Bas (Onbekend) 28-06-2005 22:46
Enkele foutjes Joost Peeters 27-04-2005 15:47
RE: zou iemand het volledoge script willen mailen? M. B. 12-03-2005 16:01
RE: RE: RE: Probleem met server load Maurits Korse 09-12-2004 23:00
RE: Warning: Division by zero Corina Bakker 30-11-2004 11:35
RE: Het complete script! maarten Schuit 31-07-2004 17:46
zou iemand het volledoge script willen mailen? maarten Schuit 31-07-2004 16:56
netscape en http_user_agent Maurits Korse 05-07-2004 19:36
RE: RE: Probleem met server load po pief 20-04-2004 15:49
Stats vd afgelopen maand AJ van Gerven 04-02-2004 00:44
Unieke bezoekers Erwin Marges 08-01-2004 16:16
Warning: Division by zero Tim 24-12-2003 21:52
RE: Het complete script! Roy 22-10-2003 00:43
Het complete script! <?php 18-09-2003 16:22
En nog maar eentje dat komt zagen OrT OrT 12-09-2003 17:19
Een GIF bestand...? tigi wigi 10-09-2003 13:07
RE: Zou iemand mij die bron ook kunnen mailen? Peter Verstraten 08-09-2003 13:30
Zou iemand mij die bron ook kunnen mailen? W H 01-09-2003 11:56
RE: RE: Zou ik dit script ook in mijn mailbox kunn Willem Wessels 11-08-2003 20:30
RE: mailen? Ivan Koster 06-08-2003 20:06
mailen? julien de jonge 05-05-2003 16:51
HIJ WERKT! Hans Arnolds 22-04-2003 15:45
:S Ik heb het 10X gelezen maar ik kom er ni uit :S my name 21-04-2003 09:38
RE: RE: Lastig... my name 21-04-2003 09:34
wrkt prima Tjerk de Boer 16-04-2003 19:31
????????????????????????????? Dominic Hoevenagel 16-03-2003 00:30
Frames Stef Spijkerman 31-01-2003 17:32
re: Martijn Molegraaf 08-01-2003 13:41
RE: Zou ik dit script ook in mijn mailbox kunnen k danny muris 03-01-2003 23:38
Zou ik dit script ook in mijn mailbox kunnen krijg Sander - 01-12-2002 10:22
RE: Willie Wortel 18-11-2002 20:32
IE 6.0 Luc Franken www.tentoday.com 16-11-2002 16:57
Lege velden Luc Robberechts 11-11-2002 02:10
RE: RE: Probleem met server load pierre de wit 09-11-2002 13:28
Hoe moet ik ze noemen? Jimmy Hanraads 12-10-2002 11:54
Wie heeft de code??? foo 02-09-2002 15:57
?¿ heeft iemand de hele script.. Sniper Vegeta 01-09-2002 15:40
RE: Webalizer de oplossing Vincent Driessen 21-07-2002 22:20
RE: RE: Foutmelding Mark-Anthony van Amstel 11-07-2002 17:11
Plaatsing van de blokken Sander Vendrig 29-06-2002 22:59
RE: Foutmelding Wilfred Oerlemans 25-05-2002 13:37
Webalizer de oplossing Kasper Schoonman 20-05-2002 23:29
script posten Luc Franken www.tentoday.com 09-05-2002 16:08
RE: Ververs tijd verkorten Wai Yi Leung 07-04-2002 15:33
RE: RE: Balkje Wai Yi Leung 07-04-2002 15:28
RE: Windows XP Virtual Substance 01-04-2002 14:25
RE: Balkje appel {0_o} 07-03-2002 16:59
Balkje Peter Dorn 06-03-2002 19:30
RE: Probleem met server load M JustMe 12-02-2002 21:42
Windows XP Ron de Groot 09-02-2002 18:27
RE: Probleem met server load nans 09-12-2001 15:10
Probleem met server load Dj Troxx 07-10-2001 16:42
Re :Ook Foutmelding Patrick van der Ent 03-09-2001 14:20
Foutmelding Frank 11-08-2001 14:38
Ververs tijd verkorten Jeroen Vader 09-08-2001 18:10
extra functie nodig Jeroen Vader 09-08-2001 15:27
RE: Sorry!! 1 vraag nog Djuri Baars 07-08-2001 19:20
Sorry!! 1 vraag nog Bjorn van der Neut 02-08-2001 11:30
Database implementatie Goed Bjorn van der Neut 01-08-2001 11:35
Database implementatie FOUT! Bjorn van der Neut 30-07-2001 11:46
RE: Laatste code Jan 29-07-2001 00:32
Wie kan.... m vdb 03-07-2001 11:29
Proficiat Alexander Vanwijnsberghe 29-06-2001 19:39
mail mij ook ff :) -=[ MaarTen ]=- 29-06-2001 16:10
Laatste code Jan 24-06-2001 17:18
RE: RE: RE: Lastig... Robbert van den Berg 10-06-2001 10:13
RE: Re: Lastig... Erik-Jan Bulthuis 04-06-2001 20:47
RE: RE: Lastig... Oscar van den Bosch 26-05-2001 14:14
RE: caching??? bram de goeiste 21-05-2001 15:58
caching??? bram de goeiste 21-05-2001 15:08
RE: Lastig... Vincent Driessen 19-05-2001 23:33
Re: Lastig... Peter Lubberdink 14-05-2001 14:02
Lastig... Oscar van den Bosch 13-05-2001 18:20
Recente topics
Website layout hu...
selecteer tekst t...
Weergaven form in...
Website Hulp gezocht
Refresh na invoeren.
Weeknummers selec...
jquery table sort...
Meerdere menu's i...
jQuery slide content
HTML SELECT met 2...
TCPDF geeft é nie...
session_id(); > b...
Nieuwe regel
Variabele analyseren
heleboel foutmeld...
Recente Wiki's
JavaScript: High Performance
MagicQuotes
Escapen
Datamanipulatie
RabbitVCS
Continuous integration
Apache Veilig Maken
Charactersets
Het Wiel Uitgevonden:Formulieren
XSD

Meer wiki ...
Recente Scripts
Unieke `random` n...
twitterPHP 0.1 (a...
CSS minifier
PINI - PHP >>INI<...
Sudoku [StateSolver]
base64 file encoder
Session class

Meer scripts ...
Gehost door
RedKnot Hosting