Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%
It earste prototype fan in sinne-tsjinner mei in ladingcontroller. Foto: solar.lowtechmagazine.com

Yn septimber 2018, in entûsjast fan Low-tech Magazine lansearre in "low-tech" webserverprojekt. It doel wie om enerzjyferbrûk safolle te ferminderjen dat ien sinnepaniel genôch wêze soe foar in thús sels-hosted tsjinner. Dit is net maklik, omdat de side moat wurkje 24 oeren deis. Litte wy sjen wat der op it lêst bard is.

Jo kinne gean nei de tsjinner solar.lowtechmagazine.com, kontrolearje it hjoeddeistige enerzjyferbrûk en batterijladingsnivo. De side is optimalisearre foar in minimum oantal oanfragen fan 'e side en minimaal ferkear, dus it moat in tanimming fan ferkear fan Habr wjerstean. Neffens de berekkeningen fan de ûntwikkelder is enerzjyferbrûk per unike besiker 0,021 Wh.

Krekt foar moarn op 31 jannewaris 2020 hie it 42% batterij oer. Dawn yn Barcelona om 8:04 lokale tiid, wêrnei't stroom út it sinnepaniel streame moat.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

Wêrom?

Tsien jier lyn saakkundigen foarseindat de ûntwikkeling fan it ynternet bydraacht oan de "dematerialisaasje" fan 'e maatskippij, universele digitalisearring - en, as gefolch, in reduksje fan it totale enerzjyferbrûk. Se wiene ferkeard. Yn feite frege it ynternet sels grutte hoemannichten enerzjyfoarsjenning, en dizze voluminten bliuwe te groeien.

IT-bedriuwen hawwe inisjativen lansearre om oer te skeakeljen nei alternative enerzjyboarnen, mar dit is no ûnmooglik. Alle datasintra ferbrûke trije kear mear enerzjy as alle sinne- en wynynstallaasjes yn 'e wrâld generearje. Noch slimmer, de produksje en reguliere ferfanging fan sinnepanielen en wynturbines freget ek enerzjy, dêrom is it hjoeddedei gewoan ûnmooglik om fossile brânstoffen (oalje, gas, uranium) te ferlitten. Mar dizze reserves sille net lang duorje, dus sille wy ûnûntkomber tinke oer hoe't wy libje fan duorsume boarnen. Ynklusyf de wurking fan kompjûterynfrastruktuer, ynklusyf webservers.

Low-tech tydskrift fynt it in probleem Websiden blaze te fluch op. Gemiddelde sidegrutte ferhege fan 2010 nei 2018 fan 0,45 MB oan 1,7 MB, en foar mobile siden - fan 0,15 MB oant 1,6 MB, in konservative skatting.

Ferheging fan ferkearsvoluminten grutter foarútgong yn enerzjy-effisjinsje (de enerzjy dy't nedich is om 1 megabyte oan ynformaasje oer te stjoeren), wat in konstante ferheging fan enerzjyferbrûk op it ynternet feroarsaket. Swierdere en mear beladen siden ferheegje net allinich de lading op 'e netwurkynfrastruktuer, mar ferkoartje ek de "libbenssyklus" fan kompjûters en smartphones, dy't faker útsmiten wurde moatte en nije produsearre wurde, wat ek in tige enerzjy-yntinsyf proses.

En fansels, de ferhege wurkdruk wurdt makke troch de libbensstyl sels: minsken besteegje hast al har tiid op it ynternet en fertrouwe swier op ferskate webtsjinsten. It is al dreech om moderne maatskippij foar te stellen sûnder wolk IT-ynfrastruktuer (sosjale netwurken, instant messengers, post, ensfh.)

Tsjinner en webside konfiguraasje

В dit artikel De hardwarekonfiguraasje en softwarestapel fan 'e webserver wurde yn detail beskreaun.

Single board kompjûter Olimex Olinuxino A20 Lime 2 keazen foar leech enerzjyferbrûk en nuttige ekstra funksjes lykas chip foar machtbehear AXP209. It lit jo statistiken oanfreegje oer de hjoeddeistige spanning en stroom fan it bestjoer en de batterij. De microcircuit automatysk skeakelt macht tusken de batterij en de DC Connector, dêr't streamt stroom út it sinnepaniel. Sa is ûnûnderbrutsen macht oanbod oan de tsjinner mei batterij stipe mooglik.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%
Olimex Olinuxino A20 Lime 2

Yn earste ynstânsje waard in lithium-polymeerbatterij mei in kapasiteit fan 6600 mAh (sawat 24 Wh) as batterij keazen, dêrnei waard in lead-sûre batterij mei in kapasiteit fan 84,4 Wh ynstalleare.

It bestjoeringssysteem bootet fan 'e SD-kaart. Hoewol't it OS nimt net mear as 1 GB en de statyske webside giet oer 30 MB, der wie gjin ekonomyske sin yn in keapje in kaart lytser as in Klasse 10 16 GB.

De tsjinner ferbynt mei it ynternet fia in 100Mbps thúsferbining yn Barcelona en in standert konsumint router. In statysk IP-adres is dêrfoar reservearre. Hast elkenien kin sa'n side yn har appartemint ynstelle; jo moatte de firewall-ynstellingen wat feroarje om poarten nei lokale IP troch te stjoeren:

Poort 80 oant 80 foar HTTP Poort 443 oant 443 foar HTTPS Poort 22 oant 22 foar SSH

bestjoeringssysteem Armbian Stretch basearre op Debian-distribúsje en kernel SUNXI, dat is ûntwurpen foar inkele boards mei AllWinner chips.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%
In sinnepaniel fan 50 watt foar in webserver en in sinnepaniel fan 10 watt foar it ferljochtsjen fan de wenkeamer yn it appartemint fan 'e skriuwer

Statyske side oanmakke troch it systeem Pelikan (site generator yn Python). Statyske siden laden flugger en binne minder CPU-yntinsyf, sadat se folle enerzjysuniger binne as dynamysk oanmakke siden. Sjoch de boarnekoade foar it tema. hjir.

In heul wichtich punt is ôfbyldingskompresje, om't sûnder dizze optimalisaasje it hast ûnmooglik is om websiden lytser te meitsjen as 1 megabyte. Foar optimalisaasje waard besletten om de foto's te konvertearjen yn rasterôfbyldings. Bygelyks, hjir is in foto fan froulike telefoanoperators op in skeakel yn 'e lêste ieu, 253 KB.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

En hjir is in optimalisearre griisskaalôfbylding fan grutte 36,5 KB mei trije kleuren (swart, wyt, griis). Troch de optyske yllúzje liket it de sjogger dat der mear as trije kleuren binne.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

Halftone foto's waarden keazen net allinich om de grutte te optimalisearjen (in nochal dubieuze beslút), mar ek om estetyske redenen. Dizze âlde byldferwurkingstechnyk hat bepaalde stilistyske skaaimerken, sadat de side in wat unyk ûntwerp hat.

Nei optimalisaasje binne 623 yllustraasjes op 'e webside Low-tech Magazine yn grutte ôfnommen fan 194,2 MB nei 21,3 MB, dat is mei 89%.

Alle âlde artikels waarden omboud ta Markdown foar it gemak fan it skriuwen fan nije artikels, lykas ek foar it gemak fan reservekopy fia gean. Alle skripts en trackers, lykas logo's, waarden fan 'e side fuortsmiten. It standert lettertype yn 'e browser fan de kliïnt wurdt brûkt. As "logo" - de namme fan it tydskrift yn haadletters mei in pylk nei lofts: LOW←TECH MAGAZINE. Allinnich 16 bytes ynstee fan in foto.

Yn gefal fan downtime is de mooglikheid fan "offline lêzen" organisearre: teksten en ôfbyldings wurde eksportearre nei in RSS-feed. Caching fan 100% ynhâld is ynskeakele, ynklusyf HTML.

In oare optimisaasje is it ynskeakeljen fan HTTP2-ynstellingen yn nginx, dy't it ferkear in bytsje ferminderet en de side-laadtiid fermindert yn ferliking mei HTTP/1.1. De tabel fergeliket de resultaten foar fiif ferskillende siden.

| | FP | wy | 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 | | Images | 9 | 21 | 11 | 19 | 23 | | sparjen | 11% | 21% | 0% | 4% | 18% |

Folsleine nginx-konfiguraasje:

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 fan 15 moannen fan wurk

Foar de perioade fan 12 desimber 2018 oant 28 novimber 2019 liet de tsjinner sjen uptime 95,26%. Dat betsjut dat troch min waar de ûndertiid foar it jier 399 oeren wie.

Mar as jo de lêste twa moannen net rekkenje, wie de uptime 98,2%, en de downtime wie mar 152 oeren, skriuwe de ûntwikkelders. Uptime sakke nei 80% yn 'e lêste twa moannen doe't enerzjyferbrûk tanommen fanwege in software-fernijing. Elke nacht gie de side ferskate oeren del.

Neffens statistiken, foar it jier (fan 3 desimber 2018 oant 24 novimber 2019) wie it elektrisiteitsferbrûk fan de server 9,53 kWh. Wichtige ferliezen yn it fotovoltaïske systeem troch spanningskonverzje en batterijûntlading binne opnommen. De sinne-kontrôler toande in jierlikse konsumpsje fan 18,10 kWh, wat betsjut dat de systeemeffisjinsje sawat 50% is.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%
Simplified diagram. It toant gjin spanningskonverter fan 12 oant 5 volt en in batterij ampère-oeren meter

Yn 'e stúdzjeperioade besochten 865 unike besikers de side. Mei alle enerzjyferlies yn de sinne-ynstallaasje wie it enerzjyferbrûk per unike besiker 000 Wh. Sa is ien kilowatt-oere oan opwekke sinne-enerzjy genôch om hast 0,021 unike besikers te betsjinjen.

Tidens it eksperimint waarden sinnepanielen fan ferskillende maten hifke. De tabel lit berekkeningen sjen fan hoe lang it sil nimme om batterijen fan ferskate kapasiteiten op te laden by it brûken fan sinnepanielen fan ferskate grutte.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

It gemiddelde enerzjyferbrûk fan de webserver yn it earste jier, ynklusyf alle enerzjyferlies, wie 1,97 Watt. De berekkening lit sjen dat it útfieren fan in webside oernachtich op 'e koartste nacht fan it jier (8 oeren 50 minuten, 21 juny) 17,40 watt-oeren opslachkrêft fereasket, en op 'e langste nacht (14 oeren 49 minuten, 21 desimber) moatte jo 29,19 .XNUMX Wh.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

Om't lead-sûre batterijen net ûnder de helte kapasiteit moatte ûntlade, fereasket de tsjinner in 60 Wh-batterij om de langste nacht te oerlibjen mei optimaal oerdeiljocht (2x29,19 Wh). Foar it grutste part fan it jier wurke it systeem mei in 86,4 Wh-batterij en in 50-watt sinnepaniel, en doe waard de earder neamde 95-98% uptime berikt.

Uptime 100%

Foar 100% uptime is it nedich om de batterijkapasiteit te ferheegjen. Om te kompensearjen foar ien dei fan heul min waar (sûnder signifikante enerzjyopwekking), binne 47,28 watt-oeren (24 oeren × 1,97 watt) opslach nedich.

Fan 1 desimber 2019 oant 12 jannewaris 2020 waard in 168-watt-batterij yn it systeem ynstalleare, dat in praktyske opslachkapasiteit hat fan 84 watt-oeren. Dit is genôch opslach om de side twa nachten en ien dei te hâlden. De konfiguraasje waard hifke yn 'e tsjusterste perioade fan it jier, mar it waar wie relatyf goed - en oer de opjûne perioade wie de uptime 100%.

Mar om ferskate jierren 100% uptime te garandearjen, moatte jo soargje foar it slimste senario, as min waar ferskate dagen oanhâldt. De berekkening lit sjen dat om in webside fjouwer dagen online te hâlden mei lege as gjin enerzjyopwekking, jo in lead-sûre batterij nedich hawwe mei in kapasiteit fan 440 watt-oeren, dat is de grutte fan in auto-batterij.

Yn 'e praktyk, yn goede waarsomstannichheden, sil in 48 Wh lead-acid-batterij de tsjinner fan maart oant septimber oernachtsje hâlde. In batterij fan 24 Wh sil de tsjinner maksimaal 6 oeren duorje, wat betsjuttet dat it elke nacht sil ôfslute, hoewol op ferskate tiden ôfhinklik fan 'e moanne.

Oer it algemien hoege guon siden net nachts te wurkjen, as it oantal besikers minimaal is, sizze de jonges fan Low-tech Magazine. As it bygelyks in regionale stedspublikaasje is, dêr't besikers út oare tiidsônes net komme, mar allinnich omwenners.

Dat is, foar siden mei ferskillende ferkear en ferskillende uptime, binne batterijen fan ferskate kapasiteiten en sinnepanielen fan ferskate grutte nedich.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

De skriuwer jout in berekkening fan hoefolle enerzjy nedich is produksje de sinnepanielen sels (belichaamde enerzjy) en hoefolle it útkomt as jo dit bedrach diele troch de ferwachte libbensdoer fan 10 jier.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

Op dizze manier is it mooglik om it ekwivalint te berekkenjen fan fossile brânstoffen dy't wurde konsumearre yn 'e produksje en eksploitaasje fan' e panielen. Low-tech Magazine fûn dat yn it earste jier fan wurking, harren systeem (50 W paniel, 86,4 Wh batterij) "generearre" likernôch 9 kg útstjit, of it lykweardich fan baarnende 3 liter benzine: likernôch itselde as in 50- jierrige passazjier auto km travel.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

As de tsjinner net fan sinnepanielen oandreaun wurdt, mar fan it algemiene stroomnet, dan lykje de lykweardige útstjit seis kear leger te wêzen: 1,54 kg (de Spaanske enerzjysektor hat in heech oandiel fan alternative enerzjy en kearnsintrales). Mar dit is net in folslein korrekte ferliking, skriuwt de auteur, om't it rekken hâldt mei de belichaamde enerzjy fan 'e sinne-ynfrastruktuer, mar dizze yndikator foar it algemiene enerzjynetwurk net rekken hâldt, dat is de kosten fan har bou en stipe .

Fierdere ferbetterings

Yn 'e ôfrûne tiid binne in oantal optimalisaasjes útfierd dy't it enerzjyferbrûk fan de server hawwe fermindere. Bygelyks, op in stuit merkte de ûntwikkelder op dat 6,63 TB fan 'e totale 11,15 TB ferkear waard generearre troch ien ferkearde ymplemintaasje fan RSS-feed dy't elke pear minuten ynhâld luts. Nei it reparearjen fan dizze brek is it enerzjyferbrûk fan de server (útsein enerzjyferlies) sakke fan 1,14 W nei sawat 0,95 W. De winst kin lyts lykje, mar in ferskil fan 0,19 W betsjut 4,56 watt-oeren per dei, wat oerienkomt mei mear as 2,5 oeren batterijlibben foar de tsjinner.

Yn it earste jier wie effisjinsje mar 50%. Ferliezen waarden waarnommen by it opladen en ûntladen fan 'e batterij (22%), en ek by it konvertearjen fan' e spanning fan 12 V (sinne-PV-systeem) nei 5 V (USB), wêr't ferliezen oant 28% wiene. De ûntwikkelder jout ta dat hy in suboptimale spanningskonverter hat (controller sûnder ynboude USB), sadat jo dit punt kinne optimalisearje of oerskeakelje nei in 5V sinne-ynstallaasje.

Om effisjinsje fan enerzjy opslach te ferbetterjen, kinne lead-sûre batterijen wurde ferfongen troch djoerdere lithium-ion-batterijen, dy't legere lading-/ûntladingsferlies hawwe (<10%). No besjocht de ûntwerper in kompakt enerzjy opslach systeem yn 'e foarm fan komprimearre loft (CAES), dy't in libbensdoer fan tsientallen jierren hat, wat in lytsere koalstofôfdruk op syn produksje betsjut.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%
Kompakte komprimearre lucht enerzjy accumulator, boarne

Ynstallaasje fan in ekstra wynturbine wurdt beskôge (it kin wêze meitsje fan hout) en it ynstallearjen fan in sinne-tracker om de panielen nei de sinne te draaien. De tracker lit jo elektrisiteitsproduksje mei 30% ferheegje.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%

In oare manier om de effisjinsje fan it systeem te fergrutsjen is it skaaljen. Ferheegje mear websiden op 'e server en starte mear servers. Dan nimt it enerzjyferbrûk per plak ôf.

Sinne-oandreaune thúswebserver wurke 15 moannen: uptime 95,26%
Solar hosting bedriuw. Yllustraasje: Diego Marmolejo

As jo ​​jo heule appartemintbalkon mei sinnepanielen bedekke en in sinnewebhostingbedriuw iepenje, sille de kosten per klant signifikant leger wêze as foar in inkele webside: skaalfoardielen.

Oer it algemien lit dit eksperimint sjen dat, jûn bepaalde beheiningen, it folslein mooglik is foar kompjûterynfrastruktuer om te rinnen op duorsume enerzjyboarnen.

Teoretysk kin sa'n tsjinner sels sûnder batterij dwaan as se yn oare dielen fan 'e wrâld spegele. Ynstallearje bygelyks spegels yn Nij-Seelân en Sily. Dêr sille sinnepanielen wurkje as it nacht is yn Barcelona.

Boarne: www.habr.com

Add a comment