Page 88 - 《软件学报》2025年第5期
P. 88

1988                                                       软件学报  2025  年第  36  卷第  5  期


                 为  783.91 ms. 这表明在亚马逊   Lambda 上执行  Python  应用产生的冷启动延迟最低, JavaScript 应用的冷启动延迟
                 相对低, 而   Java 应用的冷启动延迟最高, 大约是         Python 应用冷启动延迟的两倍. 这样的结果可能是由于               Python
                 和  JavaScript 是轻量级编程语言, 而   Java 是一种重量级编程语言. 此外, 对于这些编程语言的应用, 内存分配大小
                 对冷启动延迟的影响不明显. 根据图             3  中的冷启动性能数据分布, 可以看出这            3  种编程语言的应用在亚马逊
                 Lambda 上执行的冷启动延迟相对集中. 根据表           6  中上下四分位数范围的数据, 这些应用在不同内存配置下的冷启
                 动延迟差异大约为       50 ms.

                     3 000                      3 000                       3 000
                          亚马逊                        亚马逊                         亚马逊
                     2 500  128 MB              2 500  256 MB               2 500  512 MB
                    冷启动性能 (ms)  1 500           1 500                       1 500
                     2 000
                                                2 000
                                                                            2 000
                                                                            1 000
                                                1 000
                     1 000
                      500
                       0                         500 0                       500 0
                          Python  JavaScript  Java    Python  JavaScript  Java    Python  JavaScript  Java
                     3 000                      3 000
                          亚马逊                         亚马逊
                     2 500  1 024 MB            2 500  2 048 MB
                    冷启动性能 (ms)  1 500           1 500
                     2 000
                                                2 000
                     1 000
                                                1 000
                      500
                       0                         500 0
                          Python  JavaScript  Java    Python  JavaScript  Java
                          图 3 亚马逊    Lambda 在不同内存分配下执行不同编程语言编写的应用产生的冷启动延迟

                   16 000                       16 000                      16 000
                                      谷歌                           谷歌                          谷歌
                   14 000                       14 000                      14 000
                                     128 MB     12 000            256 MB    12 000            512 MB
                   12 000
                   冷启动性能 (ms)  10 000           10 000                      10 000
                                                 8 000
                    8 000
                                                                             8 000
                    6 000
                                                                             6 000
                                                 6 000
                    4 000
                    2 000                        4 000                       4 000
                                                 2 000
                                                                             2 000
                       0                           0                            0
                          Python  JavaScript  Java    Python  JavaScript  Java     Python  JavaScript  Java
                   16 000                       16 000
                                       谷歌                          谷歌
                   14 000                       14 000
                                     1 024 MB   12 000           2 048 MB
                   12 000
                   冷启动性能 (ms)  10 000           10 000
                                                 8 000
                    8 000
                                                 6 000
                    6 000
                    4 000
                                                 2 000
                    2 000                        4 000
                       0                           0
                          Python  JavaScript  Java    Python  JavaScript  Java
                        图 4 谷歌   Cloud Functions 在不同内存分配下执行不同编程语言编写的应用产生的冷启动延迟

                    对于谷歌    Cloud Functions  的冷启动性能, 从图     4  的整体趋势来看, 不同编程语言的应用在谷歌               Cloud
                 Functions 上的冷启动延迟没有显著差异. 然而, 当内存设置为             128 MB  时, 产生的冷启动性能分布相对不稳定. 从
                 图  4  中  128 MB  的结果可以看出, Python  应用的冷启动延迟结果分布广泛. 表           6  中展示出其上下四分数范围从
   83   84   85   86   87   88   89   90   91   92   93