Internet Statistiken – Java zu Web

Screenshot

Dieses Projekt sammelt Informationen zur IPv6 und HTTPS Unterstützung der Top 1 Millionen Webseiten. Täglich wird innerhalb von circa 50 Minuten ein Datenpunkt erzeugt.

Das Programm wird täglich von einem Cronjob geladen und verfolgt dann diesen Ablauf:

Ein Bash script lädt die neuste Liste der Top Millionen Webseiten von alexa und startet das Programm.

#!/bin/bash

rm top-1m.csv > webstats.log 2>&1
wget http://s3.amazonaws.com/alexa-static/top-1m.csv.zip > webstats.log 2>&1
7z e -y top-1m.csv.zip > webstats.log 2>&1
rm top-1m.csv.zip > webstats.log 2>&1

java -jar webstats.jar -auto > webstats.log 2>&1

Das Java Programm erstellt einen ThreadPoolExecutor, der mit 700 parallelen Threads die Worker ausführt.

Jeder Worker versucht zuerst über IPv6 auf die Seite zuzugreifen. Dann wird versucht die HTTP Version der Seite aufzurufen und wenn keine Weiterleitung zu HTTPS stattfindet wird versucht direkt auf die HTTPS Version zuzugreifen.

Wenn alle Worker fertig sind werden die Ergebnisse berechnet und die Daten gespeichert.

Diese Daten werden dann von einem PHP script an die Javascript Bibliothek Chartist  weitergeleitet, um ein Liniendiagramm zu rendern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert