Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %
Den første prototype af en solcelleserver med laderegulator. Foto: solar.lowtechmagazine.com

I september 2018 en entusiast fra Low-tech Magazine lancerede et "low-tech" webserverprojekt. Målet var at reducere energiforbruget så meget, at et solpanel ville være nok til en hjemme-selv-hostet server. Det er ikke nemt, for siden skal fungere 24 timer i døgnet. Lad os se, hvad der skete til sidst.

Du kan gå til serveren solar.lowtechmagazine.com, kontroller det aktuelle strømforbrug og batteriopladningsniveau. Siden er optimeret til et minimum antal anmodninger fra siden og minimal trafik, så det bør modstå en stigning i trafik fra Habr. Ifølge bygherrens beregninger er energiforbruget pr. unik besøgende 0,021 Wh.

Lige før daggry den 31. januar 2020 havde den 42 % batteri tilbage. Daggry i Barcelona klokken 8:04 lokal tid, hvorefter der skulle gå strøm fra solpanelet.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Hvorfor?

For ti år siden eksperter forudsagtat udviklingen af ​​internettet bidrager til "dematerialisering" af samfundet, universel digitalisering - og som følge heraf en reduktion af det samlede energiforbrug. De tog fejl. Faktisk krævede internettet selv store mængder energiforsyning, og disse mængder fortsætter med at vokse.

IT-virksomheder har iværksat initiativer for at skifte til alternative strømkilder, men det er nu umuligt. Alle datacentre bruger tre gange mere energi, end alle sol- og vindinstallationer i verden genererer. Endnu værre, produktion og regelmæssig udskiftning af solpaneler og vindmøller kræver også energiDerfor er det simpelthen umuligt i dag at opgive fossile brændstoffer (olie, gas, uran). Men disse reserver holder ikke længe, ​​så vi bliver uundgåeligt nødt til at tænke på, hvordan vi kan leve af vedvarende kilder. Herunder drift af computerinfrastruktur, herunder webservere.

Lavteknologisk magasin anser det for et problem Websider svulmer for hurtigt op. Den gennemsnitlige sidestørrelse steg fra 2010 til 2018 fra 0,45 MB til 1,7 MB, og for mobilwebsteder - fra 0,15 MB til 1,6 MB, et konservativt skøn.

Stigning i trafikmængden overgår fremskridt inden for energieffektivitet (den energi, der kræves for at transmittere 1 megabyte information), hvilket forårsager en konstant stigning i internettets energiforbrug. Tyngre og mere belastede sites øger ikke kun belastningen på netværksinfrastrukturen, men forkorter også "livscyklussen" for computere og smartphones, som oftere skal smides ud og nye produceres, hvilket også en meget energikrævende proces.

Og selvfølgelig er den øgede arbejdsbyrde skabt af selve livsstilen: folk bruger næsten al deres tid på internettet og er stærkt afhængige af forskellige webtjenester. Det er allerede svært at forestille sig et moderne samfund uden cloud-it-infrastruktur (sociale netværk, instant messengers, mail osv.)

Server og hjemmeside konfiguration

В denne artikel Hardwarekonfigurationen og softwarestakken på webserveren er beskrevet detaljeret.

Single board computer Olimex Olinuxino A20 Lime 2 valgt til lavt strømforbrug og nyttige ekstra funktioner såsom strømstyringschip AXP209. Det giver dig mulighed for at anmode om statistik over den aktuelle spænding og strøm fra tavlen og batteriet. Mikrokredsløbet skifter automatisk strøm mellem batteriet og DC-stikket, hvor der løber strøm fra solpanelet. Således er uafbrudt strømforsyning til serveren med batteriunderstøttelse mulig.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %
Olimex Olinuxino A20 Lime 2

I første omgang blev et lithium-polymer batteri med en kapacitet på 6600 mAh (ca. 24 Wh) valgt som batteri, derefter blev der installeret et bly-syre batteri med en kapacitet på 84,4 Wh.

Operativsystemet starter fra SD-kortet. Selvom operativsystemet ikke fylder mere end 1 GB, og den statiske hjemmeside er omkring 30 MB, var der ingen økonomisk mening i at købe et kort, der er mindre end et Class 10 16 GB.

Serveren forbinder til internettet via en 100Mbps hjemmeforbindelse i Barcelona og en standard forbrugerrouter. En statisk IP-adresse er reserveret til det. Næsten alle kan oprette et sådant websted i deres lejlighed; du skal ændre firewall-indstillingerne lidt for at videresende porte til lokal IP:

Port 80 til 80 for HTTP Port 443 til 443 for HTTPS Port 22 til 22 for SSH

Operativsystem Armbian Stretch baseret på Debian distribution og kerne SUNXI, som er designet til enkeltbrætter med AllWinner-chips.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %
Et 50 watt solpanel til en webserver og et 10 watt solpanel til belysning af stuen i forfatterens lejlighed

Statisk websted genereret af systemet Pelikan (webstedsgenerator i Python). Statiske websteder indlæses hurtigere og er mindre CPU-intensive, så de er meget mere energieffektive end dynamisk genererede sider. Se kildekoden til temaet. her.

Et meget vigtigt punkt er billedkomprimering, da uden denne optimering er det næsten umuligt at gøre websider mindre end 1 megabyte. For optimering blev det besluttet at konvertere fotografierne til halvtonebilleder. For eksempel, her er et fotografi af kvindelige telefonoperatører på et omstillingsbord i forrige århundrede, 253 KB.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Og her er et optimeret gråtonebillede af størrelse 36,5 KB med tre farver (sort, hvid, grå). På grund af den optiske illusion forekommer det for seeren, at der er mere end tre farver.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Halvtonefotografier blev valgt ikke kun for at optimere størrelsen (en ret tvivlsom beslutning), men også af æstetiske årsager. Denne gamle billedbehandlingsteknik har visse stilistiske træk, så siden har et noget unikt design.

Efter optimering faldt 623 illustrationer på webstedet Low-tech Magazine i størrelse fra 194,2 MB til 21,3 MB, det vil sige med 89%.

Alle gamle artikler blev konverteret til Markdown for at lette at skrive nye artikler, samt for at lette backup via git. Alle scripts og trackere samt logoer blev fjernet fra siden. Standardskrifttypen i klientens browser bruges. Som et "logo" - magasinets navn med store bogstaver med en pil til venstre: LOW←TECH MAGAZINE. Kun 16 bytes i stedet for et billede.

I tilfælde af nedetid er muligheden for "offlinelæsning" organiseret: tekster og billeder eksporteres til et RSS-feed. Caching af 100 % indhold er aktiveret, inklusive HTML.

En anden optimering er at aktivere HTTP2-indstillinger i nginx, hvilket reducerer trafikken en smule og reducerer sideindlæsningstiden sammenlignet med HTTP/1.1. Tabellen sammenligner resultaterne for fem forskellige sider.

| | FP | VI | 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 | | Billeder | 9 | 21 | 11 | 19 | 23 | | besparelser | 11 % | 21 % | 0 % | 4 % | 18 % |

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

Resultater af 15 måneders arbejde

For perioden fra 12. december 2018 til 28. november 2019 viste serveren oppetid 95,26 %. Det betyder, at på grund af dårligt vejr var nedetiden for året 399 timer.

Men hvis man ikke tager højde for de sidste to måneder, var oppetiden 98,2 %, og nedetiden var kun 152 timer, skriver udviklerne. Oppetiden faldt til 80 % i de sidste to måneder, da strømforbruget steg på grund af en softwareopdatering. Hver nat gik siden ned i flere timer.

Ifølge statistikker var serverens elforbrug for året (fra 3. december 2018 til 24. november 2019) 9,53 kWh. Der er registreret betydelige tab i solcelleanlægget på grund af spændingskonvertering og batteriafladning. Solvarmeregulatoren viste et årligt forbrug på 18,10 kWh, hvilket betyder, at systemets effektivitet er omkring 50%.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %
Forenklet diagram. Den viser ikke en spændingsomformer fra 12 til 5 volt og en batteri ampere-timetæller

I løbet af undersøgelsesperioden besøgte 865 unikke besøgende siden. Inklusive alle energitab i solcelleanlægget var energiforbruget pr. unik besøgende 000 Wh. En genereret kilowatt-time solenergi er således nok til at betjene næsten 0,021 unikke besøgende.

Under forsøget blev solpaneler i forskellige størrelser testet. Tabellen viser beregninger af, hvor lang tid det vil tage at oplade batterier med forskellig kapacitet ved brug af solpaneler af forskellig størrelse.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Det gennemsnitlige strømforbrug for webserveren i løbet af det første år, inklusive alle energitab, var 1,97 watt. Beregningen viser, at drift af en hjemmeside natten over på årets korteste nat (8 timer 50 minutter, 21. juni) kræver 17,40 watt-timers lagereffekt, og på den længste nat (14 timer 49 minutter, 21. december) har du brug for 29,19 .XNUMX Wh.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Da bly-syre batterier ikke bør aflades under halv kapacitet, kræver serveren et 60 Wh batteri for at overleve den længste nat med optimalt dagslys (2x29,19 Wh). I det meste af året fungerede systemet med et 86,4 Wh batteri og et 50 watt solpanel, og så var førnævnte 95-98 % oppetid opnået.

Oppetid 100 %

For 100 % oppetid er det nødvendigt at øge batterikapaciteten. For at kompensere for en dag med meget dårligt vejr (uden væsentlig strømproduktion) er der brug for 47,28 watt-timer (24 timer × 1,97 watt) lagerplads.

Fra 1. december 2019 til 12. januar 2020 var der installeret et 168 watt batteri i systemet, som har en praktisk lagerkapacitet på 84 watt-timer. Dette er nok lagerplads til at holde siden kørende i to nætter og en dag. Konfigurationen blev testet i årets mørkeste periode, men vejret var relativt godt - og over den angivne periode var oppetiden 100%.

Men for at garantere 100 % oppetid i flere år, bliver du nødt til at sørge for det værst tænkelige scenarie, når dårligt vejr varer ved i flere dage. Beregningen viser, at for at holde en hjemmeside online i fire dage med lav eller ingen energiproduktion, skal du bruge et bly-syre-batteri med en kapacitet på 440 watt-timer, hvilket er på størrelse med et bilbatteri.

I praksis vil et 48 Wh bly-syre batteri under gode vejrforhold holde serveren kørende natten over fra marts til september. Et 24 Wh-batteri holder serveren i maksimalt 6 timer, hvilket betyder, at den lukker ned hver nat, dog på forskellige tidspunkter afhængigt af måneden.

I det store og hele behøver nogle sider ikke at arbejde om natten, hvor antallet af besøgende er minimalt, siger fyrene fra Low-tech Magazine. For eksempel hvis dette er en regional bypublikation, hvor besøgende fra andre tidszoner ikke kommer, men kun lokale beboere.

Det vil sige, at til sider med forskellig trafik og forskellig oppetid er der brug for batterier med forskellig kapacitet og solpaneler af forskellig størrelse.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Forfatteren giver en beregning af, hvor meget energi der kræves til produktion selve solpanelerne (indlejret energi) og hvor meget det bliver, hvis man dividerer dette beløb med den forventede levetid på 10 år.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

På denne måde er det muligt at beregne, hvad der svarer til fossile brændstoffer, der forbruges ved produktion og drift af panelerne. Low-tech Magazine fandt ud af, at deres system (50 W panel, 86,4 Wh batteri) i det første driftsår "genererede" cirka 9 kg emissioner, eller hvad der svarer til at forbrænde 3 liter benzin: omtrent det samme som en 50- år gammel personbil km rejse.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

Hvis serveren ikke drives fra solpaneler, men fra det generelle elnet, så ser den ækvivalente emission ud til at være seks gange lavere: 1,54 kg (den spanske energisektor har en høj andel af alternativ energi og atomkraftværker). Men dette er ikke en helt korrekt sammenligning, skriver forfatteren, fordi den tager højde for den indbyggede energi i solinfrastrukturen, men tager ikke højde for denne indikator for det generelle energinetværk, det vil sige omkostningerne ved dets konstruktion og støtte .

Yderligere forbedringer

I løbet af den seneste tid er der gennemført en række optimeringer, der har reduceret serverens strømforbrug. For eksempel bemærkede udvikleren på et tidspunkt, at 6,63 TB af de samlede 11,15 TB trafik blev genereret af en forkert RSS-feedimplementering, der trak indhold med få minutters mellemrum. Efter at have rettet denne fejl, faldt serverens strømforbrug (eksklusive energitab) fra 1,14 W til cirka 0,95 W. Forstærkningen kan virke lille, men en forskel på 0,19 W betyder 4,56 watt-timer om dagen, hvilket svarer til mere end 2,5 timers batterilevetid for serveren.

I løbet af det første år var effektiviteten kun 50 %. Der blev observeret tab ved opladning og afladning af batteriet (22%), samt ved konvertering af spændingen fra 12 V (solcelleanlæg) til 5 V (USB), hvor tabene var op til 28%. Udvikleren indrømmer, at han har en suboptimal spændingsomformer (controller uden indbygget USB), så du kan optimere dette punkt eller skifte til en 5V solcelleinstallation.

For at forbedre energilagringseffektiviteten kan bly-syre-batterier udskiftes med dyrere lithium-ion-batterier, som har lavere opladnings-/afladningstab (<10%). Nu overvejer designeren en kompakt energilagringssystem i form af trykluft (CAES), som har en levetid på årtier, hvilket betyder et mindre COXNUMX-fodaftryk på sin produktion.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %
Kompakt energiakkumulator for trykluft, kilde

Installation af en ekstra vindmølle overvejes (det kan evt lave af træ) og installere en solcelletracker for at vende panelerne mod solen. Trackeren giver dig mulighed for at øge elproduktionen med 30%.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %

En anden måde at øge effektiviteten af ​​systemet på er at skalere det. Hæv flere websteder på serveren og start flere servere. Så vil energiforbruget pr. plads falde.

Solcelledrevet hjemmewebserver fungerede i 15 måneder: oppetid 95,26 %
Solar hosting firma. Illustration: Diego Marmolejo

Hvis du dækker hele din lejligheds altan med solpaneler og åbner et solcelle-webhostingfirma, vil omkostningerne per kunde være væsentligt lavere end for en enkelt hjemmeside: stordriftsfordele.

Samlet set viser dette eksperiment, at det, givet visse begrænsninger, er fuldt ud muligt for computerinfrastruktur at køre på vedvarende energikilder.

Teoretisk set kunne sådan en server endda undvære et batteri, hvis den spejles i andre dele af verden. Installer for eksempel spejle i New Zealand og Chile. Der vil solpaneler fungere, når det er nat i Barcelona.

Kilde: www.habr.com

Tilføj en kommentar