Pierwszy prototyp serwera fotowoltaicznego z kontrolerem ładowania. Zdjęcie:
We wrześniu 2018 pasjonat Magazynu Low-tech
Możesz iść na serwer
Tuż przed świtem 31 stycznia 2020 r. poziom naładowania baterii wynosił 42%. Świt w Barcelonie o godzinie 8:04 czasu lokalnego, po czym z panelu słonecznego powinien płynąć prąd.
Dlaczego?
Eksperci dziesięć lat temu
Firmy IT podjęły inicjatywy mające na celu przejście na alternatywne źródła zasilania, ale obecnie jest to niemożliwe. Wszystkie centra danych zużywają trzy razy więcej energii niż wytwarzają wszystkie instalacje fotowoltaiczne i wiatrowe na świecie. Co gorsza, produkcja i regularna wymiana paneli słonecznych i turbin wiatrowych
Magazyn o niskiej technologii
Wzrost natężenia ruchu
I oczywiście zwiększone obciążenie pracą wynika z samego stylu życia: ludzie spędzają prawie cały czas w Internecie i w dużym stopniu polegają na różnych usługach internetowych. Trudno już sobie wyobrazić współczesne społeczeństwo bez infrastruktury IT w chmurze (sieci społecznościowe, komunikatory internetowe, poczta itp.)
Konfiguracja serwera i strony internetowej
В
Komputer jednopłytkowy
Olimex Olinuxino A20 Limonka 2
Początkowo jako akumulator wybrano akumulator litowo-polimerowy o pojemności 6600 mAh (około 24 Wh), następnie zamontowano akumulator kwasowo-ołowiowy o pojemności 84,4 Wh.
System operacyjny uruchamia się z karty SD. Chociaż system operacyjny zajmuje nie więcej niż 1 GB, a statyczna witryna internetowa ma około 30 MB, nie było ekonomicznego sensu kupowanie karty mniejszej niż Class 10 16 GB.
Serwer łączy się z Internetem za pośrednictwem połączenia domowego 100Mbps w Barcelonie i standardowego routera konsumenckiego. Rezerwowany jest dla niego statyczny adres IP. Prawie każdy może założyć taką stronę w swoim mieszkaniu, trzeba nieco zmienić ustawienia firewalla, aby przekierować porty na lokalny adres IP:
Port 80 do 80 dla HTTP Port 443 do 443 dla HTTPS Port 22 do 22 dla SSH
System operacyjny
Panel słoneczny o mocy 50 W do serwera WWW i panel słoneczny o mocy 10 W do oświetlenia salonu w mieszkaniu autorskim
Strona statyczna wygenerowana przez system
Bardzo ważnym punktem jest kompresja obrazu, ponieważ bez tej optymalizacji tworzenie stron internetowych mniejszych niż 1 megabajt jest prawie niemożliwe. W celu optymalizacji zdecydowano się przekonwertować zdjęcia na obrazy rastrowe. Oto na przykład zdjęcie operatorek telefonicznych na centrali telefonicznej w zeszłym stuleciu,
A oto zoptymalizowany obraz w skali szarości
Zdjęcia rastrowe wybrano nie tylko ze względu na optymalizację rozmiaru (co jest decyzją dość wątpliwą), ale także ze względów estetycznych. Ta stara technika przetwarzania obrazu ma pewne cechy stylistyczne, dlatego strona ma nieco unikalny wygląd.
Po optymalizacji rozmiar 623 ilustracji na stronie Low-tech Magazine zmniejszył się ze 194,2 MB do 21,3 MB, czyli o 89%.
Wszystkie stare artykuły zostały przekonwertowane do Markdown, aby ułatwić pisanie nowych artykułów, a także ułatwić tworzenie kopii zapasowych za pośrednictwem
W przypadku przestoju zorganizowano możliwość „czytania offline”: teksty i zdjęcia są eksportowane do kanału RSS. Włączono buforowanie 100% zawartości, w tym HTML.
Kolejną optymalizacją jest włączenie ustawień HTTP2 w nginx, co nieznacznie zmniejsza ruch i skraca czas ładowania strony w porównaniu do HTTP/1.1. W tabeli porównano wyniki dla pięciu różnych stron.
| | FP | MY | HS | FW | CW | |---------|-------|-------|-------|-------|------ -| | HTTP/1.1 | 1.46 s | 1.87 s | 1.54 s | 1.86 s | 1.89 s | | HTTP2 | 1.30 s | 1.49 s | 1.54 s | 1.79 s | 1.55 s | | Obrazy | 9 | 21 | 11 | 19 | 23 | | oszczędności | 11% | 21% | 0% | 4% | 18% |
Pełna konfiguracja 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;
}
Efekty 15 miesięcy pracy
Za okres od 12 grudnia 2018 do 28 listopada 2019 serwer pokazał
Ale jeśli nie weźmie się pod uwagę ostatnich dwóch miesięcy, czas sprawności wyniósł 98,2%, a przestój wyniósł tylko 152 godziny – piszą programiści. Czas sprawności spadł do 80% w ciągu ostatnich dwóch miesięcy, gdy zużycie energii wzrosło w wyniku aktualizacji oprogramowania. Każdej nocy strona nie działała przez kilka godzin.
Według statystyk za rok (od 3 grudnia 2018 r. do 24 listopada 2019 r.) zużycie energii elektrycznej przez serwer wyniosło 9,53 kWh. Odnotowano znaczne straty w systemie fotowoltaicznym na skutek konwersji napięcia i rozładowania akumulatorów. Sterownik solarny wykazał roczne zużycie na poziomie 18,10 kWh, co oznacza, że sprawność systemu wynosi około 50%.
Uproszczony schemat. Nie pokazuje konwertera napięcia od 12 do 5 woltów i amperogodzin akumulatora
W okresie objętym badaniem witrynę odwiedziło 865 000 unikalnych użytkowników. Uwzględniając wszystkie straty energii w instalacji fotowoltaicznej, zużycie energii na jednego gościa wyniosło 0,021 Wh. Zatem jedna kilowatogodzina wytworzonej energii słonecznej wystarczy, aby obsłużyć prawie 50 000 unikalnych gości.
Podczas eksperymentu przetestowano panele słoneczne o różnych rozmiarach. Tabela pokazuje obliczenia czasu potrzebnego na ładowanie akumulatorów o różnej pojemności przy zastosowaniu paneli słonecznych o różnych rozmiarach.
Średni pobór mocy serwera WWW w pierwszym roku, włączając wszystkie straty energii, wyniósł 1,97 W. Z obliczeń wynika, że działanie strony internetowej przez noc w najkrótszą noc w roku (8 godzin 50 minut, 21 czerwca) wymaga 17,40 watogodzin energii magazynującej, a w najdłuższą noc (14 godzin 49 minut, 21 grudnia) potrzeba 29,19 XNUMX Wh.
Ponieważ akumulatory kwasowo-ołowiowe nie powinny rozładowywać się poniżej połowy pojemności, serwer potrzebuje akumulatora 60 Wh, aby przetrwać najdłuższą noc przy optymalnym świetle dziennym (2x29,19 Wh). Przez większą część roku system pracował z baterią 86,4 Wh i panelem słonecznym o mocy 50 W, po czym osiągnięto wspomniane 95-98% czasu sprawności.
Czas pracy 100%
Aby uzyskać 100% czasu pracy, konieczne jest zwiększenie pojemności akumulatora. Aby zrekompensować jeden dzień bardzo złej pogody (bez znacznego wytwarzania energii), potrzeba 47,28 watogodzin (24 godziny x 1,97 wata) pamięci.
Od 1 grudnia 2019 r. do 12 stycznia 2020 r. w systemie zainstalowano akumulator o mocy 168 W, który ma praktyczną pojemność magazynowania 84 Wh. To wystarczająca ilość miejsca, aby witryna działała przez dwie noce i jeden dzień. Konfiguracja została przetestowana w najciemniejszej porze roku, ale pogoda była stosunkowo dobra – a w podanym okresie czas sprawności wyniósł 100%.
Aby jednak zagwarantować 100% dyspozycyjności przez kilka lat, należy uwzględnić najgorszy scenariusz, gdy zła pogoda będzie się utrzymywać przez kilka dni. Obliczenia pokazują, że aby utrzymać witrynę internetową przez cztery dni przy niskim wytwarzaniu energii lub bez niej, potrzebny byłby akumulator kwasowo-ołowiowy o pojemności 440 watogodzin, czyli wielkości akumulatora samochodowego.
W praktyce przy dobrej pogodzie akumulator kwasowo-ołowiowy o pojemności 48 Wh zapewni serwerowi pracę przez noc od marca do września. Bateria 24 Wh wystarczy na maksymalnie 6 godzin pracy serwera, co oznacza, że będzie on wyłączany każdej nocy, chociaż w różnych momentach w zależności od miesiąca.
Ogólnie rzecz biorąc, niektóre witryny nie muszą działać w nocy, gdy liczba odwiedzających jest minimalna, mówią chłopaki z magazynu Low-tech. Na przykład, jeśli jest to regionalna publikacja miejska, do której nie przyjeżdżają goście z innych stref czasowych, a jedynie lokalni mieszkańcy.
Oznacza to, że w przypadku witryn o różnym natężeniu ruchu i różnym czasie pracy potrzebne są akumulatory o różnych pojemnościach i panele słoneczne o różnych rozmiarach.
Autor podaje obliczenia ile energii potrzeba na to produkcja same panele słoneczne (energia ucieleśniona) i ile się okaże, jeśli podzielisz tę kwotę przez oczekiwany okres użytkowania wynoszący 10 lat.
W ten sposób można obliczyć równowartość paliw kopalnych zużywanych przy produkcji i eksploatacji paneli. Magazyn Low-tech ustalił, że w pierwszym roku działania ich system (panel 50 W, akumulator 86,4 Wh) „wygenerował” około 9 kg emisji, co odpowiada spaleniu 3 litrów benzyny: mniej więcej tyle samo, co 50- roczny samochód osobowy km podróży.
Jeśli serwer będzie zasilany nie z paneli słonecznych, ale z ogólnej sieci energetycznej, wówczas równoważna emisja wydaje się być sześciokrotnie niższa: 1,54 kg (hiszpański sektor energetyczny ma duży udział energii alternatywnych i elektrowni jądrowych). Nie jest to jednak porównanie do końca trafne – pisze autor, gdyż uwzględnia energię ucieleśnioną w infrastrukturze fotowoltaicznej, ale nie uwzględnia tego wskaźnika dla ogólnej sieci energetycznej, czyli kosztów jej budowy i utrzymania .
Dalsze doskonalenia
W ostatnim czasie przeprowadzono szereg optymalizacji, które zmniejszyły zużycie energii przez serwer. Na przykład w pewnym momencie programista zauważył, że 6,63 TB z całkowitego 11,15 TB ruchu zostało wygenerowane przez jedną nieprawidłową implementację kanału RSS, który pobierał zawartość co kilka minut. Po naprawieniu tego błędu pobór mocy serwera (bez strat energii) spadł z 1,14 W do około 0,95 W. Zysk może wydawać się niewielki, ale różnica 0,19 W oznacza 4,56 watogodzin dziennie, co odpowiada ponad 2,5 godzinom pracy serwera na baterii.
W pierwszym roku wydajność wynosiła tylko 50%. Straty zaobserwowano przy ładowaniu i rozładowywaniu akumulatora (22%), a także przy konwersji napięcia z 12 V (system fotowoltaiczny) na 5 V (USB), gdzie straty sięgały aż 28%. Deweloper przyznaje, że ma suboptymalną przetwornicę napięcia (sterownik bez wbudowanego USB), więc można zoptymalizować ten punkt lub przejść na instalację fotowoltaiczną 5V.
Aby poprawić efektywność magazynowania energii, akumulatory kwasowo-ołowiowe można zastąpić droższymi akumulatorami litowo-jonowymi, które charakteryzują się niższymi stratami podczas ładowania/rozładowania (<10%). Teraz projektant rozważa kompakt
Kompaktowy akumulator energii sprężonego powietrza,
Rozważana jest instalacja dodatkowej turbiny wiatrowej (możliwe
Innym sposobem na zwiększenie wydajności systemu jest jego skalowanie. Twórz więcej witryn internetowych na serwerze i uruchamiaj więcej serwerów. Wtedy zużycie energii na obiekt spadnie.
Firma hostingowa Solar. Ilustracja: Diego Marmolejo
Jeśli pokryjesz cały balkon swojego mieszkania panelami słonecznymi i otworzysz firmę hostingową zajmującą się energią słoneczną, koszt na klienta będzie znacznie niższy niż w przypadku pojedynczej strony internetowej: korzyści skali.
Ogólnie rzecz biorąc, eksperyment ten pokazuje, że przy pewnych ograniczeniach całkowicie możliwe jest korzystanie z infrastruktury komputerowej w oparciu o odnawialne źródła energii.
Teoretycznie taki serwer mógłby obejść się nawet bez baterii, gdyby miał swoje odbicie w innych częściach świata. Na przykład zainstaluj lustra w Nowej Zelandii i Chile. Tam panele słoneczne będą działać, gdy w Barcelonie zapadnie noc.
Źródło: www.habr.com