You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README-ADVANCED.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,13 +51,15 @@ There are three main costs associated with AWS Lambda Power Tuning:
51
51
52
52
The AWS Step Functions state machine is composed of five Lambda functions:
53
53
54
-
***initializer**: create N versions and aliases corresponding to the power values provided as input (e.g. 128MB, 256MB, etc.)
55
-
***executor**: execute the given Lambda function `num` times, extract execution time from logs, and compute average cost per invocation
56
-
***cleaner**: delete all the previously generated aliases and versions
57
-
***analyzer**: compute the optimal power value (current logic: lowest average cost per invocation)
58
-
***optimizer**: automatically set the power to its optimal value (only if `autoOptimize` is `true`)
59
-
60
-
Initializer, cleaner, analyzer, and optimizer are executed only once, while the executor is used by N parallel branches of the state machine - one for each configured power value. By default, the executor will execute the given Lambda function `num` consecutive times, but you can enable parallel invocation by setting `parallelInvocation` to `true`.
54
+
***Initializer**: define all the versions and aliases that need to be created (see Publisher below)
55
+
***Publisher**: create a new version and aliases corresponding to one of the power values provided as input (e.g. 128MB, 256MB, etc.)
56
+
***IsCountReached**: go back to Publisher until all the versiona and aliases have been created
57
+
***Executor**: execute the given Lambda function `num` times, extract execution time from logs, and compute average cost per invocation
58
+
***Cleaner**: delete all the previously generated aliases and versions
59
+
***Analyzer**: compute the optimal power value (current logic: lowest average cost per invocation)
60
+
***Optimizer**: automatically set the power to its optimal value (only if `autoOptimize` is `true`)
61
+
62
+
Initializer, Cleaner, Analyzer, and Optimizer are invoked only once, while the Publisher and Executor are invoked multiple times. Publisher is used in a loop to create all the required versions and aliases, which depend on the values of `num`, `powerValues`, and `onlyColdStarts`. Executor is used by N parallel branches - one for each configured power value. By default, the Executor will invike the given Lambda function `num` consecutive times, but you can enable parallel invocation by setting `parallelInvocation` to `true`.
0 commit comments