Veranstaltungen extrahieren und der Einfluss jeder Abfrage auf das Klima

Im letzten Video über die Webanwendung wo alle Events der Kommunen zusammenlaufen sollen, welches ich auf Facebook hochgeladen habe (Siehe Video oben), habe ich im Prototype Code gezeigt, das man da seitens der Geschwindigkeit noch was machen kann.

Aber spätestens beim Thema GreenIT und Klimaschutz kam mir der Gedanke, das jede Anfrage an die Webseite Serverlast und auch Traffic verursacht.
Also habe ich mal nachgerechnet.
Im Schnitt hat die jeweilige Veranstaltungsseite der Kommune Falkenstein/Harz um 5,5Kb ~ 0,0055 Mb.
Derzeit wird beim starten des Scriptes einmal die Übersichtsseite geladen, das sind 14,4kb, diese rechnen wir später dazu.

In der Schleife werden nun 8 Verbindungen pro For-Schleifen Durchlauf ausgeführt und verarbeitet.
Das sind 5,5Kb x 8 = 0,04 Mb.
Bei 50 Veranstaltungen sind das 2 Mb + 14,4Kb = 2,0144Mb. Pro Tag würde im Live Betrieb 1x die Seite abgefragt werden.
Pro Jahr würden dann 365 Tage x 2,0144Mb = 735,2 Mb

Wenn ich das nun auf alle 14 Kommunen hochrechne:

735,2 Mb x 14 Kommunen = 10,29 Gb Traffic pro Jahr

Bei einem CO2 Abdruck von 20g je Megabyte, würde das 200kg CO2 entsprechen und das ist nur der Traffic der bei der Übertragung pro Jahr anfällt!

Eine Optimierung wäre, statt jeden Tag abzufragen, nur Montag bis Freitag abzufragen, das würde dann statt 365 Tage, nur noch 260 Tage (5 Tage x 52 Wochen) bedeuten. Das wären dann nur noch 523 Mb x 14 Kommunen = 7,33 Gb Traffic = 146kg CO2, auf diesem Weg können 27% der CO2  Emissionen eingespart werden.

Rechnen wir weiter, wenn ich die jeweilige Veranstaltungsseite auf dem Server zwischenspeichere, dann wären es nicht mehr 8 Verbindungen pro Durchlauf, sondern nur noch 1 die geladen werden muss.
ca 5,5Kb + 14,4Kb = 20kb ~ 0,02 Mb pro Durchlauf.
Bei 50 Events wäre es nur noch 1Mb der da übertragen werden muss. Das wären dann 365 Mb pro Jahr bzw. bei 5 Tage die Woche nur noch 260Mb.
Bei 14 Kommunen wären es dann 14 x 260 Mb = 3,64Gb = 72,8Kg CO2

Im Schnitt kann damit ca 64% eingespart werden.
Das macht bereits einen Unterschied, aber das Ende der Fahnenstange ist noch nicht erreicht.

Ein Problem was sich hier vermeiden lassen würde, die Extraktion an sich, denn jede Seite muss so eingelesen werden, das kostet CPU Zeit und verbraucht Ressourcen und Energie.
Eine Lösung, es von vornherein so zu optimieren, das man die Daten in einem Maschinenlesbaren Format bekommt bzw. abonnieren kann. Mit der RSS Technik kann man die Veranstaltungen abonnieren und muss diese nicht immer neu laden und verarbeiten.
Prinzipiell geht es aber noch einfacher, in dem nur die Daten bereitgestellt werden, welche gebraucht werden. Hierbei gibt es teils einen Glaubenskrieg zwischen den Formaten XML und JSON, beide haben ihre Vorzüge, jedoch ist XML minimal größer, daher würden wir die JSON-Feed Technik nutzen und so würde eine Veranstaltung als Beispiel aussehen können:

 
   „Veranstaltung_id“:„1234-5678-9012-3456“,
   „Veranstaltung“: 
      „Veranstaltung_name“:„42. Selketal-Lauf“,
      „Veranstalter“:„SV Germania 1928 Meisdorf e.V.“,
      „Veranstaler_url“:„https://www.falkenstein-harz.de/verzeichnis/visitenkarte.php?mandat=39463“,
      „Beschreibung“:„Am 21.09.2019 findet der 42. Selketal-Lauf am Sportplatz Meisdorf statt“,
      „Datum“:„21.09.2019“,
      „Uhrzeit“:„10:00 Uhr“,
      „Ort“:„Sportplatz Meisdorf“
   }
}

 

Dieser JSON Code enthält dann alle relevanten Informationen die man braucht um diese weiterzuverarbeiten und er ist nur 469 Byte groß, verglichen mit den 5,5Kbyte ~ 5500 Byte die geladen werden müssen um die Informationen zu extrahieren. Das ist ein Größenersparnis von 91%!!!

Arbeiten wir mit diesem Codebeispiel weiter und rechnen wir im Durchschnitt mit 500 Byte je Artikel.
Das bedeutet, am Anfang wird die Übersichtsseite geladen, ohne Optimierung dieser bleiben wir bei 14 Kbyte.
50 Veranstaltungen x 500 Byte = 25 Kbyte + 14 Kbyte = 39 Kbyte je Tag je Kommune x 5 Tage = 195 Kbyte

195 Kbyte (pro Woche) x 52 Wochen = 10.140 KByte ~ 10,14 Megabyte pro Jahr pro Kommune.

10,14 Megabyte x 14 Kommunen = 141,96 Megabyte pro Jahr für alle Kommunen im Harz bei ähnlicher Anzahl Veranstaltungen.

Rückblick, von Anfangs 10,29 Gb pro Jahr, würden wir allein durch die Optimierung des ganzen auf 141,96 MB ~ 0,141 GB die Größe reduzieren können.
Das ist ein Ersparnis von 98% gegenüber der Ursprünglichen Größe.
Was würde das für das Klima bedeuten?
Bei 10 GB Datenvolumen nur für das Abfragen jeden Tag, würden wir 200 Kg CO2 verursachen.
Bei Optimierung auf 0,141 GB würde das im Jahr nur noch 2,82Kg CO2 verursachen.

Man sieht, wenn man das ganze Optimiert, kann man noch einiges raus holen, jedoch muss man da Zusammenarbeiten und auch ein wirkliches Interesse daran haben.