Page 91 - 《软件学报》2025年第5期
P. 91
温金凤 等: 服务器无感知平台性能度量研究 1991
Python Python Python
15 000 128 MB 15 000 256 MB 15 000 512 MB
冷启动性能 (ms) 10 000 10 000 10 000
5 000
5 000
5 000
0 0 0
亚马逊 谷歌 微软 阿里巴巴 亚马逊 谷歌 微软 阿里巴巴 亚马逊 谷歌 微软 阿里巴巴
Python Python
15 000 1 024 MB 15 000 2 048 MB
冷启动性能 (ms) 10 000 10 000
5 000
5 000
0 0
亚马逊 谷歌 微软 阿里巴巴 亚马逊 谷歌 微软 阿里巴巴
图 7 不同平台在不同内存分配大小下执行 Python 应用的冷启动延迟
JavaScript JavaScript JavaScript
20 000 128 MB 20 000 256 MB 20 000 512 MB
冷启动性能 (ms) 15 000 15 000 15 000
10 000
10 000
10 000
5 000
0 5 000 0 5 000 0
亚马逊 谷歌 微软 阿里巴巴 亚马逊 谷歌 微软 阿里巴巴 亚马逊 谷歌 微软 阿里巴巴
JavaScript JavaScript
20 000 1 024 MB 20 000 2 048 MB
冷启动性能 (ms) 15 000 15 000
10 000
10 000
5 000
0 5 000 0
亚马逊 谷歌 微软 阿里巴巴 亚马逊 谷歌 微软 阿里巴巴
图 8 不同平台在不同内存分配大小下执行 JavaScript 应用的冷启动延迟
对于 Java 应用, 根据图 9 的结果, 可以得出与 Python 应用和 JavaScript 应用相似的结论, 即亚马逊 Lambda 和
阿里巴巴 Function Compute 产生的冷启动延迟比谷歌 Cloud Functions 和微软 Azure Functions 更低, 而且它们产
生的延迟分布也更为集中. 具体来说, 在表 6 中可见, 亚马逊 Lambda 在不同内存大小下执行 Java 应用产生的性能
中位数介于 685.07–783.91 ms 之间, 而阿里巴巴 Function Compute 产生的性能中位数介于 1 342.00–1 362.77 ms
之间. 与此相比, 微软 Azure Functions 执行 Java 应用的冷启动延迟为 2 145.25 ms, 而谷歌 Cloud Functions 在不同
内存分配下超过 2 700 ms, 这表明谷歌 Cloud Functions 产生的冷启动开销更大. 因此, 如果开发者希望为 Java 应
用提供较低的冷启动延迟和稳定的性能分布, 他们可以优先选择亚马逊 Lambda 和阿里巴巴 Function Compute 这
两个平台.