[DOC-14129]: Magma Compaction rate limiter documentation#4122
[DOC-14129]: Magma Compaction rate limiter documentation#4122RayOffiah wants to merge 6 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds REST API documentation for configuring Magma compaction rate limiting and exposes the page through the REST API navigation and memory/storage API index.
Changes:
- Added a new Magma Compaction Rate Limiting REST API page with settings, endpoints, and examples.
- Added the new page to the Memory and Storage API navigation.
- Added GET/POST endpoint entries to the memory and storage REST API table.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
modules/ROOT/nav.adoc |
Adds the new REST API page to the Memory and Storage API nav. |
modules/rest-api/partials/rest-memory-and-storage-table.adoc |
Lists the new Magma compaction rate limiting endpoint entries. |
modules/rest-api/pages/rest-magma-compaction-rate-limiting.adoc |
Documents the Magma compaction rate limiting settings and examples. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ggray-cb
left a comment
There was a problem hiding this comment.
Have one question/suggestion on adding info about when these limits should be enabled. Otherwise, looks good.
| Use these API calls to set the rate limit (in bytes per second). | ||
| This setting is a global rate limit for the Memcached process shared across buckets. | ||
| The strategy for this rate limiting is to set the block waiting time on the compaction threads to maintain the specified limits. | ||
|
|
There was a problem hiding this comment.
Is there any guidance we can give for customers as to when they should enable rate limiting? It seems off by default, so I assume they would only enable it if they wre seeing some sort of issue?
There was a problem hiding this comment.
That's a good point. I'll check with the devs.
700b8dd to
0dad8d7
Compare
Added page detailing REST call for magma compaction. Update menu navigation and index page. Signed-off-by: Ray Offiah <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Changes made following co-pilot review. Signed-off-by: Ray Offiah <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Changes made following co-pilot review.
0dad8d7 to
3fdb80e
Compare
|
@t3rm1n4l Could you help with when the users might want to use this setting, and when they shouldn't? |
|
I would recommend removing the magma_enable_compaction_dataonly_ratelimiting setting from documentation. It's confusing to the customer and it's an advanced setting that we are still testing. We can also remove the detailed description about compaction types. Some additional info and rephrase suggestions.. DescriptionUse these API calls to limit the disk I/O bandwidth (in bytes per second) that Magma Storage Engine Compaction may consume. The limit is global to the Data Service and shared across all buckets on the node Compaction is a background maintenance activity that reclaims space from stale and deleted data and keeps data files efficient to read. It operates on the same data files that front-end reads and writes use, so large bursts of compaction can consume enough disk I/O to slow front-end operations. Rate limiting smooths those bursts into a steady background rate, keeping front-end performance predictable — at the cost of slower compaction. When to use itRate limiting helps wherever compaction can surge and contend with front-end I/O, for example:
The trade-off is that compaction runs more slowly, so disk usage may stay higher for longer. Set the limit low enough to protect front-end write bursts, but high enough that compaction keeps pace with the write rate. Recommended valueA practical starting point is 100 MB/s ( |
|
@shivaniguptacb Please review |
Added page detailing REST call for Magma limit rate for compaction.
preview
Preview URL:
https://preview.docs-test.couchbase.com/docs-server-DOC-14129--8.1--Magma-Compaction-rate-limiter-documentation/server/current/rest-api/rest-magma-compaction-rate-limiting.html
You will need the Docs Team credentials on Confluence.