Skip to content

Commit c93d626

Browse files
committed
1 parent 3382c95 commit c93d626

File tree

22 files changed

+24
-24
lines changed

22 files changed

+24
-24
lines changed

content/en/blog/2023/how_to_debug_large_db_size_issue.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ draft: false
88
# Background
99
Users can configure the quota of the backend db size using flag `--quota-backend-bytes`. It's the max number of bytes
1010
the etcd db file may consume, namely the ${etcd-data-dir}/member/snap/db file. Its default value is 2GB, and the
11-
suggested max value is 8GB.
11+
suggested max value is 100GB.
1212

1313
2GB is usually sufficient for most use cases. If you run out of the db quota, you will see error message `etcdserver: mvcc: database space exceeded`
1414
when trying to write more data, and see alarm "NOSPACE" (see example below) when checking the endpoint status or health state. It would be better to figure out whether it's expected. It's exactly the reason why I provide this guide.
@@ -248,8 +248,8 @@ to do the similar analysis(see example below). Note that you can build the binar
248248
If the behavior (db size exceeds the quota) is expected, then you can set a bigger value for `--quota-backend-bytes`.
249249
You need to make sure your cloud provider supports this, otherwise the manual update might not survive across cluster
250250
upgrading or VM recreating. **Note that etcd (actually boltDB) maps the db file into memory directly, so a larger value
251-
also means more memory usage**. Just I mentioned in the beginning of this post, the suggested max value is 8GB. Of course,
252-
If your VM has big memory (e.g. 64GB), it's OK to set a value > 8GB.
251+
also means more memory usage**. Just I mentioned in the beginning of this post, the suggested max value is 100GB. Of course,
252+
If your VM has big memory (e.g. 64GB), it's OK to set a value > 100GB.
253253

254254
The other solution is to set per-resource etcd servers overrides using apiserver flag `--etcd-servers-overrides`.
255255
In the following example, there are two etcd clusters; one for the normal usage, and the other dedicated to events.

content/en/docs/v3.1/dev-guide/limit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ etcd is designed to handle small key value pairs typical for metadata. Larger re
88

99
## Storage size limit
1010

11-
The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag; supports up to 8GB.
11+
The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag; supports up to 100GB.
1212

content/en/docs/v3.1/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ title: Frequently Asked Questions (FAQ)
2020

2121
#### System requirements
2222

23-
Since etcd writes data to disk, SSD is highly recommended. To prevent performance degradation or unintentionally overloading the key-value store, etcd enforces a 2GB default storage size quota, configurable up to 8GB. To avoid swapping or running out of memory, the machine should have at least as much RAM to cover the quota. At CoreOS, an etcd cluster is usually deployed on dedicated CoreOS Container Linux machines with dual-core processors, 2GB of RAM, and 80GB of SSD *at the very least*. **Note that performance is intrinsically workload dependent; please test before production deployment**. See [hardware][hardware-setup] for more recommendations.
23+
Since etcd writes data to disk, SSD is highly recommended. To prevent performance degradation or unintentionally overloading the key-value store, etcd enforces a 2GB default storage size quota, configurable up to 100GB. To avoid swapping or running out of memory, the machine should have at least as much RAM to cover the quota. At CoreOS, an etcd cluster is usually deployed on dedicated CoreOS Container Linux machines with dual-core processors, 2GB of RAM, and 80GB of SSD *at the very least*. **Note that performance is intrinsically workload dependent; please test before production deployment**. See [hardware][hardware-setup] for more recommendations.
2424

2525
Most stable production environment is Linux operating system with amd64 architecture; see [supported platform][supported-platform] for more.
2626

content/en/docs/v3.1/op-guide/hardware.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Heavily loaded etcd deployments, serving thousands of clients or tens of thousan
1212

1313
## Memory
1414

15-
etcd has a relatively small memory footprint but its performance still depends on having enough memory. An etcd server will aggressively cache key-value data and spends most of the rest of its memory tracking watchers. Typically 8GB is enough. For heavy deployments with thousands of watchers and millions of keys, allocate 16GB to 64GB memory accordingly.
15+
etcd has a relatively small memory footprint but its performance still depends on having enough memory. An etcd server will aggressively cache key-value data and spends most of the rest of its memory tracking watchers. Typically 100GB is enough. For heavy deployments with thousands of watchers and millions of keys, allocate 16GB to 64GB memory accordingly.
1616

1717

1818
## Disks

content/en/docs/v3.2/dev-guide/limit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ etcd is designed to handle small key value pairs typical for metadata. Larger re
88

99
## Storage size limit
1010

11-
The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag; supports up to 8GB.
11+
The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag; supports up to 100GB.
1212

content/en/docs/v3.2/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ title: Frequently Asked Questions (FAQ)
2020

2121
#### System requirements
2222

23-
Since etcd writes data to disk, SSD is highly recommended. To prevent performance degradation or unintentionally overloading the key-value store, etcd enforces a 2GB default storage size quota, configurable up to 8GB. To avoid swapping or running out of memory, the machine should have at least as much RAM to cover the quota. At CoreOS, an etcd cluster is usually deployed on dedicated CoreOS Container Linux machines with dual-core processors, 2GB of RAM, and 80GB of SSD *at the very least*. **Note that performance is intrinsically workload dependent; please test before production deployment**. See [hardware][hardware-setup] for more recommendations.
23+
Since etcd writes data to disk, SSD is highly recommended. To prevent performance degradation or unintentionally overloading the key-value store, etcd enforces a 2GB default storage size quota, configurable up to 100GB. To avoid swapping or running out of memory, the machine should have at least as much RAM to cover the quota. At CoreOS, an etcd cluster is usually deployed on dedicated CoreOS Container Linux machines with dual-core processors, 2GB of RAM, and 80GB of SSD *at the very least*. **Note that performance is intrinsically workload dependent; please test before production deployment**. See [hardware][hardware-setup] for more recommendations.
2424

2525
Most stable production environment is Linux operating system with amd64 architecture; see [supported platform][supported-platform] for more.
2626

content/en/docs/v3.2/op-guide/hardware.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Heavily loaded etcd deployments, serving thousands of clients or tens of thousan
1212

1313
## Memory
1414

15-
etcd has a relatively small memory footprint but its performance still depends on having enough memory. An etcd server will aggressively cache key-value data and spends most of the rest of its memory tracking watchers. Typically 8GB is enough. For heavy deployments with thousands of watchers and millions of keys, allocate 16GB to 64GB memory accordingly.
15+
etcd has a relatively small memory footprint but its performance still depends on having enough memory. An etcd server will aggressively cache key-value data and spends most of the rest of its memory tracking watchers. Typically 100GB is enough. For heavy deployments with thousands of watchers and millions of keys, allocate 16GB to 64GB memory accordingly.
1616

1717

1818
## Disks

content/en/docs/v3.3/dev-guide/limit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ etcd is designed to handle small key value pairs typical for metadata. Larger re
88

99
## Storage size limit
1010

11-
The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag. 8GB is a suggested maximum size for normal environments and etcd warns at startup if the configured value exceeds it.
11+
The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag. 100GB is a suggested maximum size for normal environments and etcd warns at startup if the configured value exceeds it.

content/en/docs/v3.3/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ A member's advertised peer URLs come from `--initial-advertise-peer-urls` on ini
2424

2525
### System requirements
2626

27-
Since etcd writes data to disk, SSD is highly recommended. To prevent performance degradation or unintentionally overloading the key-value store, etcd enforces a configurable storage size quota set to 2GB by default. To avoid swapping or running out of memory, the machine should have at least as much RAM to cover the quota. 8GB is a suggested maximum size for normal environments and etcd warns at startup if the configured value exceeds it. At CoreOS, an etcd cluster is usually deployed on dedicated CoreOS Container Linux machines with dual-core processors, 2GB of RAM, and 80GB of SSD *at the very least*. **Note that performance is intrinsically workload dependent; please test before production deployment**. See [hardware][hardware-setup] for more recommendations.
27+
Since etcd writes data to disk, SSD is highly recommended. To prevent performance degradation or unintentionally overloading the key-value store, etcd enforces a configurable storage size quota set to 2GB by default. To avoid swapping or running out of memory, the machine should have at least as much RAM to cover the quota. 100GB is a suggested maximum size for normal environments and etcd warns at startup if the configured value exceeds it. At CoreOS, an etcd cluster is usually deployed on dedicated CoreOS Container Linux machines with dual-core processors, 2GB of RAM, and 80GB of SSD *at the very least*. **Note that performance is intrinsically workload dependent; please test before production deployment**. See [hardware][hardware-setup] for more recommendations.
2828

2929
Most stable production environment is Linux operating system with amd64 architecture; see [supported platform][supported-platform] for more.
3030

content/en/docs/v3.3/op-guide/hardware.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Heavily loaded etcd deployments, serving thousands of clients or tens of thousan
1212

1313
## Memory
1414

15-
etcd has a relatively small memory footprint but its performance still depends on having enough memory. An etcd server will aggressively cache key-value data and spends most of the rest of its memory tracking watchers. Typically 8GB is enough. For heavy deployments with thousands of watchers and millions of keys, allocate 16GB to 64GB memory accordingly.
15+
etcd has a relatively small memory footprint but its performance still depends on having enough memory. An etcd server will aggressively cache key-value data and spends most of the rest of its memory tracking watchers. Typically 100GB is enough. For heavy deployments with thousands of watchers and millions of keys, allocate 16GB to 64GB memory accordingly.
1616

1717

1818
## Disks

0 commit comments

Comments
 (0)