太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%
第一个带有充电控制器的太阳能服务器原型。 照片: Solar.lowtechmagazine.com

2018年XNUMX月,Low-tech杂志的一位爱好者 启动了一个“低技术含量”的网络服务器项目。 目标是大幅降低能源消耗,使一块太阳能电池板足以用于一台家庭自托管服务器。 这并不容易,因为该网站必须每天 24 小时工作。 让我们看看最后发生了什么。

你可以去服务器 Solar.lowtechmagazine.com,检查当前功耗和电池电量。 该站点针对来自页面的最少请求数和最小流量进行了优化,因此它应该能够承受来自 Habr 的流量激增。 根据开发商的计算,每位独立访客的​​能耗为0,021 Wh。

31 年 2020 月 42 日黎明前,它的电量还剩 8%。 巴塞罗那当地时间 04:XNUMX 黎明,之后太阳能电池板就会流出电流。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

Зачем?

十年前的专家 预测互联网的发展有助于社会的“非物质化”和普遍数字化,从而减少总体能源消耗。 他们错了。 事实上,互联网本身就要求 大量的能源供应,并且这些数量还在继续增长。

IT 公司已发起改用替代能源的举措,但现在这是不可能的。 所有数据中心消耗的能源是世界上所有太阳能和风能装置产生的能源的三倍。 更糟糕的是,太阳能电池板和风力涡轮机的生产和定期更换 也需要能量因此,今天根本不可能放弃化石燃料(石油、天然气、铀)。 但这些储备不会持续太久,因此我们不可避免地要考虑如何依靠可再生能源生活。 包括计算机基础设施的运行,包括网络服务器。

低科技杂志 认为这是一个问题 网页膨胀得太快。 2010 年至 2018 年平均页面大小有所增加 从 0,45 MB 到 1,7 MB,对于移动网站 - 保守估计为 0,15 MB 到 1,6 MB。

交通量增加 超越能源效率的进步 (传输1兆字节信息所需的能量),导致互联网能耗不断增加。 更重、负载更多的站点不仅增加了网络基础设施的负载,而且还缩短了计算机和智能手机的“生命周期”,不得不更频繁地扔掉它们并生产新的,这也 一个非常耗能的过程.

当然,工作量的增加是由生活方式本身造成的:人们几乎把所有的时间都花在互联网上,并严重依赖各种网络服务。 很难想象现代社会没有云 IT 基础设施(社交网络、即时通讯工具、邮件等)。

服务器和网站配置

В 本文 详细描述了Web服务器的硬件配置和软件堆栈。

单板计算机 Olimex Olinuxino A20 青柠 2 选择低功耗和有用的附加功能(例如电源管理芯片) AXP209。 它允许您请求电路板和电池当前电压和电流的统计数据。 微电路自动在电池和直流连接器之间切换电源,电流从太阳能电池板流出。 因此,可以通过电池支持为服务器不间断供电。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%
Olimex Olinuxino A20 青柠 2

最初选择容量为6600mAh(约24Wh)的锂聚合物电池作为电池,随后安装了容量为84,4Wh的铅酸电池。

操作系统从 SD 卡启动。 虽然操作系统占用的空间不超过1GB,静态网站大约30MB,但购买小于Class 10 16GB的卡没有经济意义。

该服务器通过巴塞罗那的 100Mbps 家庭连接和标准消费者路由器连接到互联网。 为其保留静态IP 地址。 几乎任何人都可以在自己的公寓中设置这样的站点;您需要稍微更改防火墙设置以将端口转发到本地 IP:

端口 80 至 80(适用于 HTTP) 端口 443 至 443(适用于 HTTPS) 端口 22 至 22(适用于 SSH)

操作系统 阿姆比亚伸展运动 基于 Debian 发行版和内核 孙熙,专为采用 AllWinner 芯片的单板设计。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%
作者公寓中用于网络服务器的 50 瓦太阳能电池板和用于客厅照明的 10 瓦太阳能电池板

系统生成的静态站点 (Python 中的站点生成器)。 静态站点加载速度更快,CPU 消耗更少,因此它们比动态生成的页面更节能。 请参阅主题的源代码。 这里.

非常重要的一点是图像压缩,因为如果没有这种优化,几乎不可能使网页小于 1 MB。 为了优化,决定将照片转换为半色调图像。 例如,这是上世纪总机上女接线员的照片, 253 KB.

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

这是尺寸优化的灰度图像 36,5 KB 具有三种颜色(黑、白、灰)。 由于视错觉,观看者看起来似乎有不止三种颜色。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

选择半色调照片不仅是为了优化尺寸(这是一个相当可疑的决定),而且也是出于美学原因。 这种古老的图像处理技术具有一定的风格特征,因此该网站的设计有些独特。

优化后,《低科技》杂志网站上的623张插图大小从194,2MB减少到21,3MB,减少了89%。

所有旧文章都转换为 Markdown,以便于编写新文章,也方便通过 混帐。 所有脚本和跟踪器以及徽标均已从网站上删除。 使用客户端浏览器中的默认字体。 作为“标志”——杂志的名称用大写字母和向左的箭头:LOW←TECH MAGAZINE。 只有16个字节而不是一张图片。

在停机的情况下,“离线阅读”的可能性已经组织起来:文本和图片导出到 RSS 源。 启用 100% 内容缓存,包括 HTML。

另一个优化是在 nginx 中启用 HTTP2 设置,与 HTTP/1.1 相比,这会稍微减少流量并减少页面加载时间。 该表比较了五个不同页面的结果。

| | FP | 我们| HS | 固件 | 连续波 | |----------|-----|--------|--------|--------|-------- -| | HTTP/1.1 | 1.46 秒 | 1.87 秒 | 1.54 秒 | 1.86 秒 | 1.89 秒 | | HTTP2 | 1.30 秒 | 1.49 秒 | 1.54 秒 | 1.79 秒 | 1.55 秒 | | 图片 | 9 | 21 | 11 19 | 23 11 | 21 0 | 4 | 储蓄| 18% | XNUMX% | XNUMX% | XNUMX% | XNUMX% |

完整的 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年XNUMX月XNUMX日期间,服务器显示 正常运行时间 95,26%。 这意味着,由于恶劣天气,全年的停机时间为 399 小时。

但开发人员写道,如果不考虑最近两个月的情况,正常运行时间为 98,2%,停机时间仅为 152 小时。 过去两个月,由于软件更新导致功耗增加,正常运行时间下降至 80%。 每天晚上该网站都会瘫痪几个小时。

据统计,全年(3年2018月24日至2019年9,53月18,10日),服务器用电量为50千瓦时。 据记录,光伏系统因电压转换和电池放电而造成重大损失。 太阳能控制器的年消耗量为XNUMX kWh,这意味着系统效率约为XNUMX%。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%
简图。 它没有显示 12 至 5 伏电压转换器和电池安时计

在研究期间,有 865 名独立访客访问了该网站。 包括太阳能装置中的所有能源损失,每位访客的能源消耗为 000 瓦时。 因此,产生的一千瓦时太阳能足以为近 0,021 名不同的游客提供服务。

实验过程中,测试了不同尺寸的太阳能电池板。 该表显示了使用不同尺寸的太阳能电池板时,对不同容量的电池充电所需时间的计算。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

第一年 Web 服务器的平均功耗(包括所有能量损耗)为 1,97 瓦。 计算表明,在一年中最短的夜晚(8 月 50 日,21 小时 17,40 分钟)过夜运行网站需要 14 瓦时的存储电量,而在最长的夜晚(49 月 21 日,29,19 小时 XNUMX 分钟)则需要 XNUMX 瓦时的存储电量。 .XNUMX 瓦时。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

由于铅酸电池的放电不应低于一半容量,因此服务器需要 60 Wh 电池才能在最佳日光照明下度过最长的夜晚 (2x29,19 Wh)。 在一年的大部分时间里,该系统都使用 86,4 Wh 电池和 50 瓦太阳能电池板运行,然后实现了上述 95-98% 的正常运行时间。

正常运行时间 100%

为了 100% 的正常运行时间,有必要增加电池容量。 为了补偿一天非常恶劣的天气(没有大量发电),需要 47,28 瓦时(24 小时 × 1,97 瓦)的存储。

1年2019月12日至2020年168月84日,系统中安装了100瓦电池,实际存储容量为XNUMX瓦时。 这足以让网站运行一天两晚。 该配置是在一年中最黑暗的时期进行测试的,但天气相对较好 - 在指定时间内正常运行时间为 XNUMX%。

但为了保证数年 100% 的正常运行时间,您必须应对最坏的情况,即恶劣天气持续数天。 计算表明,要使网站在低能量或无能量产生的情况下保持在线四天,您需要容量为 440 瓦时的铅酸电池,相当于汽车电池的大小。

实际上,在良好的天气条件下,48 Wh 铅酸电池将使服务器从 24 月到 6 月保持过夜运行。 XNUMX Wh 电池将使服务器最多持续 XNUMX 小时,这意味着服务器每天晚上都会关闭,但具体时间因月份而异。

Low-tech 杂志的工作人员表示,总的来说,一些网站不需要在夜间访问,因为此时访问者数量很少。 例如,如果这是一份区域城市出版物,则不会来自其他时区的访客,而只有当地居民。

即针对不同流量、不同正常运行时间的站点,需要不同容量的电池和不同尺寸的太阳能电池板。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

作者计算了需要多少能量 生产 太阳能电池板本身(体现的能量),以及将该数量除以 10 年的预期使用寿命后的结果。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

通过这种方式,可以计算出电池板生产和运行过程中消耗的化石燃料当量。 Low-tech 杂志发现,在运行的第一年,他们的系统(50 W 面板、86,4 Wh 电池)“产生”了大约 9 公斤的排放量,相当于燃烧 3 升汽油:大约相当于 50 辆汽车的排放量。岁客车行驶公里数。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

如果服务器不是由太阳能电池板供电,而是由通用电网供电,那么等效排放量似乎会低六倍:1,54千克(西班牙能源部门的替代能源和核电站所占比例很高)。 但这并不是一个完全正确的比较,作者写道,因为它考虑了太阳能基础设施的具体能源,但没有考虑到一般能源网络的这一指标,即其建设和支持的成本。

进一步改进

过去一段时间,我们进行了多项优化,降低了服务器功耗。 例如,开发人员曾注意到,总 6,63 TB 流量中的 11,15 TB 是由一个不正确的 RSS 源实施产生的,该实施每隔几分钟提取内容。 修复此错误后,服务器的功耗(不包括能量损失)从 1,14 W 降低至约 0,95 W。 增益看似很小,但 0,19 W 的差异意味着每天 4,56 瓦时,相当于服务器的电池寿命超过 2,5 小时。

第一年,效率仅为 50%。 在对电池充电和放电 (22%) 以及将电压从 12 V(太阳能光伏系统)转换为 5 V (USB) 时,观察到损耗,其中损耗高达 28%。 开发人员承认他有一个次优的电压转换器(没有内置USB的控制器),因此您可以优化这一点或切换到5V太阳能安装。

为了提高储能效率,铅酸电池可以替换为更昂贵的锂离子电池,其充放电损耗更低(<10%)。 现在设计师正在考虑一个紧凑的 压缩空气形式的能量存储系统 (CAES),其使用寿命长达数十年,这意味着其生产的碳足迹更小。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%
紧凑型压缩空气蓄能器,

正在考虑安装额外的风力涡轮机(可以是 用木头做)并安装太阳能跟踪器将电池板转向太阳。 该跟踪器可让您将发电量提高 30%。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%

提高系统效率的另一种方法是扩展系统。 在服务器上建立更多网站并启动更多服务器。 那么每个站点的能源消耗将会减少。

太阳能家庭网络服务器持续 15 个月:正常运行时间为 95,26%
太阳能托管公司。 插图:迭戈·马尔莫莱霍

如果您用太阳能电池板覆盖整个公寓阳台并开设太阳能网络托管公司,则每个客户的成本将明显低于单个网站:规模经济。

总体而言,该实验表明,鉴于某些限制,计算机基础设施完全有可能依靠可再生能源运行。

理论上,如果在世界其他地方进行镜像,这样的服务器甚至可以在没有电池的情况下运行。 例如,在新西兰和智利安装镜像。 巴塞罗那晚上的时候太阳能电池板就会工作。

来源: habr.com

添加评论