Het eerste prototype van een zonneserver met laadregelaar. Foto:
In september 2018 kwam een liefhebber van Low-tech Magazine
Je kunt naar de server gaan
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.
Waarom?
Tien jaar geleden deskundigen
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
Low-tech tijdschrift
Toename van het verkeersvolume
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
В
Enkelbordcomputer
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
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
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,
En hier is een geoptimaliseerde grijswaardenafbeelding van formaat
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
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
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.
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.
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.
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.
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.
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.
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
Compacte perslucht-energieaccumulator,
Er wordt overwogen om een extra windturbine te plaatsen (mogelijk wel).
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.
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