Choosing the correct number of PGs for each pool is one of the most important decisions when planning a Ceph cluster. A value that is too high or too low can severely affect performance. Too few PGs will result in uneven data distribution and excessive data movement during backfill/recovery. Too many PGs increase the overhead the cluster incurs when ensuring data availability, including memory usage by OSD daemons.
We can target the total number of placement groups for a pool using the following formula:
Put another way the ratio can be calculated: