From c3a0011c3d6e6c4845be51c9a2716a34ca8b75c3 Mon Sep 17 00:00:00 2001 From: Eric Date: Mon, 31 Jan 2022 10:07:48 -0500 Subject: [PATCH] Document Consul ECS resource usage Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com> Co-authored-by: Paul Glass --- .../content/docs/ecs/task-resource-usage.mdx | 37 +++++++++++++++++++ website/data/docs-nav-data.json | 4 ++ 2 files changed, 41 insertions(+) create mode 100644 website/content/docs/ecs/task-resource-usage.mdx diff --git a/website/content/docs/ecs/task-resource-usage.mdx b/website/content/docs/ecs/task-resource-usage.mdx new file mode 100644 index 0000000000..27a087ad4e --- /dev/null +++ b/website/content/docs/ecs/task-resource-usage.mdx @@ -0,0 +1,37 @@ +--- +layout: docs +page_title: Resource Usage - AWS ECS +description: >- + Resource usage of the Consul Service Mesh on AWS ECS (Elastic Container Service). +--- + +# Resource Usage + +We ran performance tests of Consul on ECS to determine the resource usage of +the sidecar containers Consul on ECS injects along with the ACL controller. +[The architecture page](/docs/ecs/architecture) describes each Consul on ECS +component in depth. + +We used the following procedure to measure resource usage: + +- Executed performance tests while deploying clusers of various sizes. We + ensured that deployment conditions stressed Consul on ESC components. +- After each performance test session, we recorded resource usage for each + component to determine worst-case scenario resource usage in a production + environment. +- We used Fargate's minimum allowed CPU (256 shares) and memory settings (512 + MB) on ECS during performance testing to demonstrate that Consul on ECS along + with application containers can run on the smallest ECS tasks. + +Here is the maximum resource usage we observed for each container: + +| Container | CPU | Memory | +| -------------- | --- | ------ | +| ACL Controller | 5% | 43 MB | +| Health Sync | 6% | 35 MB | +| Consul Client | 10% | 87 MB | +| Envoy | 18% | 55 MB | + +The containers added by Consul on ECS consume resources well below the minimum CPU and +memory limits for an ECS Task. Use the `memory` and `cpu` settings for the task definition +if additional resources are necessary for your application task. diff --git a/website/data/docs-nav-data.json b/website/data/docs-nav-data.json index 5138a99878..3cceac40ed 100644 --- a/website/data/docs-nav-data.json +++ b/website/data/docs-nav-data.json @@ -629,6 +629,10 @@ "title": "Requirements", "path": "ecs/requirements" }, + { + "title": "Task Resource Usage", + "path": "ecs/task-resource-usage" + }, { "title": "Install with Terraform", "routes": [