Dans la partie 2 de notre série d'articles, nous avons exploré comment développer et déployer une fonction Lambda pure (sans utiliser de framework comme Spring Boot 3) avec un runtime personnalisé contenant GraalVM Native Image avec le runtime GraalVM 21 et dans la partie 3, nous avons mesuré le performances (temps de démarrage à froid et à chaud) de la fonction Lambda avec 1024 Mo de mémoire en utilisant cette approche.
Dans cet article, nous mesurerons les démarrages à froid et à chaud du Lambda avec différents paramètres de mémoire entre 256 et 1 536 Mo pour explorer le compromis entre coût et performances.
Nous réutiliserons exactement la même expérience décrite dans la partie 3 de cette série d'articles mais avec des paramètres de mémoire différents entre 256 et 1536 Mo.
Voici les résultats de l'expérience :
Heure de démarrage à froid (c) et à chaud (m) en ms :
Memory setting | c p50 | c p75 | c p90 | c p99 | c p99.9 | c max | w p50 | w p75 | w p90 | w p99 | w p99.9 | w max |
---|---|---|---|---|---|---|---|---|---|---|---|---|
256 MB | 822.74 | 833.50 | 845.25 | 923.88 | 952.96 | 953.84 | 4.04 | 4.59 | 5.47 | 18.55 | 137.10 | 471.76 |
512 MB | 620.04 | 621.40 | 657.70 | 705.37 | 727.57 | 727.97 | 4.16 | 4.65 | 5.46 | 14.32 | 64.54 | 229.29 |
768 MB | 561.63 | 574.11 | 589.82 | 628.15 | 633.83 | 634.23 | 4.23 | 4.73 | 5.55 | 13.01 | 42.31 | 203.22 |
1024 MB | 525.77 | 532.12 | 542.32 | 632.56 | 635.73 | 636.11 | 4.16 | 4.69 | 5.46 | 12.30 | 37.25 | 211.83 |
1280 MB | 515.37 | 524.20 | 539.08 | 577.57 | 624.39 | 624.52 | 4.23 | 4.77 | 5.64 | 12.80 | 34.67 | 126.97 |
1536 MB | 504.16 | 516.40 | 528.93 | 548.86 | 628.15 | 628.31 | 4.26 | 4.73 | 5.55 | 12.70 | 44.03 | 105.46 |
Dans cet article, nous avons mesuré les démarrages à froid et à chaud de la fonction Lambda pure ayant un paramètre de mémoire compris entre 256 et 1 536 Mo à l'aide d'un runtime personnalisé contenant une image native GraalVM avec le runtime GraalVM 21.
Nous observons que les temps de démarrage à chaud sont très proches les uns des autres également pour le réglage d'une mémoire inférieure comme 256 ou 512 Mo et la différence est principalement visible pour les percentiles élevés (>= p90). Les temps de démarrage à froid sont assez élevés pour 256 et 512 Mo et à partir de 768 Mo ne diminuent que très légèrement en donnant à Lambda plus de mémoire sans aucune différence notable pour la mémoire supérieure à 1024 Mo. En fonction de vos exigences de performances, vous pouvez donner à Lambda moins de mémoire que 1 024 Mo comme nous l'avons initialement indiqué dans l'exemple d'application et obtenir un très bon compromis prix-performances avec 768 Mo ou même un peu moins de mémoire.
Au moment de la publication, des versions plus récentes sont également devenues disponibles (comme le runtime GraalVM 23), vous devez donc apporter les modifications de version et recompiler l'image native GraalVM en suivant les instructions de la partie 2 de la série et re-mesurer les performances. .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!