-
Notifications
You must be signed in to change notification settings - Fork 185
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
Set mon_target_pg_per_osd to 200 in new clusters for better performance #3080
base: main
Are you sure you want to change the base?
Conversation
The mon_target_pg_per_osd parameter determines the recommended total PG count and PG-per-OSD ratio. The default value is 100, but for new clusters, setting it to 200 improves performance by increasing parallelism through a higher PG count. Since modifying this value on existing clusters can trigger data movement and rebalancing, the change is applied only during new cluster creation. Signed-off-by: Malay Kumar Parida <[email protected]>
Signed-off-by: Malay Kumar Parida <[email protected]>
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: malayparida2000 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/cc @BlaineEXE |
/retest |
/test ocs-operator-bundle-e2e-aws |
@BlaineEXE @travisn Can you please review the PR. |
@@ -66,6 +67,30 @@ func (obj *ocsCephConfig) ensureCreated(r *StorageClusterReconciler, sc *ocsv1.S | |||
Data: rookConfigOverrideData, | |||
} | |||
_, err := ctrl.CreateOrUpdate(context.Background(), r.Client, rookConfigOverrideCM, func() error { | |||
// mon_target_pg_per_osd=200 added only during new CM creation, as setting it on existing clusters can cause data movement. |
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.
To keep this simple, what if the new setting is only added to the defaultRookConfig
? It's not critical for upgraded clusters, right?
Alternatively, instead of using the configmap at all, this setting could be the first one that we add to the CephCluster spec under the CephConfig
setting. I'd suggest this for the preferred approach for all the ceph settings that don't need to be overridable by the user, and also are not settings that affect the mons at first cluster creation. This setting is just for the PG auto scaler, so it's fine to set later.
The mon_target_pg_per_osd parameter determines the recommended total PG count and PG-per-OSD ratio. The default value is 100, but for new clusters, setting it to 200 improves performance by increasing parallelism through a higher PG count. Since modifying this value on existing clusters can trigger data movement and rebalancing, the change is applied only during new cluster creation.
https://issues.redhat.com/browse/RHSTOR-7133