Prototyp eines solarbetriebenen Servers mit Ladecontroller. Foto:
Im September 2018 startete ein Enthusiast von Low-tech Magazine . Ziel war es, den Energieverbrauch so weit zu senken, dass ein selbst gehosteter Server mit einem einzigen Solarpanel auskommt. Das ist nicht einfach, denn die Website muss 24 Stunden am Tag arbeiten. Schauen wir uns an, was letztlich dabei herausgekommen ist.
Sie können auf den Server zugreifen , um den aktuellen Energieverbrauch und den Ladezustand der Batterie zu überprüfen. Die Website ist auf die minimalste Anzahl an Anfragen pro Seite und minimalen Datenverkehr optimiert, sodass sie einen Anstieg der Besucherzahlen von Habr aushalten sollte. Nach den Berechnungen des Entwicklers beträgt der Energieverbrauch pro einzigartigem Besucher 0,021 Wattstunden.
Kurz vor Sonnenaufgang am 31. Januar 2020 hatte er noch 42 % Ladezustand der Batterie. Der Sonnenaufgang in Barcelona ist um 8:04 Uhr Ortszeit, danach sollte der Strom vom Solarpanel fließen.

Warum?
Vor zehn Jahren prognostizierten Experten , und dieser Bedarf wächst weiterhin. benötigen ebenfalls Energie
, weshalb ein Verzicht auf fossile Brennstoffe (Öl, Gas, Uran) heute einfach unmöglich ist. Aber diese Ressourcen werden nicht lange ausreichen, weshalb wir zwangsläufig darüber nachdenken müssen, wie wir mit erneuerbaren Energien leben können. Dazu gehört auch der Betrieb der Computerinfrastruktur, einschließlich von Web-Servern. achtet darauf, dass das
zu schnelle Aufblähen von Webseiten ein Problem darstellt. Zwischen 2010 und 2018 stieg die durchschnittliche Seitengröße , während mobile Websites von 0,15 MB auf 1,6 MB stiegen, nach konservativer Schätzung. übersteigt den Fortschritt in der Energieeffizienz.
Steigerung des Verkehrsvolumens (Energie, die für die Übertragung von 1 Megabyte Informationen erforderlich ist), was zu einem ständigen Anstieg des Energieverbrauchs des Internets führt. Schwerere und stärker belastete Websites erhöhen nicht nur die Belastung der Netzwerkinfrastruktur, sondern verkürzen auch den „Lebenszyklus“ von Computern und Smartphones, die dann häufiger entsorgt und durch neue ersetzt werden müssen, was ebenfalls .
Nun, und natürlich entsteht die erhöhte Belastung durch den Lebensstil selbst: Menschen verbringen fast ständig Zeit im Internet und verlassen sich in vielerlei Hinsicht auf verschiedene Web-Dienste. Die moderne Gesellschaft ist bereits schwer vorstellbar ohne die cloudbasierte IT-Infrastruktur (soziale Netzwerke, Messenger, E-Mail usw.)
Die Konfiguration des Servers und der Website
Im beschreibt detailliert die Hardwarekonfiguration und den Software-Stack des Webservers.
Einplatinencomputer wurde wegen seines niedrigen Energieverbrauchs und nützlicher zusätzlicher Funktionen ausgewählt, wie z.B. dem Vorhandensein eines Energiemanagement-Chips . Er ermöglicht das Abrufen von Statistiken über die aktuelle Spannung und den Stromfluss von der Platine und der Batterie. Der Chip schaltet automatisch die Stromversorgung zwischen dem Akku und dem DC-Anschluss um, an den der Strom von dem Solarpanel fließt. So ist eine unterbrechungsfreie Stromversorgung des Servers mit Akkustütze möglich.

Olimex Olinuxino A20 Lime 2
Ursprünglich wurde ein Lithium-Polymer-Akku mit einer Kapazität von 6600 mAh (ca. 24 Wh) gewählt, später wurde ein Blei-Säure-Akku mit 84,4 Wh eingesetzt.
Das Betriebssystem wird von der SD-Karte geladen. Obwohl das OS nicht mehr als 1 GB benötigt und die statische Website etwa 30 MB groß ist, gab es keinen wirtschaftlichen Sinn darin, eine Karte kleiner als Class 10 16 GB zu kaufen.
Der Server wird über eine 100-MBit-Heimverbindung in Barcelona und einen Standardverbraucher-Router mit dem Internet verbunden. Ihm wurde eine statische IP-Adresse zugewiesen. Praktisch jeder kann eine solche Website in seiner Wohnung hosten, man muss lediglich die Firewall-Einstellungen leicht anpassen, um die Ports auf die lokale IP weiterzuleiten:
Port 80 zu 80 für HTTP Port 443 zu 443 für HTTPS Port 22 zu 22 für SSH
Das Betriebssystem basierend auf der Debian-Distribution und dem Kernel , der für Einplatinencomputer mit AllWinner-Chips entwickelt wurde.

50-Watt-Solarpanel für den Webserver und 10-Watt-Panel für die Beleuchtung des Wohnzimmers in der Wohnung des Autors
Die statische Website wurde vom System generiert (Webseiten-Generator auf Python). Statische Websites laden schneller und belasten die CPU nicht, wodurch sie in Bezug auf den Energieverbrauch viel effizienter sind als dynamisch generierte Seiten. Der Quellcode des Designs ist. .
Ein sehr wichtiger Punkt ist die Komprimierung von Bildern, da es ohne diese Optimierung praktisch unmöglich ist, Webseiten kleiner als 1 Megabyte zu machen. Zur Optimierung wurde entschieden, die Fotos in Graustufenbilder umzuwandeln. Zur Veranschaulichung, hier ist ein Foto von Telefonistinnen an einer Vermittlungsstelle im letzten Jahrhundert. .

Hier ist das optimierte Graustufenbild mit einer Größe von mit drei Farben (schwarz, weiß, grau). Aufgrund der optischen Illusion erscheint es dem Betrachter, als wären es mehr als drei Farben.

Graustufenfotos wurden nicht nur zur Optimierung der Größe gewählt (eine eher fragliche Entscheidung), sondern auch aus ästhetischen Gründen. Diese alte Technik der Bildbearbeitung hat bestimmte stilistische Merkmale, sodass die Website in gewissem Sinne ein einzigartiges Design erhalten hat.
623 Illustrationen auf der Website des Low-tech Magazine wurden nach der Optimierung von 194,2 MB auf 21,3 MB reduziert, also um 89%.
Alle alten Artikel wurden in Markdown umgewandelt, um das Schreiben neuer Artikel zu erleichtern sowie die Sicherung über . Alle Skripte und Tracker wurden von der Website entfernt, ebenso wie die Logos. Es wird die Standardschriftart des Client-Browsers verwendet. Als „Logo“ dient der Titel des Magazins in Großbuchstaben mit einem Pfeil nach links: LOW←TECH MAGAZINE. Insgesamt 16 Bytes statt eines Bildes.
Für den Fall von Ausfallzeiten wurde die Möglichkeit des „Offline-Lesens“ organisiert: Texte und Bilder werden in einen RSS-Feed exportiert. Es ist eine 100%ige Zwischenspeicherung aller Inhalte, einschließlich HTML, aktiviert.
Eine weitere Optimierung ist die Aktivierung der HTTP2-Einstellung in nginx, die den Datenverkehr etwas verringert und die Ladezeiten der Seiten im Vergleich zu HTTP/1.1 verkürzt. In der Tabelle werden die Ergebnisse für fünf verschiedene Seiten verglichen.
| | FP | WE | HS | FW | CW | |----------|-------|-------|-------|-------|-------| | HTTP/1.1 | 1,46s | 1,87s | 1,54s | 1,86s | 1,89s | | HTTP2 | 1,30s | 1,49s | 1,54s | 1,79s | 1,55s | | Bilder | 9 | 21 | 11 | 19 | 23 | | Einsparungen | 11% | 21% | 0% | 4% | 18% |
Die vollständige Konfiguration von nginx:
root@solarserver:/var/log/nginx# cat /etc/nginx/sites-enabled/solar.lowtechmagazine.com
# Expires map
map $sent_http_content_type $expires {
default off;
text/html 7d;
text/css max;
application/javascript max;
~image/ max;
}
server {
listen 80;
server_name solar.lowtechmagazine.com;
location / {
return 301 https://$server_name$request_uri;
}
}
server{
listen 443 ssl http2;
server_name solar.lowtechmagazine.com;
charset UTF-8; # verbesserte Ladegeschwindigkeit durch Übermittlung des Zeichensatzes mit der ersten Antwort.
location / {
root /var/www/html/;
index index.html;
autoindex off;
}
#Caching (html-Seiten 7 Tage speichern, Rest so lange wie möglich, kein Caching auf der Startseite)
expires $expires;
location @index {
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-cache, no-store';
etag off;
expires off;
}
#error_page 404 /404.html;
# Serverfehlerseiten auf die statische Seite /50x.html umleiten
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /var/www/;
#}
#Kompression
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
#Caching (html-Seite 7 Tage speichern, Rest so lange wie möglich)
expires $expires;
# Protokolle
access_log /var/log/nginx/solar.lowtechmagazine.com_ssl.access.log;
error_log /var/log/nginx/solar.lowtechmagazine.com_ssl.error.log;
# SSL-Einstellungen:
ssl_certificate /etc/letsencrypt/live/solar.lowtechmagazine.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/solar.lowtechmagazine.com/privkey.pem;
# Verbesserung der HTTPS-Leistung mit Sitzungswiederherstellung
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
# Aktivieren Sie den serverseitigen Schutz gegen BEAST-Angriffe
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;
# Deaktivieren Sie SSLv3
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# Verringern Sie die Puffergröße zur Erhöhung der TTFB
ssl_buffer_size 4k;
# Diffie-Hellman-Parameter für DHE-Ciphersuites
# $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
ssl_dhparam /etc/ssl/certs/dhparam.pem;
# HSTS aktivieren (https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security)
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
# OCSP-Stapling aktivieren (http://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox)
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/solar.lowtechmagazine.com/fullchain.pem;
resolver 87.98.175.85 193.183.98.66 valid=300s;
resolver_timeout 5s;
}Ergebnisse von 15 Monaten Betrieb
Im Zeitraum vom 12. Dezember 2018 bis zum 28. November 2019 zeigte der Server . Das bedeutet, dass aufgrund schlechten Wetters die Ausfallzeiten im Jahr 399 Stunden betrugen.
Wenn man jedoch die letzten zwei Monate ausblendet, betrug die Betriebszeit 98,2 % und die Downtime lediglich 152 Stunden, wie die Entwickler berichten. Die Betriebszeit fiel in den letzten zwei Monaten auf 80 %, als der Energieverbrauch aufgrund eines Software-Updates anstieg. Jede Nacht wurde die Website für mehrere Stunden abgeschaltet.
Laut Statistik betrug der Stromverbrauch des Servers im Jahr (vom 3. Dezember 2018 bis zum 24. November 2019) 9,53 kWh. Es wurden erhebliche Verluste im photovoltaischen System aufgrund der Spannungsumwandlung und der Entladung der Batterie festgestellt. Der Solarregler zeigte einen jährlichen Verbrauch von 18,10 kWh, was eine Effizienz des Systems von etwa 50 % bedeutet.

Vereinfachtes Schema. Der Spannungswandler von 12 auf 5 Volt und der Batteriezähler in Amperestunden sind nicht dargestellt.
Im Untersuchungszeitraum besuchten 865.000 einzigartige Besucher die Website. Inklusive aller Energieverluste in der Solaranlage betrug der Energieverbrauch pro einzigartigem Besucher 0,021 Wh. Somit reicht eine Kilowattstunde erzeugter Solarenergie aus, um fast 50.000 einzigartige Besucher zu bedienen.
Während des Experiments wurden Solarmodule unterschiedlicher Größe getestet. In der Tabelle sind die Berechnungen aufgeführt, wie lange es dauert, bis Batterien unterschiedlicher Kapazität unter Verwendung von Solarmodulen unterschiedlicher Größe aufgeladen sind.

Die durchschnittliche Leistungsaufnahme des Webservers im ersten Jahr, einschließlich aller Energieverluste, betrug 1,97 W. Die Berechnung zeigt, dass zur Unterstützung der Website in der kürzesten Nacht des Jahres (8 Stunden 50 Minuten, 21. Juni) 17,40 Wattstunden Speicherkapazität benötigt werden, und in der längsten Nacht (14 Stunden 49 Minuten, 21. Dezember) sind es 29,19 Wh.

Da Blei-Säure-Batterien nicht unterhalb der Hälfte ihrer Kapazität entladen werden sollten, benötigt der Server eine Batterie mit 60 Wh, um die längste Nacht bei optimaler Tageslichteinwirkung zu überstehen (2 × 29,19 Wh). Den Großteil des Jahres arbeitete das System mit einem Akku von 86,4 Wh und einem 50-Watt-Solarmodul, und damit wurde die oben genannte Betriebszeit von 95-98 % erreicht.
Uptime 100%
Für eine Uptime von 100 % muss die Kapazität der Batterien erhöht werden. Um einen Tag mit sehr schlechtem Wetter (ohne signifikante Energieerzeugung) auszugleichen, werden 47,28 Wattstunden (24 Stunden × 1,97 Watt) Speicher benötigt.
Vom 1. Dezember 2019 bis zum 12. Januar 2020 wurde ein 168-Watt-Akku in das System eingebaut, dessen praktische Speicherkapazität 84 Wattstunden beträgt. Diese Speicherkapazität reicht aus, um den Betrieb der Website für zwei Nächte und einen Tag aufrechtzuerhalten. Die Konfiguration wurde in der dunkelsten Jahreszeit getestet, jedoch war das Wetter relativ gut – und während des angegebenen Zeitraums betrug die Betriebszeit ohne Ausfälle 100%.
Um jedoch eine 100%ige Betriebszeit über mehrere Jahre hinweg zu garantieren, muss auch das schlimmste Szenario einkalkuliert werden, bei dem schlechtes Wetter mehrere Tage anhält. Die Berechnung zeigt: Um die Website über vier Tage mit geringer oder keiner Energieerzeugung online zu halten, ist eine Blei-Säure-Batterie mit einer Kapazität von 440 Wattstunden erforderlich, also in der Größe einer Autobatterie.
In der Praxis wird eine Blei-Säure-Batterie mit 48 Wh während der Nacht von März bis September den Server am Laufen halten. Eine Batterie mit 24 Wh hält den Server maximal 6 Stunden in Betrieb, was bedeutet, dass er jede Nacht abgeschaltet wird, wenn auch zu unterschiedlichen Zeiten, je nach Monat.
Im Großen und Ganzen ist es für einige Websites nicht notwendig, nachts zu laufen, wenn die Besucherzahlen minimal sind, behaupten die Leute von Low-tech Magazine. Zum Beispiel, wenn es sich um ein regionales Stadtmagazin handelt, das keine Besucher aus anderen Zeitzonen anzieht, sondern nur lokale Bewohner.
Das bedeutet, dass für Websites mit unterschiedlicher Besucherfrequenz und unterschiedlicher Betriebszeit Akkus mit unterschiedlichen Kapazitäten und Solarpanels in unterschiedlichen Größen benötigt werden.


Der Autor führt eine Berechnung an, wie viel Energie benötigt wird für die Herstellung der Solarpanels selbst (embodied energy) und wie viel entsteht, wenn man diese Menge durch die erwartete Lebensdauer von 10 Jahren teilt.

So lässt sich eine analoge Menge fossiler Brennstoffe berechnen, die für die Herstellung und den Betrieb der Panels verbraucht wurde. Bei Low-tech Magazine wurde festgestellt, dass ihr System im ersten Betriebsjahr (Panel 50 W, Batterie 86,4 Wh) etwa 9 kg Emissionen "generiert" hat oder dem Äquivalent der Verbrennung von 3 Litern Benzin entspricht: ungefähr so viel, wie ein PKW auf 50 km Strecke verbraucht.

Wenn der Server nicht von Solarzellen, sondern vom allgemeinen Stromnetz betrieben wird, ergibt sich ein Äquivalent für die Emissionen, das etwa sechsmal niedriger ist: 1,54 kg (im spanischen Energiesektor ist der Anteil erneuerbarer Energien und Kernenergie hoch). Aber dieser Vergleich ist nicht ganz korrekt, schreibt der Autor, da er die verkörperte Energie der Solarinfrastruktur berücksichtigt, jedoch diesen Parameter für das allgemeine Stromnetz, d.h. die Kosten für dessen Bau und Wartung, nicht einbezieht.
Weitere Verbesserungen
In der vergangen Zeit wurden mehrere Optimierungen vorgenommen, die den Energieverbrauch des Servers gesenkt haben. Zum Beispiel bemerkte der Entwickler irgendwann, dass 6,63 TB des Gesamtvolumens von 11,15 TB Datenverkehr von einer fehlerhaften Implementierung des RSS-Feeds erzeugt werden, die Inhalte alle paar Minuten abruft. Nach der Behebung dieses Fehlers sank der Energieverbrauch des Servers (ohne Berücksichtigung der Energieverluste) von 1,14 W auf etwa 0,95 W. Der Gewinn mag gering erscheinen, aber der Unterschied von 0,19 W bedeutet 4,56 Wattstunden pro Tag, was mehr als 2,5 Stunden eigenständigen Betrieb des Servers entspricht.
Im ersten Jahr betrug der Wirkungsgrad nur 50%. Verluste traten beim Laden und Entladen der Batterie (22%) sowie bei der Spannungsumwandlung von 12 V (Photovoltaikanlage) auf 5 V (USB), wo die Verluste bis zu 28% betragen. Der Entwickler räumt ein, dass er einen suboptimalen Spannungswandler hat (Controller ohne integriertes USB), daher kann dieser Punkt optimiert oder auf eine 5V-Solaranlage umgestiegen werden.
Um die Effizienz der Energiespeicherung zu erhöhen, können Blei-Säure-Batterien durch teurere Lithium-Ionen-Akkus ersetzt werden, die geringere Lade-/Entladeverluste (<10%) aufweisen. Der Konstrukteur prüft derzeit eine kompakte (CAES), das eine Lebensdauer von Jahrzehnten hat, was einen geringeren "CO2-Fußabdruck" bei der Herstellung bedeutet.

Kompakter Energiespeicher auf Basis von komprimierter Luft,
Es wird über die Installation einer zusätzlichen Windturbine nachgedacht (die kann man ) und die Montage eines Solartrackers zur Ausrichtung der Panels zur Sonne. Der Tracker ermöglicht eine Steigerung der Stromproduktion um 30%.

Ein weiterer Weg zur Steigerung der Effizienz des Systems besteht darin, es zu skalieren. Mehr Websites auf dem Server hosten und mehr Server betreiben. Dadurch wird der Energieverbrauch pro Website gesenkt.

Solarhosting-Unternehmen. Illustration: Diego Marmolejo
Wenn der gesamte Balkon der Wohnung mit Solarpanelen bedeckt wird und ein Unternehmen für solarbetriebene Webhosting gegründet wird, sind die Kosten pro Kunde deutlich niedriger als für eine einzelne Website: Skaleneffekte.
Insgesamt zeigt dieses Experiment, dass die Computerinfrastruktur unter bestimmten Einschränkungen durchaus mit erneuerbaren Energiequellen betrieben werden kann.
Theoretisch könnte ein solcher Server sogar ohne Batterie auskommen, wenn man ihn an anderen Orten der Welt spiegelt. Zum Beispiel könnten Spiegel in Neuseeland und Chile aufgestellt werden. Dort funktionieren die Solarpanels, während es in Barcelona Nacht ist.
Quelle: habr.com
