U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%
U primu prototipu di un servitore solare cù un controller di carica. Foto: solar.lowtechmagazine.com

In settembre 2018, un entusiasta di Low-tech Magazine lanciatu un prughjettu di servitore web "bassa tecnulugia".. L'obiettivu era di riduce u cunsumu d'energia tantu chì un pannellu solare seria abbastanza per un servitore in casa. Questu ùn hè micca faciule, perchè u situ deve travaglià 24 ore à ghjornu. Videmu ciò chì hè accadutu à a fine.

Pudete andà à u servitore solar.lowtechmagazine.com, verificate u cunsumu di energia attuale è u livellu di carica di a bateria. U situ hè ottimizatu per un minimu numeru di richieste da a pagina è u trafficu minimu, perchè duverebbe sustene una crescita di trafficu da Habr. Sicondu i calculi di u sviluppatore, u cunsumu d'energia per visitatore unicu hè 0,021 Wh.

Pocu prima di l'alba di u 31 di ghjennaghju di u 2020, avia 42% di batteria restante. L'alba in Barcelona à 8:04 ora lucale, dopu à quale u currente duverà scorri da u pannellu solare.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

Perchè

Dieci anni fà esperti previstuchì u sviluppu di l'Internet cuntribuisce à a "dematerializazione" di a sucità, a digitalizazione universale - è, in u risultatu, una riduzione di u cunsumu energeticu generale. Eranu sbagliati. In fatti, l'Internet stessu dumandava quantità enormi di pruvista di energia, è questi volumi cuntinueghjanu à cresce.

L'imprese IT anu lanciatu iniziative per cambià à fonti di energia alternativa, ma questu hè avà impussibile. Tutti i centri di dati cunsumanu trè volte più energia chì tutte e installazioni solari è eoliche in u mondu generanu. Ancu peggiu, a pruduzzione è a sustituzione regulare di pannelli solari è turbine eoliche hè ancu bisognu di energia, dunque, hè simplicemente impussibile oghje di abbandunà i carburanti fossili (petru, gasu, uraniu). Ma sti riserve ùn durà micca longu, cusì avemu inevitabbilmente à pensà à cumu campà nantu à e fonti rinnuvevuli. Cumpresa l'operazione di l'infrastruttura di l'informatica, cumpresi i servitori web.

Rivista low-tech cunsidereghja un prublema E pagine web si gonfianu troppu rapidamente. A dimensione media di a pagina hè aumentata da 2010 à 2018 da 0,45 MB à 1,7 MB, è per i siti mobile - da 0,15 MB à 1,6 MB, una stima conservativa.

Aumentu di i volumi di trafficu supera u prugressu in l'efficienza energetica (l'energia necessaria per trasmette 1 megabyte d'infurmazioni), chì provoca una crescita constante di u cunsumu d'energia di Internet. I siti più pesanti è più carichi ùn solu aumentanu a carica nantu à l'infrastruttura di a rete, ma ancu accurtà u "ciclu di vita" di l'urdinatori è i telefoni smartphones, chì anu da esse cacciatu più spessu è prudutti novi, chì ancu un prucessu assai energicu.

E, sicuru, a carica di travagliu aumentata hè creata da u stilu di vita stessu: a ghjente passa quasi tuttu u so tempu in Internet è s'appoghja assai in parechji servizii web. Hè digià difficiuli d'imaginà a sucietà muderna senza infrastruttura IT cloud (reti suciali, messageri instantani, mail, etc.)

Cunfigurazione di u servitore è di u situ web

В stu articulu A cunfigurazione hardware è a pila di software di u servitore web sò descritte in detail.

Computer à bordu unicu Olimex Olinuxino A20 Lime 2 sceltu per u cunsumu d'energia bassu è funzioni supplementari utili cum'è u chip di gestione di l'energia AXP209. Permette di dumandà statistiche nantu à a tensione attuale è a corrente da u bordu è a bateria. U microcircuit cambia automaticamente a putenza trà a bateria è u cunnessu DC, induve u currente scorri da u pannellu solare. Cusì, l'alimentazione ininterrotta à u servitore cù supportu di bateria hè pussibule.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%
Olimex Olinuxino A20 Lime 2

In principiu, una bateria di lithium-polymer cù una capacità di 6600 mAh (circa 24 Wh) hè stata scelta cum'è una bateria, dopu una bateria di piombo-acidu cù una capacità di 84,4 Wh hè stata installata.

U sistema upirativu boots da a carta SD. Ancu l'OS ùn occupa micca più di 1 GB è u situ web staticu hè di circa 30 MB, ùn ci era micca sensu ecunomicu à cumprà una carta più chjuca di una Classe 10 16 GB.

U servitore si cunnetta à Internet via una cunnessione di casa 100Mbps in Barcelona è un router standard di cunsumatori. Un indirizzu IP staticu hè riservatu per ellu. Quasi qualcunu pò stabilisce un tali situ in u so appartamentu; avete bisognu di cambià ligeramente i paràmetri di u firewall per trasmette i porti à l'IP locale:

Port 80 à 80 per HTTP
Port 443 à 443 per HTTPS
Port 22 à 22 per SSH

sistema upirativu Armbian Stretch basatu annantu à a distribuzione Debian è u kernel SUNXI, chì hè pensatu per schede singuli cù chips AllWinner.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%
Un pannellu solare di 50 watt per un servitore web è un pannellu solare di 10 watt per l'illuminazione di u salottu in l'appartamentu di l'autore

Situ staticu generatu da u sistema Pellicanu (generatore di situ in Python). I siti statici caricanu più veloce è sò menu intensivi di CPU, cusì sò assai più efficienti energetichi cà e pagine generate dinamicamente. Vede u codice fonte per u tema. ccà.

Un puntu assai impurtante hè a compressione di l'imaghjini, postu chì senza questa ottimisazione hè quasi impussibile di fà e pagine web più chjuche di 1 megabyte. Per l'ottimisazione, hè statu decisu di cunvertisce e ritratti in l'imaghjini di mezzu tonalità. Per esempiu, quì hè una fotografia di l'operatori di u telefuninu femine nantu à una centralina in l'ultimu seculu, 253 KB.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

È quì hè una maghjina ottimizzata in scala di grisgiu di taglia 36,5 KB cù trè culori (negru, biancu, grisgiu). A causa di l'illusione ottica, pare à u visore chì ci sò più di trè culori.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

I fotografici di mezzu tonalità sò stati scelti micca solu per ottimisà a dimensione (una decisione piuttostu dubbiosa), ma ancu per ragioni estetiche. Questa vechja tecnica di trasfurmazioni di l'imaghjini hà certe caratteristiche stilistiche, cusì u situ hà un disignu unicu unicu.

Dopu à l'ottimisazione, 623 illustrazioni nantu à u situ web di Low-tech Magazine diminuinu in grandezza da 194,2 MB à 21,3 MB, vale à dì da 89%.

Tutti i vechji articuli sò stati cunvertiti in Markdown per facilità di scrive novi articuli, è ancu per facilità di salvezza via andà. Tutti i scripts è trackers, è ancu i loghi, sò stati eliminati da u situ. U font predeterminatu in u navigatore di u cliente hè utilizatu. Cum'è un "logo" - u nome di a rivista in lettere maiuscule cù una freccia à manca: LOW←TECH MAGAZINE. Solu 16 bytes invece di una stampa.

In casu di downtime, a pussibilità di "lettura offline" hè stata urganizata: i testi è l'imaghjini sò esportati in un feed RSS. A caching di u cuntenutu 100% hè attivatu, cumpresu HTML.

Un'altra ottimisazione hè attivata l'impostazione HTTP2 in nginx, chì riduce ligeramente u trafficu è riduce u tempu di carica di pagina cumparatu cù HTTP / 1.1. A tavula compara i risultati per cinque pagine diverse.

| | FP | NOI | HS | FW | CW |
|----------|-------------------------|--------|------- -|
| HTTP/1.1 | 1.46 s | 1.87 s | 1.54 s | 1.86 s | 1.89 s |
| HTTP2 | 1.30h1.49 | 1.54 s | 1.79 s | 1.55 s | 9 s |
| Immagini | 21 | 11 | 19 | 23 | 11 |
| risparmiu | 21% | 0% | 4% | 18% | XNUMX% |

Cunfigurazione nginx cumpleta:

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

Risultati di 15 mesi di travagliu

Per u periodu da u 12 di dicembre di u 2018 à u 28 di nuvembre di u 2019, u servitore hà dimustratu uptime 95,26%. Questu significa chì, per via di u malu tempu, u tempu di fermu per l'annu era di 399 ore.

Ma s'ellu ùn tene micca in contu l'ultimi dui mesi, u uptime era 98,2%, è u downtime era solu 152 ore, scrive i sviluppatori. U uptime hè cascatu à 80% in l'ultimi dui mesi quandu u cunsumu di energia hè aumentatu per via di una aghjurnazione di software. Ogni notte u situ hè cascatu per parechje ore.

Sicondu statistiche, per l'annu (da u 3 di dicembre di u 2018 à u 24 di nuvembre di u 2019), u cunsumu d'electricità di u servitore era 9,53 kWh. Perditi significativi in ​​u sistema fotovoltaicu per via di a cunversione di tensione è di scaricamentu di a bateria sò stati registrati. U controller solare hà dimustratu un cunsumu annuale di 18,10 kWh, chì significa chì l'efficienza di u sistema hè di circa 50%.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%
Schema simplificatu. Ùn mostra micca un convertitore di tensione da 12 à 5 volti è un metru ampere-ora di bateria

Duranti u periodu di studiu, 865 000 visitatori unichi anu visitatu u situ. Cumprendu tutte e perdite di energia in l'installazione solare, u cunsumu d'energia per visitatore unicu era 0,021 Wh. Cusì, un kilowatt-ora di energia solare generata hè abbastanza per serve quasi 50 000 visitatori unichi.

Durante l'esperimentu, sò stati pruvati pannelli solari di diverse dimensioni. A tavula mostra i calculi di quantu tempu ci vole à carica batterie di diverse capacità quandu si usanu pannelli solari di diverse dimensioni.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

U cunsumu mediu di energia di u servitore web durante u primu annu, cumprese tutte e perdite di energia, era 1,97 Watts. U calculu mostra chì l'esecuzione di un situ web durante a notte a notte più corta di l'annu (8 ore 50 minuti, 21 di ghjugnu) richiede 17,40 watt-ora di putenza d'almacenamiento, è in a notte più longa (14 ore 49 minuti, 21 dicembre) avete bisognu di 29,19. .XNUMX Wh.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

Siccomu e batterie di piombo-acidu ùn devenu micca scaricate sottu a mità di capacità, u servitore necessita una batteria 60 Wh per sopravvive à a notte più longa cù una luce di ghjornu ottima (2x29,19 Wh). Per a maiò parte di l'annu, u sistema hà travagliatu cù una bateria 86,4 Wh è un pannellu solare 50-watt, è dopu u 95-98% uptime sopra citatu hè statu ottenutu.

Uptime 100%

Per u 100% uptime, hè necessariu di aumentà a capacità di a bateria. Per cumpensà un ghjornu di u clima assai cattivu (senza generazione di energia significativa), 47,28 watt-hours (24 hours × 1,97 watts) di almacenamiento sò necessarii.

Da u 1 di dicembre di u 2019 à u 12 di ghjennaghju di u 2020, una batteria di 168 watt hè stata installata in u sistema, chì hà una capacità di almacenamento pratica di 84 watt-ora. Questu hè abbastanza almacenamentu per mantene u situ in funzione per duie notti è un ghjornu. A cunfigurazione hè stata pruvata durante u periodu più scuru di l'annu, ma u tempu era relativamente bonu - è in u periodu specificatu u uptime era 100%.

Ma per guarantisce u 100% uptime per parechji anni, avete da furnisce u peghju scenariu, quandu u malu tempu persiste per parechji ghjorni. U calculu mostra chì per mantene un situ web in linea per quattru ghjorni cù una generazione d'energia bassa o micca, avete bisognu di una bateria di piombo-acidu cù una capacità di 440 watt-ora, chì hè a dimensione di una bateria di vittura.

In pratica, in cundizioni climatichi boni, una batteria di piombo-acidu 48 Wh mantene u servitore in funzione durante a notte da marzu à settembre. Una batteria di 24 Wh durà u servitore per un massimu di 6 ore, vale à dì chì si chjuderà ogni notte, ancu s'ellu in tempi diversi sicondu u mese.

In generale, certi siti ùn anu micca bisognu di travaglià in a notte, quandu u numeru di visitatori hè minimu, dicenu i ragazzi di Low-tech Magazine. Per esempiu, s'ellu hè una publicazione di a cità regiunale, induve i visitori d'altri fusi orari ùn venenu micca, ma solu i residenti lucali.

Vale à dì, per i siti cù un trafficu diversu è un uptime differente, sò necessarie batterie di capacità differenti è pannelli solari di diverse dimensioni.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

L'autore furnisce un calculu di quantu energia hè necessaria pruduzzione i pannelli solari stessi (energia incarnata) è quantu risulta si divide stu quantità da a vita di serviziu prevista di 10 anni.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

In questu modu, hè pussibule di calculà l'equivalente di carburanti fossili chì sò cunsumati in a produzzione è l'operazione di i pannelli. Low-tech Magazine hà truvatu chì in u primu annu di funziunamentu, u so sistema (pannellu 50 W, batteria 86,4 Wh) "generatu" circa 9 kg di emissioni, o l'equivalente di brusgià 3 litri di benzina: circa u listessu cum'è un 50- viaghji di vittura di passageru d'annu.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

Se u servore ùn hè micca alimentatu da i pannelli solari, ma da a rete elettrica generale, allora l'emissioni equivalenti parenu esse sei volte più bassu: 1,54 kg (u settore energeticu spagnolu hà una parte alta di energia alternativa è centrali nucleari). Ma questu ùn hè micca un paragone cumplettamente currettu, scrive l'autore, perchè tene in contu l'energia incarnata di l'infrastruttura solare, ma ùn piglia micca in contu stu indicatore per a reta di l'energia generale, vale à dì i costi di a so custruzzione è u sustegnu. .

Ulteriori miglioramenti

In u tempu passatu, una quantità di ottimisazioni sò state realizate chì anu riduciutu u cunsumu di energia di u servitore. Per esempiu, à un certu puntu, u sviluppatore hà nutatu chì 6,63 TB di u totale di 11,15 TB di trafficu hè stata generata da una implementazione di feed RSS incorrecta chì tirava u cuntenutu ogni pocu minuti. Dopu avè riparatu stu bug, u cunsumu di energia di u servitore (escludendu e perdite di energia) hè diminuitu da 1,14 W à circa 0,95 W. U guadagnu pò esse chjucu, ma una diferenza di 0,19 W significa 4,56 watt-ora per ghjornu, chì currisponde à più di 2,5 ore di vita di a bateria per u servitore.

Duranti u primu annu, l'efficienza era solu 50%. I perditi sò stati osservati in carica è scaricamentu di a bateria (22%), è ancu quandu si cunvertisce a tensione da 12 V (sistema solare PV) à 5 V (USB), induve e perdite eranu finu à 28%. U sviluppatore ammette chì hà un convertitore di tensione suboptimal (controller senza USB integratu), perchè pudete ottimisà stu puntu o cambià à una installazione solare 5V.

Per migliurà l'efficienza di l'almacenamiento d'energia, e batterie di piombo-acidu ponu esse rimpiazzate cù batterie di lithium-ion più caru, chì anu perdite di carica / scaricamentu più basse (<10%). Avà u designer hè cunsideratu un compactu sistema di almacenamentu di energia in forma di aria compressa (CAES), chì hà una vita di decennii, chì significa una impronta di carbone più chjuca nantu à a so pruduzzione.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%
Accumulatore compactu di energia d'aria cumpressa, fonti

L'installazione di una turbina eolica supplementaria hè stata cunsiderata (pò esse fà da legnu) è installendu un tracker solare per vultà i pannelli versu u sole. U tracker permette di aumentà a pruduzzione elettrica di 30%.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%

Un altru modu per aumentà l'efficienza di u sistema hè di scala. Cresce più siti web nantu à u servitore è lanciate più servitori. Allora u cunsumu d'energia per situ diminuirà.

U servitore web di casa alimentatu da u solar hà travagliatu per 15 mesi: uptime 95,26%
Cumpagnia di hosting solare. Illustrazione : Diego Marmolejo

Se copre tuttu u vostru balcone di l'appartamentu cù pannelli solari è apre una sucietà di hosting web solare, u costu per cliente serà significativamente più bassu chè per un unicu situ web: economie di scala.

In generale, stu esperimentu dimostra chì, datu certe limitazioni, hè interamente pussibule per l'infrastruttura di l'informatica per eseguisce nantu à fonti d'energia rinnuvevuli.

In teoria, un tali servitore puderia ancu fà senza una bateria se specchiu in altre parti di u mondu. Per esempiu, stallà specchi in Nova Zelanda è Cile. Ci sò i pannelli solari chì funzionanu quandu hè notte in Barcelona.

Source: www.habr.com

Add a comment