Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %
Der erste Prototyp eines Solarservers mit Laderegler. Foto: solar.lowtechmagazine.com

Im September 2018 ein Enthusiast vom Low-tech Magazine startete ein „Low-Tech“-Webserverprojekt. Ziel war es, den Energieverbrauch so weit zu senken, dass ein Solarpanel für einen selbst gehosteten Heimserver ausreicht. Das ist nicht einfach, denn die Seite muss 24 Stunden am Tag funktionieren. Mal sehen, was am Ende passiert ist.

Sie können zum Server gehen solar.lowtechmagazine.comÜberprüfen Sie den aktuellen Stromverbrauch und den Ladezustand des Akkus. Die Website ist für eine minimale Anzahl von Anfragen von der Seite und minimalen Datenverkehr optimiert, sodass sie einem Anstieg des Datenverkehrs von Habr standhalten sollte. Nach Berechnungen des Entwicklers beträgt der Energieverbrauch pro einzelnem Besucher 0,021 Wh.

Kurz vor Tagesanbruch am 31. Januar 2020 waren noch 42 % der Batterie übrig. Morgendämmerung in Barcelona um 8:04 Uhr Ortszeit, danach sollte Strom aus dem Solarpanel fließen.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Warum?

Vor zehn Jahren Experten vorhergesagtdass die Entwicklung des Internets zur „Dematerialisierung“ der Gesellschaft, zur universellen Digitalisierung – und damit zu einer Reduzierung des Gesamtenergieverbrauchs – beiträgt. Sie lagen falsch. Tatsächlich verlangte das Internet selbst riesige Mengen an Energieversorgung, und diese Mengen nehmen weiter zu.

IT-Unternehmen haben Initiativen zur Umstellung auf alternative Energiequellen gestartet, doch dies ist nun unmöglich. Alle Rechenzentren verbrauchen dreimal mehr Energie, als alle Solar- und Windanlagen der Welt erzeugen. Noch schlimmer ist die Produktion und der regelmäßige Austausch von Solarpaneelen und Windkraftanlagen benötigt auch EnergieDaher ist es heute einfach unmöglich, auf fossile Brennstoffe (Öl, Gas, Uran) zu verzichten. Da diese Reserven jedoch nicht lange reichen werden, müssen wir unweigerlich darüber nachdenken, wie wir mit erneuerbaren Energiequellen leben können. Einschließlich des Betriebs von Computer-Infrastruktur, einschließlich Webservern.

Low-Tech-Magazin hält es für ein Problem Webseiten blähen sich zu schnell auf. Die durchschnittliche Seitengröße ist von 2010 bis 2018 gestiegen von 0,45 MB bis 1,7 MBund für mobile Websites – von 0,15 MB bis 1,6 MB, eine konservative Schätzung.

Anstieg des Verkehrsaufkommens übertrifft den Fortschritt bei der Energieeffizienz (die Energie, die zur Übertragung von 1 Megabyte an Informationen benötigt wird), was zu einem ständigen Anstieg des Internet-Energieverbrauchs führt. Schwerere und stärker belastete Standorte erhöhen nicht nur die Belastung der Netzwerkinfrastruktur, sondern verkürzen auch den „Lebenszyklus“ von Computern und Smartphones, die häufiger weggeworfen und neue produziert werden müssen, was ebenfalls der Fall ist ein sehr energieintensiver Prozess.

Und natürlich ist die erhöhte Arbeitsbelastung auf den Lebensstil selbst zurückzuführen: Die Menschen verbringen fast ihre gesamte Zeit im Internet und sind stark auf verschiedene Webdienste angewiesen. Cloud-IT-Infrastruktur (soziale Netzwerke, Instant Messenger, E-Mail usw.) ist aus der modernen Gesellschaft kaum noch wegzudenken.

Server- und Website-Konfiguration

В Dieser Artikel Die Hardwarekonfiguration und der Software-Stack des Webservers werden ausführlich beschrieben.

Single-Board-Computer Olimex Olinuxino A20 Limette 2 Aufgrund seines geringen Stromverbrauchs und nützlicher Zusatzfunktionen wie einem Power-Management-Chip wurde es ausgewählt AXP209. Es ermöglicht Ihnen, Statistiken über die aktuelle Spannung und den aktuellen Strom von der Platine und der Batterie anzufordern. Die Mikroschaltung schaltet die Stromversorgung automatisch zwischen der Batterie und dem Gleichstromanschluss um, wo Strom vom Solarpanel fließt. Somit ist eine unterbrechungsfreie Stromversorgung des Servers mit Batterieunterstützung möglich.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %
Olimex Olinuxino A20 Limette 2

Als Akku wurde zunächst ein Lithium-Polymer-Akku mit einer Kapazität von 6600 mAh (ca. 24 Wh) gewählt, anschließend wurde ein Blei-Säure-Akku mit einer Kapazität von 84,4 Wh verbaut.

Das Betriebssystem bootet von der SD-Karte. Obwohl das Betriebssystem nicht mehr als 1 GB beansprucht und die statische Website etwa 30 MB groß ist, war der Kauf einer Karte kleiner als einer Klasse 10 mit 16 GB wirtschaftlich nicht sinnvoll.

Der Server stellt über einen 100-Mbit/s-Heimanschluss in Barcelona und einen Standard-Router für Endverbraucher eine Verbindung zum Internet her. Dafür ist eine statische IP-Adresse reserviert. Fast jeder kann eine solche Site in seiner Wohnung einrichten; Sie müssen die Firewall-Einstellungen leicht ändern, um Ports an die lokale IP weiterzuleiten:

Port 80 bis 80 für HTTP, Port 443 bis 443 für HTTPS, Port 22 bis 22 für SSH

Operationssystem Armbian-Stretch Basierend auf der Debian-Distribution und dem Debian-Kernel SUNXI, das für Single-Boards mit AllWinner-Chips konzipiert ist.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %
Ein 50-Watt-Solarpanel für einen Webserver und ein 10-Watt-Solarpanel zur Beleuchtung des Wohnzimmers in der Wohnung des Autors

Vom System generierte statische Site Pelikan (Site-Generator in Python). Statische Websites werden schneller geladen und sind weniger CPU-intensiv, sodass sie viel energieeffizienter sind als dynamisch generierte Seiten. Sehen Sie sich den Quellcode für das Thema an. hier.

Ein sehr wichtiger Punkt ist die Bildkomprimierung, da es ohne diese Optimierung nahezu unmöglich ist, Webseiten kleiner als 1 Megabyte zu machen. Zur Optimierung wurde beschlossen, die Fotos in Halbtonbilder umzuwandeln. Hier ist zum Beispiel ein Foto von Telefonistinnen an einer Telefonzentrale im letzten Jahrhundert: 253 KB.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Und hier ist ein optimiertes Graustufenbild der Größe 36,5 KB mit drei Farben (schwarz, weiß, grau). Durch die optische Täuschung entsteht für den Betrachter der Eindruck, es gäbe mehr als drei Farben.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Halbtonfotos wurden nicht nur aus Gründen der Größenoptimierung (eine eher zweifelhafte Entscheidung), sondern auch aus ästhetischen Gründen ausgewählt. Diese alte Bildverarbeitungstechnik weist bestimmte Stilmerkmale auf, sodass die Website ein etwas einzigartiges Design aufweist.

Nach der Optimierung verringerte sich die Größe von 623 Abbildungen auf der Website des Low-tech Magazine von 194,2 MB auf 21,3 MB, also um 89 %.

Alle alten Artikel wurden in Markdown konvertiert, um das Schreiben neuer Artikel sowie die Sicherung über zu vereinfachen git. Sämtliche Skripte und Tracker sowie Logos wurden von der Website entfernt. Es wird die Standardschriftart im Browser des Kunden verwendet. Als „Logo“ der Name des Magazins in Großbuchstaben mit einem Pfeil nach links: LOW←TECH MAGAZINE. Nur 16 Bytes statt eines Bildes.

Für den Fall eines Ausfalls wurde die Möglichkeit des „Offline-Lesens“ eingerichtet: Texte und Bilder werden in einen RSS-Feed exportiert. Das Caching von 100 % des Inhalts ist aktiviert, einschließlich HTML.

Eine weitere Optimierung besteht darin, HTTP2-Einstellungen in Nginx zu aktivieren, was den Datenverkehr leicht reduziert und die Ladezeit der Seite im Vergleich zu HTTP/1.1 verkürzt. Die Tabelle vergleicht die Ergebnisse für fünf verschiedene Seiten.

| | FP | WIR | 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 % |

Vollständige Nginx-Konfiguration:

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; #improve page speed by sending the charset with the first response.

location / {
root /var/www/html/;
index index.html;
autoindex off;
}


#Caching (save html pages for 7 days, rest as long as possible, no caching on frontpage)
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;

# redirect server error pages to the static page /50x.html
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /var/www/;
#}

#Compression

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 (save html page for 7 days, rest as long as possible)
expires $expires;

# Logs
access_log /var/log/nginx/solar.lowtechmagazine.com_ssl.access.log;
error_log /var/log/nginx/solar.lowtechmagazine.com_ssl.error.log;

# SSL Settings:
ssl_certificate /etc/letsencrypt/live/solar.lowtechmagazine.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/solar.lowtechmagazine.com/privkey.pem;

# Improve HTTPS performance with session resumption
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;

# Enable server-side protection against BEAST attacks
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

# Disable SSLv3
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

# Lower the buffer size to increase TTFB
ssl_buffer_size 4k;

# Diffie-Hellman parameter for DHE ciphersuites
# $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
ssl_dhparam /etc/ssl/certs/dhparam.pem;

# Enable HSTS (https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security)
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";

# Enable OCSP stapling (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 Arbeit

Für den Zeitraum vom 12. Dezember 2018 bis 28. November 2019 wurde auf dem Server angezeigt Betriebszeit 95,26 %. Dies bedeutet, dass die wetterbedingte Ausfallzeit im Jahresverlauf 399 Stunden betrug.

Berücksichtigt man aber die letzten zwei Monate nicht, lag die Betriebszeit bei 98,2 %, die Ausfallzeit bei nur 152 Stunden, schreiben die Entwickler. Die Betriebszeit ist in den letzten zwei Monaten auf 80 % gesunken, als der Stromverbrauch aufgrund eines Software-Updates anstieg. Jede Nacht fiel die Seite mehrere Stunden lang aus.

Laut Statistik betrug der Stromverbrauch des Servers für das Jahr (vom 3. Dezember 2018 bis 24. November 2019) 9,53 kWh. Es wurden erhebliche Verluste in der Photovoltaikanlage durch Spannungsumwandlung und Batterieentladung verzeichnet. Der Solarregler zeigte einen Jahresverbrauch von 18,10 kWh, was einem Systemwirkungsgrad von ca. 50 % entspricht.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %
Vereinfachtes Diagramm. Ein Spannungswandler von 12 auf 5 Volt und ein Batterie-Amperestundenzähler sind nicht vorhanden

Während des Untersuchungszeitraums besuchten 865 einzelne Besucher die Website. Einschließlich aller Energieverluste in der Solaranlage betrug der Energieverbrauch pro einzelnem Besucher 000 Wh. Somit reicht eine erzeugte Kilowattstunde Solarenergie aus, um fast 0,021 einzelne Besucher zu versorgen.

Während des Experiments wurden Solarmodule unterschiedlicher Größe getestet. Die Tabelle zeigt Berechnungen, wie lange das Laden von Batterien unterschiedlicher Kapazität bei Verwendung von Solarmodulen unterschiedlicher Größe dauert.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Der durchschnittliche Stromverbrauch des Webservers lag im ersten Jahr inklusive aller Energieverluste bei 1,97 Watt. Die Berechnung zeigt, dass der Betrieb einer Website über Nacht in der kürzesten Nacht des Jahres (8 Stunden 50 Minuten, 21. Juni) 17,40 Wattstunden Speicherleistung erfordert, in der längsten Nacht (14 Stunden 49 Minuten, 21. Dezember) sind es 29,19 .XNUMX Wh.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Da sich Blei-Säure-Akkus nicht unter die halbe Kapazität entladen sollten, benötigt der Server einen 60-Wh-Akku, um die längste Nacht bei optimalem Tageslicht zu überstehen (2x29,19 Wh). Die meiste Zeit des Jahres arbeitete das System mit einer 86,4-Wh-Batterie und einem 50-Watt-Solarpanel, und dann wurden die oben genannten Betriebszeiten von 95–98 % erreicht.

Betriebszeit 100 %

Für eine 100-prozentige Betriebszeit ist es notwendig, die Batteriekapazität zu erhöhen. Um einen Tag mit sehr schlechtem Wetter (ohne nennenswerte Stromerzeugung) auszugleichen, werden 47,28 Wattstunden (24 Stunden × 1,97 Watt) Speicher benötigt.

Vom 1. Dezember 2019 bis 12. Januar 2020 wurde im System ein 168-Watt-Akku verbaut, der über eine praktische Speicherkapazität von 84 Wattstunden verfügt. Dies ist ausreichend Speicherplatz, um die Website zwei Nächte und einen Tag lang laufen zu lassen. Die Konfiguration wurde in der dunkelsten Zeit des Jahres getestet, aber das Wetter war relativ gut – und im angegebenen Zeitraum betrug die Betriebszeit 100 %.

Um jedoch eine 100-prozentige Verfügbarkeit über mehrere Jahre zu gewährleisten, müssen Sie für den schlimmsten Fall vorsorgen, wenn das schlechte Wetter mehrere Tage lang anhält. Die Berechnung zeigt, dass man eine Blei-Säure-Batterie mit einer Kapazität von 440 Wattstunden benötigen würde, um eine Website vier Tage lang mit geringer oder keiner Energieerzeugung online zu halten, was der Größe einer Autobatterie entspricht.

In der Praxis hält ein 48-Wh-Blei-Säure-Akku bei guten Wetterbedingungen den Server über Nacht von März bis September am Laufen. Mit einem 24-Wh-Akku hält der Server maximal 6 Stunden, d. h. er fährt jede Nacht herunter, allerdings je nach Monat zu unterschiedlichen Zeiten.

Im Großen und Ganzen müssen einige Websites nachts nicht arbeiten, wenn die Besucherzahl minimal ist, sagen die Leute vom Low-tech Magazine. Wenn es sich beispielsweise um eine regionale Stadtpublikation handelt, zu der nicht Besucher aus anderen Zeitzonen, sondern nur Anwohner kommen.

Das heißt, für Standorte mit unterschiedlichem Verkehr und unterschiedlicher Betriebszeit werden Batterien unterschiedlicher Kapazität und Solarmodule unterschiedlicher Größe benötigt.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Der Autor liefert eine Berechnung, wie viel Energie dafür benötigt wird Produktion die Sonnenkollektoren selbst (körperliche Energie) und wie viel sich daraus ergibt, wenn man diesen Betrag durch die erwartete Lebensdauer von 10 Jahren dividiert.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Auf diese Weise lässt sich das Äquivalent an fossilen Brennstoffen berechnen, die bei der Herstellung und dem Betrieb der Panels verbraucht werden. Das Low-Tech Magazine stellte fest, dass ihr System (50-W-Panel, 86,4-Wh-Batterie) im ersten Betriebsjahr etwa 9 kg Emissionen „erzeugte“, was der Verbrennung von 3 Litern Benzin entspricht: etwa so viel wie ein 50-W-Motor. einjähriger Pkw in km Fahrleistung.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Wenn der Server nicht über Sonnenkollektoren, sondern über das allgemeine Stromnetz mit Strom versorgt wird, scheinen die entsprechenden Emissionen sechsmal niedriger zu sein: 1,54 kg (der spanische Energiesektor hat einen hohen Anteil an alternativen Energien und Kernkraftwerken). Dies sei jedoch kein ganz korrekter Vergleich, schreibt der Autor, da er die Graue Energie der Solarinfrastruktur berücksichtige, diesen Indikator für das allgemeine Energienetz, also die Kosten für dessen Bau und Unterstützung, jedoch nicht berücksichtige .

Weitere Verbesserungen

Im Laufe der Zeit wurden zahlreiche Optimierungen durchgeführt, die zu einer Reduzierung des Stromverbrauchs der Server geführt haben. Beispielsweise bemerkte der Entwickler einmal, dass 6,63 TB der insgesamt 11,15 TB Datenverkehr durch eine fehlerhafte RSS-Feed-Implementierung generiert wurden, die alle paar Minuten Inhalte abzog. Nach der Behebung dieses Fehlers sank der Stromverbrauch des Servers (ohne Energieverluste) von 1,14 W auf etwa 0,95 W. Der Gewinn mag gering erscheinen, aber ein Unterschied von 0,19 W bedeutet 4,56 Wattstunden pro Tag, was mehr als 2,5 Stunden Akkulaufzeit des Servers entspricht.

Im ersten Jahr betrug der Wirkungsgrad nur 50 %. Verluste wurden beim Laden und Entladen der Batterie (22 %) sowie beim Umwandeln der Spannung von 12 V (Solar-PV-Anlage) auf 5 V (USB) beobachtet, wobei die Verluste bis zu 28 % betrugen. Der Entwickler gibt zu, dass er einen suboptimalen Spannungswandler (Controller ohne eingebauten USB) hat, sodass man diesen Punkt optimieren oder auf eine 5V-Solaranlage umsteigen kann.

Um die Effizienz der Energiespeicherung zu verbessern, können Blei-Säure-Batterien durch teurere Lithium-Ionen-Batterien ersetzt werden, die geringere Lade-/Entladeverluste (<10 %) aufweisen. Jetzt denkt der Designer über einen Kompakten nach Energiespeichersystem in Form von Druckluft (CAES), das eine Lebensdauer von Jahrzehnten hat, was einen geringeren COXNUMX-Fußabdruck bei seiner Produktion bedeutet.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %
Kompakter Druckluft-Energiespeicher, Quelle

Die Installation einer zusätzlichen Windkraftanlage wird in Betracht gezogen (möglicherweise). zimmern) und die Installation eines Solartrackers, um die Module in Richtung Sonne zu drehen. Mit dem Tracker können Sie die Stromproduktion um 30 % steigern.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %

Eine weitere Möglichkeit, die Effizienz des Systems zu steigern, besteht darin, es zu skalieren. Erhöhen Sie mehr Websites auf dem Server und starten Sie weitere Server. Dann sinkt der Energieverbrauch pro Standort.

Solarbetriebener Heim-Webserver funktionierte 15 Monate lang: Betriebszeit 95,26 %
Solar-Hosting-Unternehmen. Illustration: Diego Marmolejo

Wenn Sie den gesamten Balkon Ihrer Wohnung mit Sonnenkollektoren bedecken und ein Solar-Webhosting-Unternehmen eröffnen, sind die Kosten pro Kunde deutlich niedriger als bei einer einzelnen Website: Skaleneffekte.

Insgesamt zeigt dieses Experiment, dass es unter bestimmten Einschränkungen durchaus möglich ist, dass die Computerinfrastruktur mit erneuerbaren Energiequellen betrieben wird.

Theoretisch könnte ein solcher Server bei Spiegelung in anderen Teilen der Welt sogar ohne Batterie auskommen. Installieren Sie beispielsweise Spiegel in Neuseeland und Chile. Die Sonnenkollektoren funktionieren auch, wenn es in Barcelona Nacht ist.

Source: habr.com

Kommentar hinzufügen