Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%
Het eerste prototype van een zonneserver met laadregelaar. Foto: solar.lowtechmagazine.com

In september 2018 kwam een ​​liefhebber van Low-tech Magazine lanceerde een “low-tech” webserverproject. Het doel was om het energieverbruik zo sterk terug te dringen dat één zonnepaneel voldoende zou zijn voor een zelfgehoste server thuis. Dat is niet eenvoudig, want de site moet 24 uur per dag werken. Laten we eens kijken wat er uiteindelijk gebeurde.

Je kunt naar de server gaan solar.lowtechmagazine.comControleer het huidige stroomverbruik en het laadniveau van de batterij. De site is geoptimaliseerd voor een minimaal aantal verzoeken van de pagina en minimaal verkeer, dus deze moet bestand zijn tegen een toename van het verkeer van Habr. Volgens berekeningen van de ontwikkelaar bedraagt ​​het energieverbruik per unieke bezoeker 0,021 Wh.

Net voor zonsopgang op 31 januari 2020 had de batterij nog 42% over. Ochtendgloren in Barcelona om 8:04 lokale tijd, waarna er stroom uit het zonnepaneel zou moeten stromen.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Waarom?

Tien jaar geleden deskundigen voorspeldedat de ontwikkeling van het internet bijdraagt ​​aan de “dematerialisering” van de samenleving, de universele digitalisering – en, als gevolg daarvan, een vermindering van het totale energieverbruik. Ze hadden het mis. In feite eiste het internet zelf enorme hoeveelheden energie, en deze volumes blijven groeien.

IT-bedrijven hebben initiatieven gelanceerd om over te stappen op alternatieve energiebronnen, maar dit is nu onmogelijk. Alle datacenters verbruiken drie keer meer energie dan alle zonne- en windinstallaties ter wereld opwekken. Erger nog, de productie en regelmatige vervanging van zonnepanelen en windturbines vergt ook energieDaarom is het tegenwoordig eenvoudigweg onmogelijk om fossiele brandstoffen (olie, gas, uranium) achterwege te laten. Maar deze reserves zullen niet lang meegaan, dus we zullen onvermijdelijk moeten nadenken over hoe we van hernieuwbare bronnen kunnen leven. Inclusief de exploitatie van computerinfrastructuur, inclusief webservers.

Low-tech tijdschrift vindt het een probleem Webpagina's zwellen te snel op. Het gemiddelde paginaformaat is tussen 2010 en 2018 toegenomen van 0,45 MB tot 1,7 MBen voor mobiele sites - van 0,15 MB tot 1,6 MB, een conservatieve schatting.

Toename van het verkeersvolume overtreft de vooruitgang op het gebied van energie-efficiëntie (de energie die nodig is om 1 megabyte aan informatie te verzenden), wat een constante toename van het energieverbruik van internet veroorzaakt. Zwaardere en meer belaste sites verhogen niet alleen de belasting van de netwerkinfrastructuur, maar verkorten ook de ‘levenscyclus’ van computers en smartphones, die vaker moeten worden weggegooid en er nieuwe moeten worden geproduceerd, die ook een zeer energie-intensief proces.

En natuurlijk wordt de verhoogde werkdruk veroorzaakt door de levensstijl zelf: mensen brengen bijna al hun tijd op internet door en zijn sterk afhankelijk van verschillende webdiensten. Het is al moeilijk om de moderne samenleving voor te stellen zonder cloud-IT-infrastructuur (sociale netwerken, instant messengers, mail, enz.)

Server- en websiteconfiguratie

В dit artikel De hardwareconfiguratie en softwarestack van de webserver worden in detail beschreven.

Enkelbordcomputer Olimex Olinuxino A20 Limoen 2 gekozen vanwege een laag stroomverbruik en handige extra functies zoals een energiebeheerchip AXP209. Hiermee kunt u statistieken opvragen over de huidige spanning en stroom van het bord en de batterij. De microschakeling schakelt automatisch de stroom tussen de batterij en de DC-connector, waar de stroom uit het zonnepaneel stroomt. Zo is een ononderbroken stroomvoorziening van de server met batterijondersteuning mogelijk.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%
Olimex Olinuxino A20 Limoen 2

Aanvankelijk werd als batterij gekozen voor een lithium-polymeerbatterij met een capaciteit van 6600 mAh (ongeveer 24 Wh), daarna werd een loodzuurbatterij met een capaciteit van 84,4 Wh geïnstalleerd.

Het besturingssysteem start op vanaf de SD-kaart. Hoewel het besturingssysteem niet meer dan 1 GB in beslag neemt en de statische website ongeveer 30 MB groot is, had het economisch geen zin om een ​​kaart te kopen die kleiner was dan een Class 10 16 GB.

De server maakt verbinding met internet via een 100 Mbps thuisverbinding in Barcelona en een standaard consumentenrouter. Er wordt een statisch IP-adres voor gereserveerd. Bijna iedereen kan zo'n site in zijn appartement opzetten; je moet de firewall-instellingen enigszins wijzigen om poorten door te sturen naar het lokale IP-adres:

Poort 80 tot 80 voor HTTP Poort 443 tot 443 voor HTTPS Poort 22 tot 22 voor SSH

Besturingssysteem Armbiaanse stretch gebaseerd op de distributie en kernel van Debian ZONNI, die is ontworpen voor enkele borden met AllWinner-chips.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%
Een zonnepaneel van 50 watt voor een webserver en een zonnepaneel van 10 watt voor het verlichten van de woonkamer in het appartement van de auteur

Statische site gegenereerd door het systeem Pelikaan (sitegenerator in Python). Statische sites laden sneller en zijn minder CPU-intensief, waardoor ze veel energiezuiniger zijn dan dynamisch gegenereerde pagina's. Zie de broncode voor het thema. hier.

Een heel belangrijk punt is beeldcompressie, want zonder deze optimalisatie is het vrijwel onmogelijk om webpagina's kleiner dan 1 megabyte te maken. Ter optimalisatie is besloten de foto's om te zetten in halftoonafbeeldingen. Hier is bijvoorbeeld een foto van vrouwelijke telefonisten op een telefooncentrale in de vorige eeuw, 253 KB.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

En hier is een geoptimaliseerde grijswaardenafbeelding van formaat 36,5 KB met drie kleuren (zwart, wit, grijs). Door de optische illusie lijkt het voor de kijker dat er meer dan drie kleuren zijn.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Halftoonfoto's werden niet alleen gekozen om de grootte te optimaliseren (een nogal twijfelachtige beslissing), maar ook om esthetische redenen. Deze oude beeldverwerkingstechniek heeft bepaalde stilistische kenmerken, waardoor de site een enigszins uniek ontwerp heeft.

Na optimalisatie zijn 623 illustraties op de website van Low-tech Magazine in omvang afgenomen van 194,2 MB naar 21,3 MB, dat wil zeggen met 89%.

Alle oude artikelen zijn geconverteerd naar Markdown voor het gemak van het schrijven van nieuwe artikelen, maar ook voor het eenvoudig maken van back-ups via git. Alle scripts en trackers, evenals logo's, zijn van de site verwijderd. Er wordt gebruik gemaakt van het standaardlettertype in de browser van de klant. Als “logo” - de naam van het tijdschrift in hoofdletters met een pijl naar links: LOW←TECH MAGAZINE. Slechts 16 bytes in plaats van een afbeelding.

In geval van downtime is de mogelijkheid tot “offline lezen” georganiseerd: teksten en afbeeldingen worden geëxporteerd naar een RSS-feed. Caching van 100% inhoud is ingeschakeld, inclusief HTML.

Een andere optimalisatie is het inschakelen van HTTP2-instellingen in nginx, waardoor het verkeer enigszins wordt verminderd en de laadtijd van de pagina wordt verkort in vergelijking met HTTP/1.1. In de tabel worden de resultaten voor vijf verschillende pagina's vergeleken.

| | FP | WIJ | 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 | | Afbeeldingen | 9 | 21 | 11 | 19 | 23 | | besparingen | 11% | 21% | 0% | 4% | 18% |

Volledige nginx-configuratie:

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;
}

Resultaten van 15 maanden werk

Voor de periode van 12 december 2018 tot 28 november 2019 toonde de server uptime 95,26%. Dit betekent dat als gevolg van slecht weer de stilstand voor het jaar 399 uur bedroeg.

Maar als je de afgelopen twee maanden geen rekening houdt, was de uptime 98,2% en de downtime slechts 152 uur, schrijven de ontwikkelaars. De uptime daalde de afgelopen twee maanden tot 80% toen het stroomverbruik steeg als gevolg van een software-update. Elke nacht ging de site enkele uren uit de lucht.

Volgens statistieken bedroeg het elektriciteitsverbruik van de server voor het jaar (van 3 december 2018 tot 24 november 2019) 9,53 kWh. Er zijn aanzienlijke verliezen in het fotovoltaïsche systeem geregistreerd als gevolg van spanningsconversie en ontlading van de batterij. De zonnecontroller liet een jaarverbruik zien van 18,10 kWh, wat betekent dat het systeemrendement ongeveer 50% bedraagt.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%
Vereenvoudigd diagram. Er zijn geen spanningsomvormer van 12 naar 5 volt en een accu-ampère-uurmeter te zien

Tijdens de onderzoeksperiode bezochten 865 unieke bezoekers de site. Inclusief alle energieverliezen in de zonne-installatie bedroeg het energieverbruik per unieke bezoeker 000 Wh. Eén kilowattuur opgewekte zonne-energie is dus genoeg om bijna 0,021 unieke bezoekers te bedienen.

Tijdens het experiment werden zonnepanelen van verschillende afmetingen getest. De tabel toont berekeningen van hoe lang het duurt om batterijen met verschillende capaciteiten op te laden bij gebruik van zonnepanelen van verschillende afmetingen.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Het gemiddelde energieverbruik van de webserver gedurende het eerste jaar, inclusief alle energieverliezen, bedroeg 1,97 Watt. Uit de berekening blijkt dat het 's nachts draaien van een website op de kortste nacht van het jaar (8 uur en 50 minuten, 21 juni) 17,40 wattuur aan opslagvermogen vereist, en op de langste nacht (14 uur en 49 minuten, 21 december) 29,19 wattuur. .XNUMX Wh.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Omdat loodzuuraccu's niet onder de helft van de capaciteit mogen ontladen, heeft de server een accu van 60 Wh nodig om de langste nacht te overleven met optimaal daglicht (2x29,19 Wh). Het systeem werkte het grootste deel van het jaar met een batterij van 86,4 Wh en een zonnepaneel van 50 watt, waarna de eerder genoemde uptime van 95-98% werd behaald.

Uptime 100%

Voor 100% uptime is het noodzakelijk om de batterijcapaciteit te vergroten. Om één dag met zeer slecht weer (zonder noemenswaardige energieopwekking) te compenseren, is 47,28 wattuur (24 uur x 1,97 watt) aan opslag nodig.

Van 1 december 2019 tot 12 januari 2020 is er een batterij van 168 watt in het systeem geplaatst, die een praktische opslagcapaciteit heeft van 84 wattuur. Dit is voldoende opslagruimte om de site twee nachten en één dag draaiende te houden. De configuratie werd getest tijdens de donkerste periode van het jaar, maar het weer was relatief goed - en gedurende de aangegeven periode was de uptime 100%.

Maar om meerdere jaren 100% uptime te garanderen, moet je rekening houden met het worst case scenario, waarbij het slechte weer meerdere dagen aanhoudt. Uit de berekening blijkt dat om een ​​website vier dagen online te houden met weinig of geen energieopwekking, je een loodzuuraccu nodig hebt met een capaciteit van 440 wattuur, het formaat van een autoaccu.

In de praktijk zorgt een loodzuuraccu van 48 Wh er bij goede weersomstandigheden voor dat de server van maart tot september 's nachts blijft draaien. Met een batterij van 24 Wh kan de server maximaal 6 uur mee, wat betekent dat hij elke nacht wordt uitgeschakeld, zij het op verschillende tijdstippen, afhankelijk van de maand.

Over het algemeen hoeven sommige sites niet 's nachts te werken, wanneer het aantal bezoekers minimaal is, zeggen de jongens van Low-tech Magazine. Als dit bijvoorbeeld een regionale stadsuitgave is, waar geen bezoekers uit andere tijdzones komen, maar alleen lokale bewoners.

Dat wil zeggen dat voor locaties met verschillend verkeer en verschillende uptime batterijen met verschillende capaciteiten en zonnepanelen van verschillende afmetingen nodig zijn.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

De auteur geeft een berekening van hoeveel energie daarvoor nodig is productie de zonnepanelen zelf (embody energie) en hoeveel het oplevert als je dit bedrag deelt door de verwachte levensduur van 10 jaar.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Op deze manier is het mogelijk om het equivalent aan fossiele brandstoffen te berekenen die worden verbruikt bij de productie en werking van de panelen. Low-tech Magazine ontdekte dat hun systeem (paneel van 50 W, batterij van 86,4 Wh) in het eerste jaar dat het in bedrijf was, ongeveer 9 kg uitstoot ‘genereerde’, of het equivalent van de verbranding van 3 liter benzine: ongeveer hetzelfde als een 50-liter benzine. kilometer oude personenauto.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Als de server niet door zonnepanelen wordt gevoed, maar door het algemene elektriciteitsnet, lijkt de equivalente uitstoot zes keer lager: 1,54 kg (de Spaanse energiesector heeft een hoog aandeel alternatieve energie en kerncentrales). Maar dit is geen helemaal correcte vergelijking, schrijft de auteur, omdat er rekening wordt gehouden met de belichaamde energie van de zonne-infrastructuur, maar geen rekening wordt gehouden met deze indicator voor het algemene energienetwerk, dat wil zeggen de kosten van de aanleg en ondersteuning ervan. .

Verdere verbeteringen

De afgelopen tijd zijn er een aantal optimalisaties uitgevoerd die het energieverbruik van de server hebben verlaagd. Op een gegeven moment merkte de ontwikkelaar bijvoorbeeld dat 6,63 TB van de in totaal 11,15 TB aan verkeer werd gegenereerd door één onjuiste RSS-feedimplementatie die om de paar minuten inhoud ophaalde. Na het verhelpen van deze bug daalde het energieverbruik van de server (exclusief energieverliezen) van 1,14 W naar ongeveer 0,95 W. De winst lijkt misschien klein, maar een verschil van 0,19 W betekent 4,56 wattuur per dag, wat overeenkomt met ruim 2,5 uur batterijduur voor de server.

Gedurende het eerste jaar bedroeg de efficiëntie slechts 50%. Er werden verliezen waargenomen bij het opladen en ontladen van de batterij (22%), evenals bij het omzetten van de spanning van 12 V (zonne-PV-systeem) naar 5 V (USB), waarbij de verliezen konden oplopen tot 28%. De ontwikkelaar geeft toe dat hij een suboptimale spanningsomvormer heeft (controller zonder ingebouwde USB), dus je kunt dit punt optimaliseren of overstappen naar een 5V-zonne-installatie.

Om de energieopslagefficiëntie te verbeteren, kunnen loodzuurbatterijen worden vervangen door duurdere lithium-ionbatterijen, die lagere laad-/ontlaadverliezen hebben (<10%). Nu overweegt de ontwerper een compact energieopslagsysteem in de vorm van perslucht (CAES), dat een levensduur van tientallen jaren heeft, wat een kleinere ecologische voetafdruk op de productie betekent.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%
Compacte perslucht-energieaccumulator, bron

Er wordt overwogen om een ​​extra windturbine te plaatsen (mogelijk wel). maken van hout) en het installeren van een zonnetracker om de panelen naar de zon te draaien. Met de tracker kunt u de elektriciteitsproductie met 30% verhogen.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%

Een andere manier om de efficiëntie van het systeem te vergroten, is door het op te schalen. Verhoog meer websites op de server en start meer servers. Dan zal het energieverbruik per locatie afnemen.

Thuiswebserver op zonne-energie werkte 15 maanden: uptime 95,26%
Hostingbedrijf voor zonne-energie. Illustratie: Diego Marmolejo

Als u het hele balkon van uw appartement met zonnepanelen bedekt en een zonne-webhostingbedrijf opent, zullen de kosten per klant aanzienlijk lager zijn dan voor een enkele website: schaalvoordelen.

Over het geheel genomen laat dit experiment zien dat het, gegeven bepaalde beperkingen, heel goed mogelijk is dat computerinfrastructuur op hernieuwbare energiebronnen draait.

Theoretisch zou zo'n server het zelfs zonder batterij kunnen doen als hij in andere delen van de wereld wordt gespiegeld. Installeer bijvoorbeeld spiegels in Nieuw-Zeeland en Chili. Daar zullen de zonnepanelen werken als het nacht is in Barcelona.

Bron: www.habr.com

Voeg een reactie