[MySQL] Vragen over performance bij statistiekentool

Pagina: 1
Acties:

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Ik ben bezig met de bouw van een statistiekentooltje voor mijn CMS'je. Hiermee moet ik uiteindelijk bezoekersinformatie (welke pagina's bezocht, hoe lang, welke browser etc.) kunnen uitprinten op cookie (visitor_id), sessie of IP-adres.

Ik ben naar beste kunnen zo efficient mogelijk te werk gegaan. Dit heeft geleid tot het volgende:

* elke keer als een bezoeker binnen de site op een link klikt, voert het statistieken verzamel script 4 (zeer eenvoudige) queries uit;
* ik heb meerdere tabellen in mijn database, maar alleen in de hoofdtabel (stat_index) wordt voor elke klik een record toegevoegd:

code:
1
2
3
4
voorbeeld stat_index:

stat_id  cookie_id  session_id  ip_id  browser_id  os_id  page_id  ref_id  timestamp
23       3          5           9      4           5      11       58      53242355


Waarbij al deze integers gekoppeld zijn aan andere tabellen: in stat_browser zien we bijvoorbeeld dat browser_id 4, "opera"betekent.

Ik maak me vooral zorgen om het volgende:
1. is vier queries per klik niet te veel?
2. tot hoeveel records kan ik stat_index oprekken voordat ik echt performance problemen ga ervaren en hoe verhoudt zich de ratio aantal records : aantal MB's database grootte?

Kan iemand zijn eigen ervaringen vertellen over een eigen statistiekentool of kent iemand misschien een goede benchmark?

[ Voor 5% gewijzigd door Reveller op 17-05-2004 14:05 ]

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 25-05 13:27
Je kunt de tabellen toch gewoon joinen? Maar als je heel veel records hebt en maar weinig opties: 100000 bezoekers en 10 browsers dan zou ik de browsers 1x ophalen en in een array stoppen. Vervolgens kun je dan een snelle en eenvoudige gebruiken voor de stat_index tabel.

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 22:36

ripexx

bibs

Voorbeeld van mijn tabel:

Deze bestaat uit 12 integers, een date/time veld en een veld van 32 char. Dan liggen er index op het VARCHAR veld, een primary key op een INT en nog drie indexen op verschillende INT's

Table grote is: 429667 records
Data 27,637 KB
Index 13,042 KB
Total 40,679 KB

Dit is een zeer ineficiente statistieken tool en deze wordt nog herschreven. ;)

Queries zijn meestal niet zo'n probeel, dat wil zeggen de selects, maar omdat je toch al snel wat index gebruikt worden inserts relatief traag. Verder is het maar de vraag wat je allemaal precies wil weten? Is het niet handiger om dan bijvoorbeeld je access logs te analyseren?

buit is binnen sukkel