Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%
O primeiro protótipo de servidor solar com controlador de carga. Foto: solar.lowtechmagazine.com

Em setembro de 2018, um entusiasta da Low-tech Magazine lançou um projeto de servidor web de “baixa tecnologia”. O objetivo era reduzir tanto o consumo de energia que um painel solar seria suficiente para um servidor doméstico auto-hospedado. Isso não é fácil, pois o site deve funcionar 24 horas por dia. Vamos ver o que aconteceu no final.

Você pode ir para o servidor solar.lowtechmagazine.com, verifique o consumo atual de energia e o nível de carga da bateria. O site é otimizado para um número mínimo de solicitações da página e tráfego mínimo, portanto deve suportar um aumento no tráfego de Habr. Segundo cálculos do desenvolvedor, o consumo de energia por visitante único é de 0,021 Wh.

Pouco antes do amanhecer de 31 de janeiro de 2020, ele tinha 42% de bateria restante. Amanhecer em Barcelona às 8h04, horário local, após o qual a corrente deverá fluir do painel solar.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

Por quê?

Há dez anos, especialistas previstoque o desenvolvimento da Internet contribui para a “desmaterialização” da sociedade, para a digitalização universal - e, como resultado, para a redução do consumo global de energia. Eles estavam errados. Na verdade, a própria Internet exigia enormes quantidades de fornecimento de energia, e esses volumes continuam a crescer.

As empresas de TI lançaram iniciativas para mudar para fontes de energia alternativas, mas isso agora é impossível. Todos os data centers consomem três vezes mais energia do que todas as instalações solares e eólicas do mundo geram. Pior ainda, a produção e substituição regular de painéis solares e turbinas eólicas também requer energia, portanto, é simplesmente impossível hoje abandonar os combustíveis fósseis (petróleo, gás, urânio). Mas estas reservas não durarão muito, por isso teremos inevitavelmente de pensar em como viver de fontes renováveis. Incluindo a operação de infraestrutura informática, incluindo servidores web.

Revista de baixa tecnologia considera isso um problema As páginas da Web incham muito rapidamente. O tamanho médio da página aumentou de 2010 a 2018 de 0,45 MB a 1,7 MBe para sites móveis - de 0,15 MB a 1,6 MB, uma estimativa conservadora.

Aumento nos volumes de tráfego supera o progresso na eficiência energética (energia necessária para transmitir 1 megabyte de informação), o que provoca um aumento constante no consumo de energia da Internet. Sites mais pesados ​​e carregados não apenas aumentam a carga na infraestrutura de rede, mas também encurtam o “ciclo de vida” de computadores e smartphones, que precisam ser descartados com mais frequência e novos produzidos, o que também um processo que consome muita energia.

E, claro, o aumento da carga de trabalho é criado pelo próprio estilo de vida: as pessoas passam quase todo o seu tempo na Internet e dependem fortemente de vários serviços web. Já é difícil imaginar a sociedade moderna sem infraestrutura de TI em nuvem (redes sociais, mensagens instantâneas, correio, etc.)

Configuração de servidor e site

В Este artigo A configuração de hardware e a pilha de software do servidor web são descritas em detalhes.

Computador de placa única Olimex Olinuxino A20 Limão 2 escolhido para baixo consumo de energia e recursos adicionais úteis, como chip de gerenciamento de energia AXP209. Permite solicitar estatísticas sobre a tensão e corrente atuais da placa e da bateria. O microcircuito alterna automaticamente a energia entre a bateria e o conector DC, por onde a corrente flui do painel solar. Assim, é possível fornecer energia ininterrupta ao servidor com suporte de bateria.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%
Olimex Olinuxino A20 Limão 2

Inicialmente, foi escolhida como bateria uma bateria de polímero de lítio com capacidade de 6600 mAh (cerca de 24 Wh), depois foi instalada uma bateria de chumbo-ácido com capacidade de 84,4 Wh.

O sistema operacional inicializa a partir do cartão SD. Embora o sistema operacional não ocupe mais do que 1 GB e o site estático tenha cerca de 30 MB, não havia sentido econômico em comprar um cartão menor que um Classe 10 de 16 GB.

O servidor se conecta à Internet através de uma conexão doméstica de 100 Mbps em Barcelona e de um roteador padrão para o consumidor. Um endereço IP estático está reservado para ele. Quase qualquer pessoa pode configurar tal site em seu apartamento; você precisa alterar ligeiramente as configurações do firewall para encaminhar as portas para o IP local:

Porta 80 a 80 para HTTP Porta 443 a 443 para HTTPS Porta 22 a 22 para SSH

Sistema operacional Alongamento Armbiano baseado na distribuição e kernel Debian SUNXI, projetado para placas únicas com chips AllWinner.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%
Painel solar de 50 watts para servidor web e painel solar de 10 watts para iluminação da sala do apartamento do autor

Site estático gerado pelo sistema Pelicano (gerador de sites em Python). Sites estáticos carregam mais rápido e consomem menos CPU, portanto, são muito mais eficientes em termos de energia do que páginas geradas dinamicamente. Veja o código fonte do tema. aqui.

Um ponto muito importante é a compressão de imagens, pois sem essa otimização é quase impossível tornar páginas web menores que 1 megabyte. Para otimização, optou-se por converter as fotografias em imagens de meio-tom. Por exemplo, aqui está uma fotografia de mulheres operadoras de telefonia em uma mesa telefônica no século passado, 253 KB.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

E aqui está uma imagem otimizada em escala de cinza do tamanho 36,5 KB com três cores (preto, branco, cinza). Devido à ilusão de ótica, parece ao espectador que existem mais de três cores.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

As fotografias em meios-tons foram escolhidas não apenas para otimizar o tamanho (uma decisão bastante duvidosa), mas também por razões estéticas. Essa antiga técnica de processamento de imagem possui certas características estilísticas, por isso o site tem um design um tanto único.

Após a otimização, 623 ilustrações no site da Low-tech Magazine diminuíram de tamanho de 194,2 MB para 21,3 MB, ou seja, 89%.

Todos os artigos antigos foram convertidos para Markdown para facilitar a escrita de novos artigos, bem como para facilitar o backup via git. Todos os scripts e rastreadores, bem como logotipos, foram removidos do site. A fonte padrão do navegador do cliente é usada. Como “logotipo” - o nome da revista em letras maiúsculas com uma seta para a esquerda: LOW←TECH MAGAZINE. Apenas 16 bytes em vez de uma imagem.

Em caso de inatividade, foi organizada a possibilidade de “leitura offline”: textos e imagens são exportados para um feed RSS. O cache de 100% do conteúdo está habilitado, incluindo HTML.

Outra otimização é habilitar configurações HTTP2 no nginx, o que reduz ligeiramente o tráfego e o tempo de carregamento da página em comparação com HTTP/1.1. A tabela compara os resultados de cinco páginas diferentes.

| | PF | NÓS | SH | FR | CW | |----------|-------|-------|-------|-------|------ -| | HTTP/1.1 | 1.46s | 1.87s | 1.54s | 1.86s | 1.89s | | HTTP2 | 1.30h1.49 | 1.54s | 1.79s | 1.55s | 9s | | Imagens | 21 | 11 | 19 | 23 | 11 | | poupança | 21% | 0% | 4% | 18% | XNUMX% |

Configuração completa do 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;
}

Resultados de 15 meses de trabalho

Para o período de 12 de dezembro de 2018 a 28 de novembro de 2019, o servidor apresentou tempo de atividade 95,26%. Isto significa que devido ao mau tempo o tempo de inatividade no ano foi de 399 horas.

Mas se você não levar em conta os últimos dois meses, o tempo de atividade foi de 98,2% e o tempo de inatividade foi de apenas 152 horas, escrevem os desenvolvedores. O tempo de atividade caiu para 80% nos últimos dois meses, quando o consumo de energia aumentou devido a uma atualização de software. Todas as noites o site ficava fora do ar por várias horas.

Segundo as estatísticas, no ano (3 de dezembro de 2018 a 24 de novembro de 2019), o consumo de energia elétrica do servidor foi de 9,53 kWh. Foram registradas perdas significativas no sistema fotovoltaico devido à conversão de tensão e descarga da bateria. O controlador solar apresentou um consumo anual de 18,10 kWh, o que significa que a eficiência do sistema é de cerca de 50%.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%
Diagrama simplificado. Não apresenta conversor de tensão de 12 a 5 volts e medidor de ampere-hora de bateria

Durante o período do estudo, 865 mil visitantes únicos visitaram o site. Incluindo todas as perdas de energia na instalação solar, o consumo de energia por visitante único foi de 000 Wh. Assim, um quilowatt-hora de energia solar gerado é suficiente para atender quase 0,021 mil visitantes únicos.

Durante o experimento, foram testados painéis solares de diferentes tamanhos. A tabela mostra cálculos de quanto tempo levará para carregar baterias de diferentes capacidades ao usar painéis solares de diferentes tamanhos.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

O consumo médio de energia do servidor web durante o primeiro ano, incluindo todas as perdas de energia, foi de 1,97 Watts. O cálculo mostra que manter um site funcionando durante a noite na noite mais curta do ano (8 horas e 50 minutos, 21 de junho) requer 17,40 watts-hora de energia de armazenamento, e na noite mais longa (14 horas e 49 minutos, 21 de dezembro) você precisa de 29,19 .XNUMX O quê.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

Como as baterias de chumbo-ácido não devem descarregar abaixo da metade da capacidade, o servidor requer uma bateria de 60 Wh para sobreviver à noite mais longa com luz diurna ideal (2x29,19 Wh). Durante a maior parte do ano, o sistema funcionou com uma bateria de 86,4 Wh e um painel solar de 50 watts, e então o mencionado tempo de atividade de 95-98% foi alcançado.

Tempo de atividade 100%

Para 100% de disponibilidade, é necessário aumentar a capacidade da bateria. Para compensar um dia de muito mau tempo (sem geração significativa de energia), são necessários 47,28 watts-hora (24 horas × 1,97 watts) de armazenamento.

De 1º de dezembro de 2019 a 12 de janeiro de 2020, foi instalada no sistema uma bateria de 168 watts, que tem capacidade prática de armazenamento de 84 watts-hora. Isso é armazenamento suficiente para manter o site funcionando por duas noites e um dia. A configuração foi testada durante o período mais escuro do ano, mas o tempo estava relativamente bom - e durante o período especificado o tempo de atividade foi de 100%.

Mas para garantir 100% de disponibilidade durante vários anos, você terá que prever o pior cenário, quando o mau tempo persistir por vários dias. O cálculo mostra que para manter um site online por quatro dias com baixa ou nenhuma geração de energia, seria necessária uma bateria de chumbo-ácido com capacidade de 440 watts-hora, que é do tamanho de uma bateria de carro.

Na prática, em boas condições climáticas, uma bateria de chumbo-ácido de 48 Wh manterá o servidor funcionando durante a noite de março a setembro. Uma bateria de 24 Wh durará no máximo 6 horas no servidor, o que significa que ele desligará todas as noites, embora em horários diferentes dependendo do mês.

Em geral, alguns sites não precisam funcionar à noite, quando o número de visitantes é mínimo, dizem os caras da Low-tech Magazine. Por exemplo, se esta for uma publicação regional da cidade, onde não vêm visitantes de outros fusos horários, mas apenas residentes locais.

Ou seja, para locais com tráfego e tempos de atividade diferentes, são necessárias baterias de diferentes capacidades e painéis solares de diferentes tamanhos.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

O autor fornece um cálculo de quanta energia é necessária para produção os próprios painéis solares (energia incorporada) e quanto resulta se você dividir esse valor pela vida útil esperada de 10 anos.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

Desta forma, é possível calcular o equivalente de combustíveis fósseis que são consumidos na produção e operação dos painéis. A Low-tech Magazine descobriu que no primeiro ano de operação, seu sistema (painel de 50 W, bateria de 86,4 Wh) “gerou” aproximadamente 9 kg de emissões, ou o equivalente à queima de 3 litros de gasolina: quase o mesmo que um 50- carro de um ano de viagem km.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

Se o servidor não for alimentado por painéis solares, mas sim pela rede eléctrica geral, então as emissões equivalentes parecem ser seis vezes inferiores: 1,54 kg (o sector energético espanhol tem uma elevada percentagem de energias alternativas e centrais nucleares). Mas esta não é uma comparação totalmente correta, escreve o autor, porque leva em conta a energia incorporada da infraestrutura solar, mas não leva em conta este indicador para a rede energética geral, ou seja, os custos de sua construção e suporte .

Outras melhorias

Nos últimos tempos, foram realizadas diversas otimizações que reduziram o consumo de energia do servidor. Por exemplo, a certa altura, o desenvolvedor percebeu que 6,63 TB do total de 11,15 TB de tráfego foram gerados por uma implementação incorreta de feed RSS que extraía conteúdo a cada poucos minutos. Após a correção deste bug, o consumo de energia do servidor (excluindo perdas de energia) diminuiu de 1,14 W para aproximadamente 0,95 W. O ganho pode parecer pequeno, mas uma diferença de 0,19 W significa 4,56 watts-hora por dia, o que corresponde a mais de 2,5 horas de bateria do servidor.

Durante o primeiro ano, a eficiência foi de apenas 50%. Foram observadas perdas no carregamento e descarregamento da bateria (22%), bem como na conversão da tensão de 12 V (sistema solar fotovoltaico) para 5 V (USB), onde as perdas foram de até 28%. O desenvolvedor admite que possui um conversor de tensão abaixo do ideal (controlador sem USB embutido), então você pode otimizar este ponto ou mudar para uma instalação solar de 5V.

Para melhorar a eficiência do armazenamento de energia, as baterias de chumbo-ácido podem ser substituídas por baterias de íon-lítio mais caras, que apresentam menores perdas de carga/descarga (<10%). Agora o designer está considerando um compacto sistema de armazenamento de energia na forma de ar comprimido (CAES), que tem uma vida útil de décadas, o que significa uma menor pegada de carbono na sua produção.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%
Acumulador compacto de energia de ar comprimido, fonte

Está sendo considerada a instalação de uma turbina eólica adicional (pode ser fazer de madeira) e instalação de um rastreador solar para direcionar os painéis em direção ao sol. O rastreador permite aumentar a produção de eletricidade em 30%.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%

Outra forma de aumentar a eficiência do sistema é escalá-lo. Crie mais sites no servidor e lance mais servidores. Então o consumo de energia por local diminuirá.

Servidor web doméstico movido a energia solar funcionou por 15 meses: tempo de atividade de 95,26%
Empresa de hospedagem solar. Ilustração: Diego Marmolejo

Se você cobrir toda a varanda do seu apartamento com painéis solares e abrir uma empresa de hospedagem web solar, o custo por cliente será significativamente menor do que para um único site: economias de escala.

No geral, esta experiência demonstra que, dadas certas limitações, é inteiramente possível que a infraestrutura informática funcione com fontes de energia renováveis.

Teoricamente, tal servidor poderia até funcionar sem bateria se fosse espelhado em outras partes do mundo. Por exemplo, instale espelhos na Nova Zelândia e no Chile. Lá, os painéis solares funcionarão quando for noite em Barcelona.

Fonte: habr.com

Adicionar um comentário