Realtime Besucher-Counter

chricke

Aktives Mitglied
Hallo zusammen,

da ich mich in meiner Freizeit gerne mal mit neuen Sachen beschäftige habe ich unter online-right-now.net einen Onlinecounter erstellt, der (auf Basis von Nginx, Redis und Lua) in nahezu Echtzeit die Besucher einer Webseite anzeigen kann.

Echtzeit soll in dem Fall heißen: kommt ein Besucher auf die Seite wird er gezählt, surft er weiter oder schließt den Browser wird er auch nicht mehr bei der Zählung berücksichtigt (aktuell max 2 sek. Delay).

So weit so gut... aber der Anwendungsfall "Onlinecounter" ist jetzt nicht soooo spannend - da gibts doch bestimmt interessantere Szenarien. Jemand Ideen?

z.B.
- wie viele Besucher schauen sich gerade Werbemittel x an?
- wie viele Besucher schauen sich gerade Video y an?

Überlege auch gerade das unter Umständen als Open Source freizugeben - sofern überhaupt Interesse an sowas besteht.

Viele Grüße
Christian
 
Ich sammel immer gerne Open Source -Ware. Kann man immer gebrauchen.
Warum das Rad neu erfinden, wenn es Open Source gibt. ;-)

Aber Online-Counter bleibt nunmal Online-Counter!
Da gibt es nicht viele Möglichkeiten.

Interessant wäre es den Counter via .........
Edit:// Gerade eine Marktlücke ausgeplaudert!
biggrin.gif

Muss es mal überprüfen, wenn es das noch nicht gibt, dann spreche dich darauf nochmal an.

Grüße!!
 
Sorry wenn ich das Thema noch mal hochhole, aber für die Leute die Interesse daran haben ist der Source Code jetzt bei github.com verfügbar.

Ich muß noch die Installationsanleitung fertig schreiben (ohne bekommt das glaube ich im jetzigen Zustand keiner zum laufen) und ein Shell-Script für die Installation ist auch in arbeit.

Falls Fragen dazu sind einfach ne PN schreiben.
 
Haelt das Teil auch groesseren Belastungen statt? Sagen wir mal 5'000 gleichzeitgie Besucher ueber 150 Websites verteilt.
 
Ich habe leider noch keine Gelegenheit gehabt das mit einer größeren Website zu testen, aber auf meinem Entwicklungserver (Cloudserver mit 1gig ram - aktuell läuft darauf online-right-now.net) habe ich bei einem Test mit ab (apache benchmark) bei 1000 concurrent noch über 4500 requests/s bekommen. "Reale" Zahlen kann ich leider mangels Testobjekt nicht bieten :-(

Wenn es wirklich 5000 concurrent user sind ist mein Entwicklungsserver dafür mit Sicherheit nicht geeignet - falls du das mit einer oder mehreren Webseiten testen möchtest unterstütze ich dabei aber gerne.
 
Für die Leute die nach der Performance gefragt haben hier noch mal ein Ergebnis einer Messung mit ab (gerade durchgeführt):

j6421:/etc# ab -k -n 1000000 -c 1000 http://online-right-now.net/counter/0
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking online-right-now.net (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests


Server Software: nginx/0.9.4
Server Hostname: online-right-now.net
Server Port: 80

Document Path: /counter/0
Document Length: 12 bytes

Concurrency Level: 1000
Time taken for tests: 44.729 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 990065
Total transferred: 276950325 bytes
HTML transferred: 12000000 bytes
Requests per second: 22356.68 [#/sec] (mean)
Time per request: 44.729 [ms] (mean)
Time per request: 0.045 [ms] (mean, across all concurrent requests)
Transfer rate: 6046.57 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 14 384.3 0 21008
Processing: 0 16 113.0 5 26434
Waiting: 0 16 113.0 5 26434
Total: 0 30 441.3 5 35432

Percentage of the requests served within a certain time (ms)
50% 5
66% 6
75% 6
80% 6
90% 13
95% 47
98% 139
99% 427
100% 35432 (longest request)
 
Da hast du ein schönes Script gebastelt. Fühlt sich wirklich an wie Realtime Web
wink.gif
 
vielen dank ;-)

ich habe jetzt auch eine erste größere site die den counter einsetzt - und der server zeigt mir immer noch eine auslastung von 0.01 ;-)

würde das ganze gerne mal weiter hochfahren wollen... hat noch jemand seiten wo er das einbauen kann (auch gerne versteckt) um mehr traffic auf den counter zu bringen und die grenzen des scripts auszuloten?
 
Zurück
Oben