Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.
Першы прататып сонечнага сервера з кантролерам зарада. Фота: solar.lowtechmagazine.com

У верасні 2018 года энтузіяст з Low-tech Magazine запусціў праект «нізкатэхналагічнага» вэб-сервера. Задача была зменшыць энергаспажыванне настолькі, каб хатняму self-hosted серверу хапала адной сонечнай панэлі. Гэта няпроста, бо сайт павінен працаваць 24 гадзіны за суткі. Паглядзім, што атрымалася ў выніку.

Можаце зайсці на сервер solar.lowtechmagazine.com, праверыць бягучае энергаспажыванне і ўзровень зарада акумулятара. Сайт аптымізаваны на мінімальнае колькасць запытаў са старонкі і мінімальны трафік, так што павінен вытрымаць скачок наведвальнасці з Хабра. Па разліках распрацоўніка, выдатак энергіі на аднаго ўнікальнага наведвальніка складае 0,021 Вт⋅ч.

Незадоўга да світання 31 студзеня 2020 г. у яго заставалася 42% зарада батарэі. Світанак у Барселоне ў 8:04 па мясцовым часе, пасля гэтага павінен пайсці ток з сонечнай панэлі.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Навошта?

Дзесяць гадоў таму эксперты прагназавалі, што развіццё інтэрнэту спрыяе «дэматэрыялізацыі» грамадства, усеагульнай цыфравізацыі - і, як следства, зніжэнню агульнага энергаспажывання. Яны памыліліся. Насамрэч інтэрнэт сам запатрабаваў велізарных аб'ёмаў энергасілкавання, і гэтыя аб'ёмы працягваюць расці.

IT-кампаніі запусцілі ініцыятывы па пераходзе на альтэрнатыўныя крыніцы харчавання, але гэта зараз немагчыма. Усе дата-цэнтры спажываюць у тры разы больш энергіі, чым генеруюць усе сонечныя і ветраныя ўстаноўкі ў свеце. Горш таго, вытворчасць і рэгулярная замена сонечных панэляў і ветракоў таксама патрабуе энергіі, таму адмовіцца ад выкапнёвага тапліфа (нафта, газ, уран) сёння проста немагчыма. Але гэтых запасаў надоўга не хопіць, таму нам непазбежна давядзецца думаць, як жыць на аднаўляльных крыніцах. Уключаючы працу кампутарнай інфраструктуры, у тым ліку вэб-сервераў.

Low-tech Magazine лічыць праблемай занадта хуткае раздзіманне вэб-старонак. З 2010 па 2018 год сярэдні памер старонкі павялічыўся з 0,45 МБ да 1,7 МБ, А ў мабільных сайтаў – з 0,15 МБ да 1,6 МБ, па кансерватыўнай ацэнцы.

Павелічэнне аб'ёмаў трафіку абганяе прагрэс у энергаэфектыўнасці (энергія, неабходная для перадачы 1 мегабайта інфармацыі), што выклікае пастаянны рост энергаспажывання інтэрнэту. Цяжэйшыя і нагружаныя сайты не толькі павялічваюць нагрузку на сеткавую інфраструктуру, але таксама скарачаюць «жыццёвы цыкл» кампутараў і смартфонаў, якія прыходзіцца гушчару выкідваць і вырабляць новыя, што таксама вельмі энергаёмісты працэс.

Ну і вядома, падвышэнне нагрузкі ствараецца самім ладам жыцця: людзі амаль увесь час праводзяць у інтэрнэце і шмат у чым спадзяюцца на розныя вэб-сэрвісы. Сучаснае грамадства ўжо складана ўявіць без хмарнай IT-інфраструктуры (сацыяльныя сеткі, месэнджары, пошта і г.д.)

Канфігурацыя сервера і вэб-сайта

В гэтым артыкуле падрабязна апісана апаратная канфігурацыя і праграмны стэк вэб-сервера.

Аднаплатны кампутар Olimex Olinuxino A20 Lime 2 абраны за нізкае энергаспажыванне і карысныя дадатковыя функцыі, такія як наяўнасць мікрасхемы кіравання энергасілкаваннем AXP209. Яна дазваляе запытваць статыстыку па бягучай напрузе і сіле току з платы і з батарэі. Мікрасхема аўтаматычна перамыкае сілкаванне паміж акумулятарам і раздымам DC, куды цячэ ток з сонечнай панэлі. Такім чынам, магчымае бесперабойнае сілкаванне сервера з падтрымкай акумулятара.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.
Olimex Olinuxino A20 Lime 2

Першапачаткова ў якасці акумулятара выбралі літый-палімерную батарэю ёмістасцю 6600 мАч (каля 24 Втч), потым паставілі кіслотна-свінцовы акумулятар на 84,4 Втч.

Аперацыйная сістэма загружаецца з SD-карты. Хоць АС займае не больш за 1 ГБ, а статычны вэб-сайт каля 30 МБ, але не было эканамічнага сэнсу купляць карту менш, чым Class 10 16 ГБ.

Сервер падключаецца да Сеткі праз 100-мегабітнае хатняе злучэнне ў Барселоне і стандартны спажывецкі маршрутызатар. Для яго зарэзерваваны статычны IP-адрас. Практычна кожны можа падняць такі сайт у сябе ў кватэры, трэба злёгку змяніць налада файрвола для форвардынгу портаў на лакальны IP:

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

Аперацыйная сістэма Armbian Stretch на базе дыстрыбутыва Debian і ядры SUNXI, якое распрацавана для аднаплатнікаў з чыпамі AllWinner.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.
50-ватная сонечная панэль для вэб-сервера і 10-ватная панэль для асвятлення гасцінай у кватэры аўтара

Статычны сайт згенераваны сістэмай пелікан (генератар сайтаў на Python). Статычныя сайты загружаюцца хутчэй і не ствараюць нагрузкі на CPU, таму яны значна больш эфектыўна, чым дынамічна генераваныя старонкі, з кропкі энергаспажывання. Зыходны код тэмы афармлення гл. тут.

Вельмі важны момант - сціск малюнкаў, паколькі без гэтай аптымізацыі практычна немагчыма зрабіць вэб-старонкі менш за 1 мегабайт. Для аптымізацыі было вырашана перавесці фатаграфіі ў паўтонавыя выявы. Для прыкладу, вось фатаграфія дзяўчын-тэлефаністак на камутатары ў мінулым стагоддзі, 253 КБ.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

А вось аптымізаваны паўтонавы малюнак памерам 36,5 КБ з трыма кветкамі (чорны, белы, шэры). За кошт аптычнай ілюзіі гледачу здаецца, што колькасць кветак большая за тры.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Паўтонавыя фатаграфіі абралі не толькі для аптымізацыі памеру (рашэнне даволі сумнеўнае), але і па эстэтычных меркаваннях. Гэтая старая тэхніка апрацоўкі малюнкаў валодае вызначанымі стылявымі асаблівасцямі, так што ў сайта атрымаўся ў нейкім сэнсе ўнікальны дызайн.

623 ілюстрацыі на сайце часопіса Low-tech Magazine пасля аптымізацыі паменшыліся ў памеры са 194,2 МБ да 21,3 МБ, гэта значыць на 89%.

Усе старыя артыкулы канвертавалі ў Markdown для прастаты напісання новых артыкулаў, а таксама для прастаты рэзервовага капіявання праз мярзотнік. З сайта выдалілі ўсе скрыпты і трэкеры, а таксама лагатыпы. Выкарыстоўваецца шрыфт па змаўчанні ў браўзэры кліента. У якасці «лагатыпа» - назва часопіса вялікімі літарамі са стрэлкай налева: LOW←TECH MAGAZINE. Усяго 16 байт замест карцінкі.

На выпадак даунтайма арганізавана магчымасць «афлайнавага чытання»: тэксты і карцінкі экспартуюцца ў RSS-фід. Уключана кэшаванне 100% кантэнту, у тым ліку HTML.

Яшчэ адна аптымізацыя - уключэнне налады HTTP2 у nginx, што крыху памяншае трафік і скарачае час загрузкі старонак, у параўнанні з HTTP/1.1. У табліцы параўноўваюцца вынікі для пяці розных старонак.

| | FP | WE | 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 | | savings | 11% | 21% | 0% | 4% | 18% |

Поўная канфігурацыя nginx:

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

Вынікі 15-ці месяцаў працы

За перыяд з 12 снежня 2018 года да 28 лістапада 2019 года сервер паказаў аптайм 95,26%. Гэта азначае, што з-за дрэннага надвор'я даунтайм за год склаў 399 гадзін.

Але калі не прымаць да ўвагі апошнія два месяцы, той час безадмоўнай працы склаў 98,2%, а час прастою - усяго 152 гадзіны, пішуць распрацоўшчыкі. Час безадмоўнай працы ўпаў да 80 працэнтаў на працягу апошніх двух месяцаў, калі спажыванне энергіі павялічылася з-за абнаўлення праграмнага забеспячэння. Кожную ноч сайт адключаўся на некалькі гадзін.

Па статыстыцы, за год (з 3 снежня 2018 года па 24 лістапада 2019 года) спажыванне электраэнергіі серверам склала 9,53 квт⋅г. Зафіксаваны значныя страты ў фотаэлектрычнай сістэме з-за пераўтварэння напружання і разраду батарэі. Сонечны кантролер паказаў гадавое спажыванне 18,10 квт⋅ч, што азначае эфектыўнасць сістэмы каля 50%.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.
Спрошчаная схема. На ёй не паказаны пераўтваральнік напругі з 12 на 5 вольт і батарэйны лічыльнік ампер-гадзін.

За доследны перыяд на сайт зайшлі 865 унікальных наведвальнікаў. Уключаючы ўсе страты энергіі ў сонечнай усталёўцы, выдатак энергіі на аднаго ўнікальнага наведвальніка склаў 000 Вт⋅ч. Такім чынам, адной кілават-гадзіны сонечнай энергіі хапае на абслугоўванне амаль 0,021 50 унікальных наведвальнікаў.

За час эксперыменту выпрабоўваліся сонечныя панэлі рознага памеру. У табліцы прыведзены разлікі, за які час зарадзяцца акумулятары рознай ёмістасці пры выкарыстанні сонечных панэляў рознага памеру.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Сярэдняя спажываная магутнасць вэб-сервера на працягу першага года, у тым ліку ўсе страты энергіі, склала 1,97 Вт. Разлік паказвае, што для падтрымання вэб-сайта ноччу ў самую кароткую ноч года (8 гадзін 50 хвілін, 21 чэрвеня) трэба 17,40 ват-гадзіны магутнасці захоўвання, а ў самую доўгую ноч (14 гадзін 49 хвілін, 21 снежня) трэба 29,19 ,XNUMX Вт⋅ч.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Паколькі свінцова-кіслотныя батарэі не павінны разраджацца ніжэй за палову ёмістасці, серверу патрабуецца батарэя на 60 Вт·ч, каб перажыць самую доўгую ноч пры аптымальнай асветленасці днём (2×29,19 Вт·ч). Вялікую частку года сістэма працавала з акумулятарам 86,4 Вт·ч і 50-ватнай сонечнай панэллю, тады і было дасягнуты вышэйзгаданы аптайм 95-98%.

Аптайм 100%

Для аптайму 100% патрабуецца павялічыць ёмістасць акумулятараў. Каб кампенсаваць адзін дзень вельмі дрэннага надвор'я (без значнай генерацыі электраэнергіі), трэба 47,28 ват-гадзіны (24 гадзіны × 1,97 вата) сховішчы.

З 1 снежня 2019 года па 12 студзеня 2020 года ў сістэму паставілі 168-ватную батарэю, у якой практычная ёмістасць захоўвання 84 ват-гадзіны. Гэтага сховішча дастаткова, каб падтрымліваць працу сайта на працягу двух начэй і аднаго дня. Канфігурацыю тэставалі ў самы цёмны перыяд года, але надвор'е было адносна добрае - і за названы перыяд час безадмоўнай працы склаў 100%.

Але каб гарантаваць аптайм 100% на працягу некалькіх гадоў, давядзецца прадугледзець і самы горшы сцэнар, калі дрэннае надвор'е захоўваецца некалькі дзён. Разлік паказвае: каб падтрымліваць сайт у анлайне на працягу чатырох дзён з нізкай або нулявой генерацыяй энергіі, спатрэбіцца свінцова-кіслотная батарэя ёмістасцю 440 ват-гадзін, гэта значыць памерам з аўтамабільны акумулятар.

На практыцы пры добрым надвор'і свінцова-кіслотная батарэя ёмістасцю 48 Вт⋅г будзе падтрымліваць працу сервера на працягу ночы з сакавіка па верасні. Батарэя на 24 Вт⋅ч пратрымае сервер максімум 6 гадзін, гэта значыць ён будзе адключацца кожную ноч, хоць і ў розны час, у залежнасці ад месяца.

Па вялікім рахунку, некаторым сайтам неабавязкова працаваць па начах, калі колькасць наведвальнікаў мінімальная, лічаць хлопцы з Low-tech Magazine. Напрыклад, калі гэта рэгіянальнае гарадское выданне, куды не заходзяць наведнікі з іншых гадзінных паясоў, а толькі мясцовыя жыхары.

Гэта значыць для сайтаў з рознай наведвальнасцю і розным аптаймам патрэбны акумулятары рознай ёмістасці і сонечныя батарэі рознага памеру.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Аўтар прыводзіць разлік, колькі энергіі патрабуецца для вытворчасці саміх сонечных панэляў (embodied energy) і колькі атрымліваецца, калі падзяліць гэтую колькасць на чаканы тэрмін службы ў 10 гадоў.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Такім чынам, можна разлічыць аналаг выкапнёвага паліва, якое зрасходавана на вытворчасць і эксплуатацыю панэляў. У Low-tech Magazine атрымалася, што за першы год працы іх сістэма (панэль 50 Вт, батарэя 86,4 Вт⋅ч) згенеравала прыкладна 9 кг выкідаў або эквівалент спальвання 3 л бензіну: прыкладна гэтулькі жа, колькі легкавы аўтамабіль за 50 км ходу.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Калі запытваць сервер не ад сонечных батарэй, а ад агульнай энергасеткі, то эквівалент выкідаў быццам атрымліваецца ў шэсць разоў ніжэй: 1,54 кг (у іспанскай энергетыцы высокая доля альтэрнатыўнай энергетыкі і АЭС). Але гэтае не зусім карэктнае параўнанне, піша аўтар, таму што яно ўлічвае embodied energy сонечнай інфраструктуры, але не ўлічвае гэты паказчык для агульнай энергасеткі, гэта значыць выдаткі на яе будаўніцтва і падтрымку.

Далейшыя паляпшэнні

За мінулы час праведзены шэраг аптымізацый, якія знізілі энергаспажыванне сервера. Напрыклад, у нейкі момант распрацоўшчык заўважыў, што 6,63 ТБ з агульнага аб'ёму 11,15 ТБ трафіку генеруе адна некарэктная рэалізацыя RSS-фіда, якая выцягвае кантэнт кожныя некалькі хвілін. Пасля выпраўлення гэтага бага энергаспажыванне сервера (без уліку страт энергіі) знізілася з 1,14 Вт да прыкладна 0,95 Вт. Выйгрыш можа здацца невялікім, але розніца ў 0,19 Вт азначае 4,56 ват-гадзіны за суткі, што адпавядае больш за 2,5 гадзін аўтаномнай працы сервера.

На працягу першага года ККД склаў усяго 50%. Страты назіраліся пры зарадцы і разрадцы акумулятара (22%), а таксама пры пераўтварэнні напругі з 12 У (сонечная фотаэлектрычная сістэма) на 5 У (USB), дзе страты складаюць да 28%. Распрацоўнік прызнае, што ў яго неаптымальны пераўтваральнік напругі (кантролер без убудаванага USB), таму можна аптымізаваць гэты момант або перайсці на сонечную ўстаноўку 5V.

Для падвышэння эфектыўнасці захоўвання энергіі можна замяніць свінцова-кіслотныя акумулятары даражэйшымі літый-іённымі батарэямі, у якіх меншыя страты зарада/разраду (<10%). Цяпер канструктар разглядае кампактную сістэму захоўвання электраэнергіі ў выглядзе сціснутага паветра (CAES), у якой тэрмін службы дзясяткі гадоў, што азначае меншы "вугляродны адбітак" на яе вытворчасць.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.
Кампактны акумулятар энергіі на сціснутым паветры, крыніца

Разглядаецца ўстаноўка дадатковай ветранай турбіны (яе можна вырабіць з дрэва) і ўстаноўка сонечнага трэкера для павароту панэляў да сонца. Трэкер дазваляе павялічыць выпрацоўку электраэнергіі на 30 працэнтаў.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.

Яшчэ адзін спосаб павышэння эфектыўнасці сістэмы - яе маштабаванне. Паднімаць на серверы больш вэб-сайтаў і запускаць больш сервераў. Тады паменшыцца выдатак энергіі ў разліку на кожны сайт.

Хатні вэб-сервер на сонечных батарэях адпрацаваў 15 месяцаў: аптайм 95,26%.
Кампанія сонечнага хостынгу. Ілюстрацыя: Дыега Мармалеха

Калі пакрыць сонечнымі панэлямі ўвесь балкон кватэры і адкрыць кампанію сонечнага вэб-хостынгу, то выдаткі на кожнага кліента будуць істотна ніжэйшыя, чым на адзіны вэб-сайт: эканомія ад маштабу.

У цэлым, гэты эксперымент дэманструе, што пры пэўных абмежаваннях камп'ютарная інфраструктура цалкам можа працаваць на аднаўляльных крыніцах энергіі.

Тэарэтычна, такі сервер можа нават абыйсціся без акумулятара, калі люстраваць яго ў іншых частках свету. Напрыклад, паставіць люстэркі ў Новай Зеландыі і Чылі. Там сонечныя панэлі будуць працаваць, калі ў Барселоне ноч.

Крыніца: habr.com

Дадаць каментар