2022-09-23 21:16:35 +00:00
|
|
|
"---
|
2022-01-31 15:07:48 +00:00
|
|
|
layout: docs
|
2022-09-23 21:16:35 +00:00
|
|
|
page_title: Resource Usage - Consul on AWS Elastic Container Service (ECS)
|
2022-01-31 15:07:48 +00:00
|
|
|
description: >-
|
2022-09-23 21:16:35 +00:00
|
|
|
Learn about the CPU and memory resources Consul uses while running on Amazon Web Services ECS, including performance test procedures and results.
|
2022-01-31 15:07:48 +00:00
|
|
|
---
|
|
|
|
|
2022-09-23 21:16:35 +00:00
|
|
|
# Resource Usage for Consul on AWS Elastic Container Service (ECS)
|
2022-01-31 15:07:48 +00:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
2022-05-10 14:28:33 +00:00
|
|
|
- Executed performance tests while deploying clusters of various sizes. We
|
2022-01-31 15:07:48 +00:00
|
|
|
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.
|