Linespeed meten voor stats

Pagina: 1
Acties:

  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 07-04 15:34
Hallo!

Ik probeer tbv mijn stats de snelheid van de lijn van de bezoeker te meten. Dit doe ik momenteel als volgt:

Bij het parsen van de page geef ik een tijdcode mee in ms. Vervolgens roept javascript een plaatje aan en geeft deze tijd mee. Bij het opvragen van het plaatje meet ik het verschil tussen die tijd en de huidige tijd.

Deze methode werkt, zij het (uiteraard) zeer onbetrouwbaar. Enkele uitzonderingen daargelaten krijg ik voor breedbandverbindingen waardes < 1000 ms en voor dialers >1000 ms. Ik weet dat deze methode zéér rudimentair is, want:

- Het houdt geen rekening met geografische afstanden
- Het houdt geen rekening met eventuele andere downloads die al bezig zijn

Dit zijn beiden problemen waar ik mee kan leven, omdat ik de effectieve snelheid wil meten, niet de theoretisch haalbare.

Echter, er is een derde probleem:

- De data die over en weer wordt gestuurd is erg klein.

Dit betekent imo dat je veel te maken hebt met overhead waardoor de waarden erg schommelen. (vanuit 100mbit LAN naar de webserver toe haal ik bijv nog wel eens waarden van 800-900ms terwijl een 4 mbit lijn in de USA soms maar 600ms nodig heeft). Dit maakt de waarden onbetrouwbaar en grof, waardoor ik niet mooi kan uitsplitsen naar bijv dial, 1-5 mbit, 5-10 mbit en >10 mbit oid.

Tot op heden dacht ik dat hier geen oplossig voor was. Totdat ik van mensen hoorde dat Google Analytics dit wel netjes deed. Daarom is er weer een sprankje hoop gaan leven: Heeft iemand enig idee hoe bovenstaand systeem te verbeteren zodat de metingen betrouwbaarder worden?

Voor de duidelijkheid: De pagina moet snel blijven laden dus we kunnen geen testfiles ed gaan gebruiken... maar dat doet GA bij mijn weten ook niet!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wil je de snelheid bepalen adv alle files (wat eigenlijk het resultaat iets middelt en wellicht betrouwbaarder maakt) die bezoekers binnenhalen of 1 specifieke?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 07-04 15:34
welke files bedoel je precies? ik doe het nu bij alle pages van mijn site als je dat bedoelt... hij werkt dus niet met losse files, maar met een javascript dat een plaatje oproept...

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Nee sorry, ik bedoel: je kan een timestamp in je pagina neerzetten en met een window.onload (of body onload) weer een timestamp ophalen met javascript (niet clientside berekenen ;)), dan heb je de totale tijd vanaf request tot (alles) laden bij de client.

Duidelijker zo?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 07-04 15:34
ok ik hoop dat ik je goed begrepen heb:

ik heb nu gewoon in de html pagina een <script></script> staan waar ie dat plaatje aanroept en de tijd waarop de pagina is verstuurd vanaf de server meegeeft aan het plaatje.

volgens jou is het beter om in plaats daarvan het script in de body.onload aan te roepen, zodat je met meer data test en de test zo hopelijk betrouwbaarder wordt?

Offtopic:
daarnaast sowieso een goed idee om clientside ook een timestamp mee te geven, zodat je up en download los kan berekenen. net ff iets mooiere stats :) Dit lijkt me alleen erg lastig om te maken, omdat je de serverside- en clientside-tijd zult moeten syncen. Een simpele functie voor de timezone offset is nog wel te doen, maar hoe krijg je in godsnaam de tijd in ms op client en server gelijk???

[ Voor 2% gewijzigd door xilent_xage op 10-03-2006 13:38 . Reden: ik heb al een plannetje voor het syncen van die tijden in het offtopic deel... ]