-
Notifications
You must be signed in to change notification settings - Fork 45
Add NVMe and 16000 IOPS to requirements #1343
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
Conversation
📝 WalkthroughWalkthroughDocumentation updates in modules/deploy/partials/requirements.adoc and modules/deploy/partials/self-test.adoc add explicit production hardware requirements: NVMe drives and minimum 16,000 IOPS. Requirements reiterate storage constraints (including NFS unsupported for data/cache), add Kubernetes storage guidance, and adjust Kubernetes memory guidance to 2.22 GiB per core with a new explanation of partition-replica memory allocation parameters. The self-test doc adds a production IOPS threshold note. Some formatting updates and references to disk/network benchmarks and Kubernetes storage pages are included. No code or API changes. Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changes
Possibly related PRs
Suggested reviewers
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
✅ Deploy Preview for redpanda-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for redpanda-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (2)
modules/deploy/partials/requirements.adoc (1)
137-138
: Clarify scope: “NVMe required” is per broker node; tighten wording for SSDs.Explicitly state that the requirement is per broker node and prefer “NVMe SSDs” for precision. This avoids readers interpreting it as a cluster‑wide aggregate requirement or as optional NVMe interfaces on non-SSD media.
-- NVMe (Non-Volatile Memory Express) drives are required for production deployments. NVMe drives provide the high throughput and low latency needed for optimal Redpanda performance. +- NVMe (Non-Volatile Memory Express) SSDs are required for production deployments, per broker node. NVMe provides the high throughput and low latency needed for optimal Redpanda performance.modules/deploy/partials/self-test.adoc (1)
5-7
: Avoid “bandwidth test” wording and add “per broker node” qualifier for IOPS.The self-test section currently says “storage bandwidth test” while asking readers to validate IOPS. That can confuse readers because “bandwidth” and “IOPS” are distinct metrics. Recommend neutralizing to “storage test” (or the exact test name used by the tool) and explicitly stating “per broker node”.
-For more information, see xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks]. +For more information, see xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks]. -When using the storage bandwidth test, ensure that your results show at least 16,000 IOPS (Input/Output Operations Per Second) for production environments. If your test results are below this threshold, your storage may not be suitable for production Redpanda workloads. +When running the storage test, ensure that your results show at least 16,000 IOPS (Input/Output Operations Per Second) per broker node for production environments. If your test results are below this threshold, your storage may not be suitable for production Redpanda workloads. See xref:deploy:partials/requirements.adoc#_storage[Storage requirements] for details.Please also verify that the self-test output surfaces an IOPS value directly. If it reports only throughput (MB/s), add a brief note on how the tool exposes IOPS (or adjust the wording to the exact metric the tool reports).
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
modules/deploy/partials/requirements.adoc
(1 hunks)modules/deploy/partials/self-test.adoc
(1 hunks)
🔇 Additional comments (1)
modules/deploy/partials/requirements.adoc (1)
141-142
: Nice: Cross-reference to the self-test benchmarks is added.This addresses the earlier reviewer suggestion to add the “See also” link, creating a clear validation path for users.
- At least 16,000 IOPS (Input/Output Operations Per Second). | ||
+ | ||
See also: xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks]. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Make the IOPS threshold explicitly “per broker node” and align phrasing with self-test.
Calling out the unit of enforcement (“per broker node”) prevents misconfiguration when users size storage for multi-broker clusters. Also, reference the self-test here to drive a single source of truth for how to validate.
-- At least 16,000 IOPS (Input/Output Operations Per Second).
-+
-See also: xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks].
+- At least 16,000 IOPS (Input/Output Operations Per Second) per broker node.
++
+Validate your storage with the xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks].
Verification script to catch lingering inconsistencies elsewhere (for example, pages that still call NVMe “recommended” or omit the 16,000 IOPS figure):
🏁 Script executed:
#!/bin/bash
# Find potentially outdated NVMe phrasing
rg -n -C2 -iP 'nvme.*recommend|recommend.*nvme|nvme recommended'
# Find IOPS thresholds and confirm consistency with 16,000
rg -n -C2 -iP '\b(?:16,?000)\b.*iops|iops.*\b(?:16,?000)\b'
# Scan for any allowance of NFS on data or Tiered Storage cache
rg -n -C2 -iP 'nfs.*(supported|support)'
Length of output: 5152
Clarify IOPS and NVMe requirements across documentation
The storage requirements should explicitly reference “per broker node” for IOPS and align all NVMe phrasing with the production requirement. Please update the following:
• In modules/deploy/partials/requirements.adoc (lines 139–142):
- At least 16,000 IOPS (Input/Output Operations Per Second).
- See also: xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks].
+ At least 16,000 IOPS (Input/Output Operations Per Second) per broker node.
+
+ Validate your storage with the xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks].
• In Kubernetes guides, change “Local NVMe disks, which is recommended for best performance” to reflect that NVMe is required for production:
– modules/deploy/pages/redpanda/kubernetes/gke-guide.adoc (line 37)
– modules/deploy/pages/redpanda/kubernetes/aks-guide.adoc (line 38)
– modules/deploy/pages/redpanda/kubernetes/eks-guide.adoc (line 254)
These edits ensure a single source of truth for storage sizing and drive home the requirement for NVMe and per-node IOPS thresholds.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
- At least 16,000 IOPS (Input/Output Operations Per Second). | |
+ | |
See also: xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks]. | |
At least 16,000 IOPS (Input/Output Operations Per Second) per broker node. | |
Validate your storage with the xref:manage:cluster-maintenance/cluster-diagnostics.adoc#self-test[Disk and network self-test benchmarks]. |
🤖 Prompt for AI Agents
In modules/deploy/partials/requirements.adoc around lines 139–142, clarify that
the IOPS requirement is "at least 16,000 IOPS per broker node" and update the
sentence to reference per-node IOPS and link to the existing cluster diagnostics
self-test; additionally, in the Kubernetes guides update the phrasing to state
that Local NVMe disks are "required for production" (not just recommended) in
these files and lines: modules/deploy/pages/redpanda/kubernetes/gke-guide.adoc
(line 37), modules/deploy/pages/redpanda/kubernetes/aks-guide.adoc (line 38),
and modules/deploy/pages/redpanda/kubernetes/eks-guide.adoc (line 254), ensuring
wording is consistent across docs and aligns with production requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Description
Resolves https://redpandadata.atlassian.net/browse/DOC-330
Resolves https://redpandadata.atlassian.net/browse/DOC-1147
Page previews
Checks