This is an automated email from the ASF dual-hosted git repository.

style95 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwhisk.git


The following commit(s) were added to refs/heads/master by this push:
     new 1fbfd6bcb Add a documentation for warmed containers configurations. 
(#5282)
1fbfd6bcb is described below

commit 1fbfd6bcb3d65845a328382641c1db7182763ced
Author: Dominic Kim <[email protected]>
AuthorDate: Fri Jul 15 14:31:47 2022 +0900

    Add a documentation for warmed containers configurations. (#5282)
---
 docs/warmed-containers.md | 52 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/docs/warmed-containers.md b/docs/warmed-containers.md
new file mode 100644
index 000000000..d70e7e046
--- /dev/null
+++ b/docs/warmed-containers.md
@@ -0,0 +1,52 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+# Warmed Containers
+
+Warmed containers can improve their performance by skipping the container 
initialization step.
+It may be beneficial to configure the number of warmed containers to keep, and 
the duration to keep them according to the characteristics of workloads.
+
+## Configuration
+
+The configurations are only effective with the FPC scheduler.
+They can be configured using the limit configurations for each namespace.
+
+```scala
+case class UserLimits(invocationsPerMinute: Option[Int] = None,
+                      concurrentInvocations: Option[Int] = None,
+                      firesPerMinute: Option[Int] = None,
+                      allowedKinds: Option[Set[String]] = None,
+                      storeActivations: Option[Boolean] = None,
+                      warmedContainerKeepingCount: Option[Int] = None,
+                      warmedContainerKeepingTimeout: Option[String] = None)
+```
+
+So those can be configured in the same way that operators configure the 
`invocationPerMinute` limit.
+
+```json
+{
+  "_id": "guest/limits",
+  "invocationPerMinutes": 10,
+  "warmedContainerKeepingCount": 8,
+  "warmedContainerKeepingTimeout": "24 hours"
+}
+```
+
+The namespace-specific configurations would override the default, system-wide 
configurations.
+In the above example, the system will keep 8 warmed containers for 24 hours 
even if there is no activation at all.

Reply via email to