mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
docs: add cloud-specific database instance recommendations (#18862)
Enhances the Performance efficiency section in the validated architectures documentation with specific instance type recommendations for AWS, Azure, and GCP. **Changes:** - Added recommended instance types for small, medium, and large deployments across all three major cloud providers - Included guidance on avoiding burstable instances (t-family, B-series) for production workloads - Added note about CPU baseline limitations for burstable instances This addresses customer questions about appropriate database instance sizing. --------- Signed-off-by: Danny Kopping <dannykopping@gmail.com> Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com> Co-authored-by: dannykopping <373762+dannykopping@users.noreply.github.com> Co-authored-by: Danny Kopping <dannykopping@gmail.com>
This commit is contained in:
co-authored by
dannykopping
Danny Kopping
parent
de4a270316
commit
87e5365f79
@@ -313,6 +313,44 @@ considerations:
|
||||
active users.
|
||||
- Enable High Availability mode for database engine for large scale deployments.
|
||||
|
||||
#### Recommended instance types by cloud provider
|
||||
|
||||
For production deployments, we recommend using dedicated compute instances rather than burstable instances (like AWS t-family) which provide inconsistent CPU performance. Below are recommended instance types for each major cloud provider:
|
||||
|
||||
##### AWS (RDS/Aurora PostgreSQL)
|
||||
|
||||
- **Small deployments (<1000 users)**: `db.m6i.large` (2 vCPU, 8 GB RAM) or `db.r6i.large` (2 vCPU, 16 GB RAM)
|
||||
- **Medium deployments (1000-2000 users)**: `db.m6i.xlarge` (4 vCPU, 16 GB RAM) or `db.r6i.xlarge` (4 vCPU, 32 GB RAM)
|
||||
- **Large deployments (2000+ users)**: `db.m6i.2xlarge` (8 vCPU, 32 GB RAM) or `db.r6i.2xlarge` (8 vCPU, 64 GB RAM)
|
||||
|
||||
[Comparison](https://instances.vantage.sh/rds?memory_expr=%3E%3D0&vcpus_expr=%3E%3D0&memory_per_vcpu_expr=%3E%3D0&gpu_memory_expr=%3E%3D0&gpus_expr=%3E%3D0&maxips_expr=%3E%3D0&storage_expr=%3E%3D0&filter=db.r6i.large%7Cdb.m6i.large%7Cdb.m6i.xlarge%7Cdb.r6i.xlarge%7Cdb.r6i.2xlarge%7Cdb.m6i.2xlarge®ion=us-east-1&pricing_unit=instance&cost_duration=hourly&reserved_term=yrTerm1Standard.noUpfront&compare_on=true)
|
||||
|
||||
##### Azure (Azure Database for PostgreSQL)
|
||||
|
||||
- **Small deployments (<1000 users)**: `Standard_D2s_v5` (2 vCPU, 8 GB RAM) or `Standard_E2s_v5` (2 vCPU, 16 GB RAM)
|
||||
- **Medium deployments (1000-2000 users)**: `Standard_D4s_v5` (4 vCPU, 16 GB RAM) or `Standard_E4s_v5` (4 vCPU, 32 GB RAM)
|
||||
- **Large deployments (2000+ users)**: `Standard_D8s_v5` (8 vCPU, 32 GB RAM) or `Standard_E8s_v5` (8 vCPU, 64 GB RAM)
|
||||
|
||||
[Comparison](https://instances.vantage.sh/azure?memory_expr=%3E%3D0&vcpus_expr=%3E%3D0&memory_per_vcpu_expr=%3E%3D0&gpu_memory_expr=%3E%3D0&gpus_expr=%3E%3D0&maxips_expr=%3E%3D0&storage_expr=%3E%3D0&filter=d2s-v5%7Ce2s-v5%7Cd4s-v5%7Ce4s-v5%7Ce8s-v5%7Cd8s-v5®ion=us-east&pricing_unit=instance&cost_duration=hourly&reserved_term=yrTerm1Standard.allUpfront&compare_on=true)
|
||||
|
||||
##### Google Cloud (Cloud SQL for PostgreSQL)
|
||||
|
||||
- **Small deployments (<1000 users)**: `db-perf-optimized-N-2` (2 vCPU, 16 GB RAM)
|
||||
- **Medium deployments (1000-2000 users)**: `db-perf-optimized-N-4` (4 vCPU, 32 GB RAM)
|
||||
- **Large deployments (2000+ users)**: `db-perf-optimized-N-8` (8 vCPU, 64 GB RAM)
|
||||
|
||||
[Comparison](https://cloud.google.com/sql/docs/postgres/machine-series-overview#n2)
|
||||
|
||||
##### Storage recommendations
|
||||
|
||||
For optimal database performance, use the following storage types:
|
||||
|
||||
- **AWS RDS/Aurora**: Use `gp3` (General Purpose SSD) volumes with at least 3,000 IOPS for production workloads. For high-performance requirements, consider `io1` or `io2` volumes with provisioned IOPS.
|
||||
|
||||
- **Azure Database for PostgreSQL**: Use Premium SSD (P-series) with appropriate IOPS and throughput provisioning. Standard SSD can be used for development/test environments.
|
||||
|
||||
- **Google Cloud SQL**: Use SSD persistent disks for production workloads. Standard (HDD) persistent disks are suitable only for development or low-performance requirements.
|
||||
|
||||
If you enable
|
||||
[database encryption](../../../admin/security/database-encryption.md) in Coder,
|
||||
consider allocating an additional CPU core to every `coderd` replica.
|
||||
|
||||
Reference in New Issue
Block a user