-
Notifications
You must be signed in to change notification settings - Fork 9.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
possible Issues(?) bumping etcd 8 GB upper limit (or not!) #15354
Comments
I think i am trying to convince myself that it's ok to bump |
Thanks @dims for raising this topic. We need performance/benchmark data to support the decision. I may spend some time to optimize boltDB in the next couple of weeks/months. FYI etcd-io/bbolt#401. I am struggling to downloading the huge boltDB file (about 100GiB) from google drive for now. |
I did some benchmark test on 16GB boltDB files, and the performance looks pretty good. So the bbolt isn't a blocker for bumping The only concern is snapshot transport and restoring from the snapshot at a slow follower. We don't have such data yet. |
Note the 8GB MaxQuotaBytes isn't a hard limitation. Users can still set a value bigger than 8GB to |
/close |
thx @dims for the confirmation. |
Anyone aware of recent benchmarks with spinning disks vs SSDs? Also, dgraph-io/badger#1668 - an option for write-heavy operations. However if the bottleneck is snapshot/restore, not sure it would help. |
What would you like to be added?
Last night i took a dive in the 8/10 GB limits in etcd to see why we recommend what we recommend
First order of business was current state:
MaxQuotaBytes
(8GB) atetcd/server/storage/quota.go
Line 33 in 822eeaf
initialMmapSize
(10GB)etcd/server/storage/backend/backend.go
Line 42 in 822eeaf
bopts.InitialMmapSize
etcd/server/storage/backend/backend.go
Line 178 in 822eeaf
Configurable from command line:
quota-backend-bytes
https://github.com/search?q=repo%3Aetcd-io%2Fetcd%20QuotaBackendBytes&type=code and https://github.com/etcd-io/etcd/pull/4901/filesThen saw the following being logged:
"quota-maximum-size-bytes"
: https://github.com/search?q=repo%3Aetcd-io%2Fetcd%20MaxQuotaBytes&type=code"quota-size-bytes"
: https://github.com/search?q=repo%3Aetcd-io%2Fetcd%20QuotaBackendBytes&type=codeIssues:
Also a couple of discussions:
interesting tidbit from google groups discussion
here's where we added 10% head room:
Interesting tidbit from ^^^ is
Mechanism for permitting mmaps > 10GB.
There are a few references to things > 10 GB, example:
--quota-backend-bytes 17179869184
)quota-backend-bytes=17179869184
)Our won @ahrtr says
If your VM has big memory (e.g. 64GB), it’s OK to set a value > 8GB.
in https://etcd.io/blog/2023/how_to_debug_large_db_size_issue/the TL;DR is that back in December 2016, we took the
MTTR
as a guide given the the then status of hardware to come up with a self-imposed limits for the different values we then cargo culted into hard limits. Also the lower limit of 2GB was to support 32bit architectures for windows and arm.Is this right? Anything else i am missing?
The text was updated successfully, but these errors were encountered: