Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа

Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа
Първият прототип на слънчев сървър с контролер за зареждане. Снимка: solar.lowtechmagazine.com

През септември 2018 година, ентусиаст от Low-tech Magazine стартира проект за 'нискотехнологичен' уеб сървър.Целта беше да се намали енергопотреблението толкова, че домашно хостваният сървър да може да се захранва само от една слънчева панел. Това не е лесна задача, тъй като сайтът трябва да работи 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 мегабайт информация), което води до постоянно увеличение на енергийната консумация на интернет. По-тежките и натоварени сайтове не само увеличават натиска върху мрежовата инфраструктура, но също така съкращават „животния цикъл“ на компютрите и смартфоните, които трябва да се изхвърлят по-често и да се произвеждат нови, което също е доста енергийно интензивен процес.

Разбира се, увеличаването на натоварването се дължи и на самия начин на живот: хората прекарват почти всичкото си време в интернет и в значителна степен разчитат на различни уеб услуги. Съ współвременното общество вече е трудно да си представим без облачна 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:

Порт 80 към 80 за HTTP
Порт 443 към 443 за HTTPS
Порт 22 към 22 за SSH

Операционна система Armbian Stretch на базата на дистрибуцията Debian и ядрото SUNXI, което е разработено за одноплатни компютри с чипове AllWinner.

Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа
50-ватова соларна панел за уеб сървър и 10-ватова панел за осветление на дневната в апартамента на автора

Статичният сайт беше генериран от системата Pelican (генератор сайтов на Python). Статичните сайтове се зареждат по-бързо и не натоварват CPU-то, поради което са много по-ефективни в сравнение с динамично генерираните страници с оглед на енергийната им ефективност. Изходният код на темата за оформление е. тук..

Много важен момент е компресирането на изображенията, тъй като без тази оптимизация е практически невъзможно да направите уеб страниците по-малки от 1 мегабайт. За оптимизация решихме да преобразуваме снимките в полутонови изображения. Например, ето снимка на телефонистки на комутатор от миналия век, 253 КБ.

Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа

А ето оптимизирано полутоново изображение с размер 36,5 КБ с три цвята (черен, бял, сив). Поради оптичната илюзия на зрителя му изглежда, че броят на цветовете е по-голям от три.

Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа

Полутоновите фотографии бяха избрани не само за оптимизация на размера (решение, което е доста спорно), но и по естетически съображения. Техниката за обработка на изображенията притежава определени стилови особености, така че сайтът придоби уникален дизайн в известен смисъл.

623 илюстрации на сайта на списание Low-tech Magazine след оптимизация намалиха размера си от 194,2 МБ до 21,3 МБ, тоест с 89%.

Всички стари статии бяха конвертирани в Markdown за улеснение при писането на нови статии, а също и за опростяване на резервното копиране чрез git. От сайта бяха премахнати всички скриптове и тракери, както и логотипи. Използва се шрифт по подразбиране в браузъра на клиента. Като "логотип" - името на списанието с главни букви и стрелка наляво: 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% време на работа
ОпSimplificirana схема. На нея не са показани преобразувателят на напрежение от 12 на 5 волта и батерийният измервател на ампер-часове.

В изследвания период на сайта са влезли 865 000 уникални посетители. Включително всички енергийни загуби в слънчевата инсталация, консумацията на енергия на един уникален посетител е била 0,021 Вт⋅ч. Така че един киловат-час генерирана слънчева енергия е достатъчен за обслужването на почти 50 000 уникални посетители.

По време на експеримента бяха тествани слънчеви панели с различни размери. В таблицата са дадени изчисленията за времето, за което ще се заредят акумулаторите с различна капацитет, използвайки слънчеви панели с различни размери.

Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа

Средната консумирана мощност на уеб сървъра през първата година, включително всички енергийни загуби, е била 1,97 Вт. Изчислението показва, че за поддържането на уеб сайта през нощта в най-кратката нощ на годината (8 часа и 50 минути, 21 юни) са необходими 17,40 ватт-часа мощност за съхранение, а в най-дългата нощ (14 часа и 49 минути, 21 декември) са необходими 29,19 Вт⋅ч.

Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа

Поради факта, че оловно-кислородните батерии не трябва да се разреждат под половината от капацитета си, на сървъра е необходима батерия с капацитет 60 Вт⋅ч, за да преживее най-дългата нощ при оптимално дневно осветление (2×29,19 Вт⋅ч). През повечето част от годината системата работеше с акумулатор 86,4 Вт⋅ч и 50-ватов слънчев панел, като така беше постигнат споменатият uptime от 95-98%.

Uptime 100%

За постигане на uptime от 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% време на работа

Авторът представя изчисление колко енергия е необходима за производството на самите слънчеви панели (вградена енергия) и колко се получава, ако разделим това количество на очаквания срок на служба от 10 години.

Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа

По този начин може да се изчисли аналог на изкопаеми горива, които се изразходват за производството и експлоатацията на панелите. Според Low-tech Magazine, през първата година работа тяхната система (панел 50 Вт, батерия 86,4 Вт⋅ч) е "генерирала" около 9 кг емисии или еквивалента на изгаряне на 3 л бензин: приблизително толкова, колкото лека кола изразходва за 50 км.

Домашен уеб сървър на слънчеви панели работи 15 месеца: 95,26% време на работа

Ако захранваме сървъра не от слънчеви батерии, а от общата енергийна мрежа, еквивалентът на емисиите изглежда е около шест пъти по-нисък: 1,54 кг (в испанската енергетика делът на алтернативната енергия и АЕЦ е висок). Но това не е напълно коректно сравнение, пише авторът, защото то отразява вградената енергия на слънчевата инфраструктура, но не отчита този показател за общата енергийна мрежа, т.е. разходите за нейното изграждане и поддръжка.

По-нататъшни подобрения

През изминалото време беше проведен редица оптимизации, които намалиха енергопотреблението на сървъра. Например, в един момент разработчикът забеляза, че 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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster