[Projekt] Die eigene Stats-Page

Stanford sieht vor das alle vier Stunden eine unformatierte *.txt mit Team- und User-Stats heruntergeladen werden kann. Sie verbieten höchtens ein Ausnutzen dieses Services.
Infos dazu findest du unteranderem in Blog von MESeidel ;).

Zum Testn sollen ersteinmal nur unsere Statsdarüerlaufen damit ich sehen kann wie der Server damit zurechtkommt. später soll dann auf ine EOC-Aenative erweitert wrden ;)
 
Wie ist denn der Link von MeSeidels Blog? Dann kann ich mir mal ein Bild davon machen...

Edit, du meinst sicher seinen PCGHX-Blog, stimmts?
 
seh hier nicht durch, kann bitte einer den link zum blog posten, oder zu der besagten txt bei stanford?

Stanford mag das mit den scripten nicht, da dies die performance der datenbank enorm sinken lässt, denn es soll leute geben, die alle paar minuten so komische scripte laufen lassen, die alle statsseiten der user abfragen... dachte ihr meint sowas, aber das mit der txt wäre ja io

mit php kenn ich mich nicht sehr gut aus, weiß aber wie man eine txt einlesen würde und dies in eine datenbank schreibt... datenbanken habe ich schon viele geplant und aufgesetzt sql ist auch kein problem...

edit: hätte auch ne geile idee zu den servern und bandbreitenprobleme... würde auch zum thema verteiltes rechnen passen...

Für mein Abschlussprojekt als FISI habe ich ein Loadbalanced Web und Datenbankcluster aufgesetzt. Bei jedem der mitmachen will könnte zuhause auf dem pc ein web und datenbankserver laufen, die steigert die performance, die ausfallsicherheit und die bandbreite ist nicht das problem...

man benötigt nur mindestens 2 loadbalancer, die am besten auf einem rootserver sind (wenn jemand einen hat)

ist aber ehr ne vision von mir xD
 
Zuletzt bearbeitet:
Moin, ich wieder :)

hab schonmal ein debian Lenny aufgesetzt und einen MySQL5 Server. Daten kann ich auch schon importieren (manuell)

wie oft wollen wir die daten aktualisieren? einmal pro tag sollte reichen, oder? Denn das sind jedes mal ca. 1,5 millionen Datensätze. Da wir ja auch historische daten speichern wollen, wird sich das summieren... 1,5Mill. * 365 Tage = 547Mill. Datensätze...

würden wir täglich 5mal abholen wären das nach einem jahr fast 3 MIlliarden Datensätze!!! xD

Ich habe mit nem Datenbankadmin gesprochen, der meinte, dass das zu viel für einen "normalen" PC wäre um den Dienst noch recht "flüssig" zur verfügung zu stellen...

wie lange sollen wir die daten denn abrufbereit lagern? 1/2 Jahr? 1 Jahr? länger?

Im Anhang pack ich mal ein Bild wie es zurzeit aussieht, vielleicht kann jemand verbesserungswünsche äußern (rein Datenbankmäßig.. xD)

PS: Datum stimmt noch nicht xD
 
Erstmal einmal täglich würde ich sagen, Server-CPU ist ja auch erstmal nur nen E2180 (wird aber noch aufgerüstet wenn nötig, also keine Sorge ;)).
EOC Updated übrigens alle drei Stunden, die haben allerdings ganz andere Server zur Verfügung ;).

Sieht übrigens schonmal sehr gut aus das Grundgerüst :). Müssen wir das ganze halt nurnoch in nen "schönes" HTML-Gerüst "Verpflanzen" und das Updatescript machen (*puh* ist doch was anderes als ne Clanpage aufbauen/managen :ugly:;)).
 
gut dann mach ich mich mal an ein script, das täglich die daten von stanford lädt und dann in die datenbank importiert ;)

wird aber erst morgen was..

Was für ein Betriebssystem läuft auf dem server? Da ich hier gerade alles mit linux mache...
 
wie schauts denn damit aus, wenn man nach 1 jahr die datensätzt, also die statistik komprimiert, als datei zum download mit ablegt und nur noch meinetwegen" im letzten jahr wurden xxx. gefaltet" oder so ähnlich anzeigen lässt
 
Was für ein Betriebssystem läuft auf dem server? Da ich hier gerade alles mit linux mache...
Da rennt momentan Windows Server 2008 R2 x64 drauf ;). Für Linux müsste ich mich erst einarbeiten ;). Und dann ist noch die Frage obs dafür Treiber und den ganzen Schisslaweg gibt (wurde mit Windows Server ausgeliefert ;)).
 
wie schauts denn damit aus, wenn man nach 1 jahr die datensätzt, also die statistik komprimiert, als datei zum download mit ablegt und nur noch meinetwegen" im letzten jahr wurden xxx. gefaltet" oder so ähnlich anzeigen lässt

das wäre möglich... man kann auch einfach ältere daten in eine andere datenbank schaufeln, damit die produktive nicht so voll ist ;)

dann könnte man eine "Archiv-Seite" basteln xD
 
Linux ist doch kein problem, und Treiber brauchste sicherlich keine. Wenn du jedoch Windows aus anderen Gründen brauchst, dann mach das mit der VM, ist leichter zu bewerkstelligen. ;)
 
hab das importscript begonnen:


Code:
#!/bin/bash
datum=$(date +"%Y%m%d%H%M") 
wget -t 4 -o /fah/daily_team_summary_$datum.txt.log -O /fah/daily_team_summary_$datum.txt http://fah-web.stanford.edu/daily_team_summary.txt
wget -t 4 -o /fah/daily_user_summary_$datum.txt.log -O /fah/daily_user_summary_$datum.txt http://fah-web.stanford.edu/daily_team_summary.txt

mysql -uroot -ppw folding -e'load data infile "/fah/daily_user_summary_$datum.txt"
into table User
FIELDS TERMINATED BY "\t" ENCLOSED BY "" ESCAPED BY "\\"
LINES TERMINATED BY "\n" STARTING BY ""
ignore 2 lines
(name, punkte, wu, team_id);'


mysql -uroot -ppw folding -e'load data infile "/fah/daily_team_summary_$datum.txt"
into table Team
FIELDS TERMINATED BY "\t" ENCLOSED BY "" ESCAPED BY "\\"
LINES TERMINATED BY "\n" STARTING BY ""
ignore 2 lines
(team_id, name, punkte, wu);'

exit
aber irgendwie lädt er so die dateien nicht ganz runter...

bekomme den Fehler:

ERROR 13 (HY000) at line 1: Can't get stat of '/fah/daily_user_summary_$datum.txt' (Errcode: 2)
ERROR 13 (HY000) at line 1: Can't get stat of '/fah/daily_team_summary_$datum.txt' (Errcode: 2)

kennt sich hier wer mit linux bash scripten aus? :huh:

edit: hab es hinbekommen ;)
 
Zuletzt bearbeitet:
dann erklär mal bitte freundlicherweise noch wie und was falsch war. :)

ich habe versehentlich 2 mal die team statistik abgeholt xD

und
mysql -uroot -ppw folding -e'load data infile "/fah/daily_user_summary_$datum.txt"

muss so:
mysql -uroot -ppw folding -e'load data infile "/fah/daily_user_summary_'$datum'.txt"

Wenn ich mich recht entsinne liegen die doch ohne Datum auf dem Server, oder?
richtig, aber ich hänge das datum mit einer variablen hinten dran, damit man die files auch noch hat, falls etwas schief gegangen ist...

jetzt müsste ich nur noch die logs und den output als mail versenden, dann wäre ich zufrieden ;)

Frage @ ALL: soll jeder User in der Statistik sein, oder erst ab einer bestimmten punktzahl? ich habe mal geguckt, wenn wir erst ab 1000Punkte machen, dann sparen wir pro import 1Mio. Datensätze xD

was meint ihr ab wann man drinne sein sollte?
 
Zurück