为什么 Docker 在这个基准测试中降低了物联网设备的功耗?

物联网 树莓派 码头工人 能量消耗 linux
2021-06-10 01:02:51

我一直对 Docker 在 Raspberry Pi 等物联网设备上的应用感兴趣。

在阅读了物联网设备上容器技术的性能评估后,我对其中一个结果感到有些困惑。在表 1 中,Apache 2 基准测试(200 个客户端)下显示的功耗表明,使用 Docker 容器降低了功耗,尽管使用 Docker 进行容器化会产生开销。

为什么会出现这种情况?这是否足够可靠,可以用来稍微降低物联网设备的功耗,会不会有什么弊端?

1个回答

经过进一步调查,我认为问题的问题在于,虽然降低了功率(能量传输率),但使用Docker增加了整体能耗,因此在降低电费方面没有任何好处。

根据论文中 100,000 个请求的数据,我们可以通过以下公式计算能源使用量:

能量 = 功率 x 时间

鉴于本机代码消耗了 2.4893 W 的功率,并花费了大约 170 秒(参见图 3,本机 200),我们知道所使用的能量为:

2.4893 瓦 * 170 秒

= 423.181 Ws = 423.181 J(1 瓦特-秒相当于一焦耳,或者换句话说,瓦特是一焦耳/秒)

对于 Docker 代码,功耗为 2.3642 W,但所用时间为 220 秒,因此:

2.3642 瓦 * 220 秒

= 520.124 瓦 = 520.124 焦

因此,该示例的总体能源使用量高出 96.943 J,如果需要考虑能源使用情况,这显然是不合需要的。然而,使用 Docker 在部署和管理方面确实有其他优势,但在严格受限的环境中(例如仅使用电池),似乎最好避免使用。