Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%
Prvi prototip solarnog servera sa kontrolerom punjenja. foto: solar.lowtechmagazine.com

U septembru 2018., entuzijasta iz Low-tech Magazina pokrenuo “low-tech” projekat web servera. Cilj je bio smanjiti potrošnju energije toliko da bi jedan solarni panel bio dovoljan za kućni server sa vlastitim hostom. To nije lako, jer sajt mora raditi 24 sata dnevno. Da vidimo šta se desilo na kraju.

Možete ići na server solar.lowtechmagazine.com, provjerite trenutnu potrošnju energije i nivo napunjenosti baterije. Stranica je optimizirana za minimalan broj zahtjeva sa stranice i minimalan promet, tako da bi trebala izdržati porast prometa sa Habra. Prema proračunima programera, potrošnja energije po jedinstvenom posjetitelju je 0,021 Wh.

Neposredno prije zore 31. januara 2020. imao je 42% preostale baterije. Zora u Barseloni u 8:04 po lokalnom vremenu, nakon čega bi struja trebalo da poteče sa solarnog panela.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Zašto?

Prije deset godina stručnjaci predviđenoda razvoj interneta doprinosi „dematerijalizaciji“ društva, univerzalnoj digitalizaciji – i, kao rezultat, smanjenju ukupne potrošnje energije. Pogrešili su. Zapravo, sam internet je zahtijevao ogromne količine energije, a ove količine nastavljaju rasti.

IT kompanije su pokrenule inicijative za prelazak na alternativne izvore energije, ali to je sada nemoguće. Svi podatkovni centri troše tri puta više energije nego što generiraju sve solarne i vjetroelektrane na svijetu. Još gore, proizvodnja i redovna zamjena solarnih panela i vjetroturbina takođe zahteva energiju, dakle, danas je jednostavno nemoguće napustiti fosilna goriva (nafta, gas, uranijum). Ali ove rezerve neće dugo trajati, pa ćemo neminovno morati razmišljati o tome kako živjeti od obnovljivih izvora. Uključujući rad računarske infrastrukture, uključujući web servere.

Low-tech Magazine smatra problemom Web stranice se prebrzo nadimaju. Prosječna veličina stranice povećana je od 2010. do 2018. godine od 0,45 MB do 1,7 MB, a za mobilne stranice - od 0,15 MB do 1,6 MB, konzervativna procjena.

Povećanje obima saobraćaja nadmašuje napredak u energetskoj efikasnosti (energija potrebna za prijenos 1 megabajta informacija), što uzrokuje konstantno povećanje potrošnje energije na Internetu. Teži i opterećeniji sajtovi ne samo da povećavaju opterećenje mrežne infrastrukture, već i skraćuju „životni ciklus“ računara i pametnih telefona, koji se moraju češće izbacivati ​​i proizvoditi novi, što takođe veoma energetski intenzivan proces.

I naravno, povećano opterećenje stvara sam stil života: ljudi provode gotovo sve svoje vrijeme na internetu i uvelike se oslanjaju na razne web servise. Već je teško zamisliti moderno društvo bez informatičke infrastrukture u oblaku (društvene mreže, instant messengeri, pošta itd.)

Konfiguracija servera i web stranice

В ovaj članak Detaljno su opisani hardverska konfiguracija i softverski stog web servera.

Jednostruki računar Olimex Olinuxino A20 Limeta 2 odabrano zbog niske potrošnje energije i korisnih dodatnih funkcija kao što je čip za upravljanje napajanjem AXP209. Omogućava vam da zatražite statistiku o trenutnom naponu i struji sa ploče i baterije. Mikrokolo automatski prebacuje napajanje između baterije i DC konektora, gdje struja teče iz solarne ploče. Tako je moguće neprekidno napajanje servera uz podršku baterije.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%
Olimex Olinuxino A20 Limeta 2

Prvobitno je kao baterija odabrana litijum-polimerska baterija kapaciteta 6600 mAh (oko 24 Wh), a zatim je ugrađena olovna baterija kapaciteta 84,4 Wh.

Operativni sistem se pokreće sa SD kartice. Iako operativni sistem ne zauzima više od 1 GB, a statična web stranica ima oko 30 MB, nije bilo ekonomskog smisla kupovati karticu manju od Class 10 16 GB.

Server se povezuje na Internet putem kućne veze od 100 Mbps u Barseloni i standardnog potrošačkog rutera. Za njega je rezervisana statička IP adresa. Gotovo svako može postaviti takvu stranicu u svom stanu; potrebno je malo promijeniti postavke firewall-a da biste prosljeđivali portove na lokalni IP:

Port 80 do 80 za HTTP Port 443 do 443 za HTTPS Port 22 do 22 za SSH

operativni sistem Armbian Stretch baziran na Debian distribuciji i kernelu SUNXI, koji je dizajniran za pojedinačne ploče sa AllWinner čipovima.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%
Solarni panel od 50 W za web server i solarni panel od 10 W za osvjetljenje dnevnog boravka u autorskom stanu

Statička lokacija koju generiše sistem Pelikan (generator sajtova u Pythonu). Statičke stranice se brže učitavaju i manje troše CPU, tako da su energetski učinkovitije od dinamički generiranih stranica. Pogledajte izvorni kod za temu. ovdje.

Vrlo važna stvar je kompresija slike, jer je bez ove optimizacije gotovo nemoguće napraviti web stranice manje od 1 megabajta. Radi optimizacije, odlučeno je da se fotografije konvertuju u slike u polutonovima. Na primjer, evo fotografije telefonskih operaterki na centrali u prošlom stoljeću, 253 KB.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

A ovdje je optimizirana slika veličine sivih tonova 36,5 KB sa tri boje (crna, bijela, siva). Zbog optičke iluzije, gledaocu se čini da postoji više od tri boje.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Polutonske fotografije odabrane su ne samo radi optimizacije veličine (prilično sumnjiva odluka), već i iz estetskih razloga. Ova stara tehnika obrade slika ima određene stilske karakteristike, tako da stranica ima donekle jedinstven dizajn.

Nakon optimizacije, 623 ilustracije na web stranici Low-tech Magazine smanjene su sa 194,2 MB na 21,3 MB, odnosno za 89%.

Svi stari članci su pretvoreni u Markdown radi lakšeg pisanja novih članaka, kao i radi lakšeg pravljenja rezervnih kopija putem git. Sve skripte i tragači, kao i logotipi su uklonjeni sa stranice. Koristi se podrazumevani font u pretraživaču klijenta. Kao “logo” - naziv časopisa velikim slovima sa strelicom na lijevo: LOW←TECH MAGAZINE. Samo 16 bajtova umjesto slike.

U slučaju zastoja, organizovana je mogućnost “offline čitanja”: tekstovi i slike se izvoze u RSS feed. Omogućeno je keširanje 100% sadržaja, uključujući HTML.

Još jedna optimizacija je omogućavanje HTTP2 postavki u nginxu, što neznatno smanjuje promet i skraćuje vrijeme učitavanja stranice u odnosu na HTTP/1.1. Tabela upoređuje rezultate za pet različitih stranica.

| | FP | MI | 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 | | Slike | 9 | 21 | 11 | 19 | 23 | | štednja | 11% | 21% | 0% | 4% | 18% |

Potpuna nginx konfiguracija:

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

Rezultati 15 mjeseci rada

Za period od 12. decembra 2018. do 28. novembra 2019. godine, server je pokazao vrijeme rada 95,26%. To znači da je zbog lošeg vremena zastoj za godinu bio 399 sati.

Ali ako ne uzmete u obzir posljednja dva mjeseca, vrijeme rada je bilo 98,2%, a vrijeme zastoja je bilo samo 152 sata, pišu programeri. Vrijeme rada je palo na 80% u posljednja dva mjeseca kada se potrošnja energije povećala zbog ažuriranja softvera. Svake noći stranica je pala na nekoliko sati.

Prema statističkim podacima, za godinu (od 3. decembra 2018. do 24. novembra 2019.) potrošnja električne energije servera iznosila je 9,53 kWh. Zabilježeni su značajni gubici u fotonaponskom sistemu zbog konverzije napona i pražnjenja baterije. Solarni regulator je pokazao godišnju potrošnju od 18,10 kWh, što znači da je efikasnost sistema oko 50%.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%
Pojednostavljeni dijagram. Ne prikazuje pretvarač napona od 12 do 5 volti i mjerač amper-sati baterije

Tokom perioda istraživanja, 865 jedinstvenih posetilaca posetilo je sajt. Uključujući sve gubitke energije u solarnoj instalaciji, potrošnja energije po jedinstvenom posjetitelju iznosila je 000 Wh. Tako je jedan kilovat-sat proizvedene solarne energije dovoljan da opsluži gotovo 0,021 jedinstvenih posjetitelja.

Tokom eksperimenta testirani su solarni paneli različitih veličina. U tabeli su prikazani proračuni koliko će vremena biti potrebno da se pune baterije različitog kapaciteta kada se koriste solarni paneli različitih veličina.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Prosječna potrošnja energije web servera tokom prve godine, uključujući sve gubitke energije, bila je 1,97 W. Računica pokazuje da je za rad web stranice preko noći u najkraćoj noći u godini (8 sati i 50 minuta, 21. jun) potrebno 17,40 vat-sati skladišne ​​snage, a u najdužoj noći (14 sati i 49 minuta, 21. decembar) potrebno je 29,19 .XNUMX Wh.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Pošto se olovne baterije ne bi trebale prazniti ispod pola kapaciteta, serveru je potrebna baterija od 60 Wh da bi preživeo najdužu noć uz optimalno dnevno svetlo (2x29,19 Wh). Veći dio godine sistem je radio s baterijom od 86,4 Wh i solarnim panelom od 50 W, a zatim je postignuto gore spomenutih 95-98% vremena rada.

Vrijeme rada 100%

Za 100% produženje rada potrebno je povećati kapacitet baterije. Da bi se nadoknadio jedan dan veoma lošeg vremena (bez značajne proizvodnje energije), potrebno je 47,28 vat-sati (24 sata × 1,97 vati) skladištenja.

Od 1. decembra 2019. do 12. januara 2020. godine u sistem je ugrađena baterija od 168 vati, koja ima praktični kapacitet skladištenja od 84 vat-sata. Ovo je dovoljno prostora za skladištenje da stranica radi dvije noći i jedan dan. Konfiguracija je testirana tokom najmračnijeg perioda godine, ali vrijeme je bilo relativno dobro - i tokom navedenog perioda vrijeme rada je bilo 100%.

Ali da biste garantovali 100% produženje rada tokom nekoliko godina, moraćete da predvidite najgori scenario, kada loše vreme potraje nekoliko dana. Izračun pokazuje da bi vam bila potrebna olovno-kiselinska baterija kapaciteta 440 vat-sati, što je veličina akumulatora u automobilu, da biste držali web stranicu na mreži četiri dana uz nisku ili nikakvu proizvodnju energije.

U praksi, u dobrim vremenskim uslovima, olovna baterija od 48 Wh će održavati rad servera preko noći od marta do septembra. Baterija od 24 Wh će trajati serveru maksimalno 6 sati, što znači da će se isključiti svake noći, iako u različito vrijeme u zavisnosti od mjeseca.

Uglavnom, neki sajtovi ne moraju da rade noću, kada je broj posetilaca minimalan, kažu momci iz Low-tech Magazina. Na primjer, ako je ovo regionalna gradska publikacija, u koju ne dolaze posjetioci iz drugih vremenskih zona, već samo lokalni stanovnici.

Odnosno, za lokacije s različitim prometom i različitim radnim vremenom potrebne su baterije različitog kapaciteta i solarni paneli različitih veličina.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Autor daje proračun koliko je energije potrebno za proizvodnja sami solarni paneli (utjelovljena energija) i koliko ispadne ako ovu količinu podijelite s očekivanim vijekom trajanja od 10 godina.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Na ovaj način je moguće izračunati ekvivalent fosilnih goriva koja se troše u proizvodnji i radu panela. Low-tech Magazine je otkrio da je u prvoj godini rada njihov sistem (panel od 50 W, baterija od 86,4 Wh) "generirao" približno 9 kg emisija, ili ekvivalent sagorijevanja 3 litre benzina: otprilike isto kao i 50- godina star putnički automobil km putovanja.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Ako se server ne napaja iz solarnih panela, već iz opće energetske mreže, onda se čini da su ekvivalentne emisije šest puta niže: 1,54 kg (španjolski energetski sektor ima visok udio alternativne energije i nuklearnih elektrana). Ali ovo nije sasvim ispravno poređenje, piše autor, jer uzima u obzir ugrađenu energiju solarne infrastrukture, ali ne uzima u obzir ovaj pokazatelj za opću energetsku mrežu, odnosno troškove njene izgradnje i podrške. .

Dalja poboljšanja

U proteklom vremenu izvršen je niz optimizacija koje su smanjile potrošnju energije servera. Na primjer, u jednom trenutku programer je primijetio da je 6,63 TB od ukupno 11,15 TB saobraćaja generirano jednom pogrešnom implementacijom RSS feed-a koja je povlačila sadržaj svakih nekoliko minuta. Nakon ispravljanja ove greške, potrošnja energije servera (bez gubitaka energije) smanjena je sa 1,14 W na približno 0,95 W. Dobitak se može činiti malim, ali razlika od 0,19 W znači 4,56 vat-sati dnevno, što odgovara više od 2,5 sata trajanja baterije za server.

Tokom prve godine, efikasnost je bila samo 50%. Uočeni su gubici pri punjenju i pražnjenju baterije (22%), kao i pri pretvaranju napona sa 12 V (solarni PV sistem) na 5 V (USB), pri čemu su gubici bili i do 28%. Programer priznaje da ima suboptimalan pretvarač napona (kontroler bez ugrađenog USB-a), tako da možete optimizirati ovu tačku ili se prebaciti na 5V solarnu instalaciju.

Da bi se poboljšala efikasnost skladištenja energije, olovno-kiselinske baterije mogu se zameniti skupljim litijum-jonskim baterijama, koje imaju manje gubitke punjenja/pražnjenja (<10%). Sada dizajner razmišlja o kompaktu sistem za skladištenje energije u obliku komprimovanog vazduha (CAES), koji ima vek trajanja od decenija, što znači manji ugljični otisak na njegovu proizvodnju.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%
Kompaktni akumulator energije komprimiranog zraka, izvor

Razmatra se ugradnja dodatne vjetroturbine (može biti napraviti od drveta) i instaliranje solarnog tragača za okretanje panela prema suncu. Traker vam omogućava da povećate proizvodnju električne energije za 30%.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%

Drugi način da se poveća efikasnost sistema je njegovo skaliranje. Podignite više web lokacija na serveru i pokrenite više servera. Tada će se smanjiti potrošnja energije po lokaciji.

Kućni web server na solarni pogon radio je 15 mjeseci: vrijeme rada 95,26%
Solarni hosting kompanija. Ilustracija: Diego Marmolejo

Ako pokrijete cijeli balkon svog stana solarnim panelima i otvorite kompaniju za solarni web hosting, cijena po korisniku bit će znatno niža nego za jednu web stranicu: ekonomija obima.

Sve u svemu, ovaj eksperiment pokazuje da je, s obzirom na određena ograničenja, potpuno moguće da kompjuterska infrastruktura radi na obnovljivim izvorima energije.

Teoretski, takav server bi mogao čak i bez baterije ako bi se ogledao u drugim dijelovima svijeta. Na primjer, instalirajte ogledala na Novom Zelandu i Čileu. Tamo će solarni paneli raditi kada je noć u Barseloni.

izvor: www.habr.com

Dodajte komentar