I believe the question was in regards to which formula to use. There are two different formulas here [1] and here [2].
The difference being the additional steps used to calculate the appropriate PG counts for a pool. In Nautilus though, this mostly moot as the mgr service now has a module to automatically scale PG's. It would be great to see how this could be back ported to Mimic or Luminous though. 😉 [1] https://ceph.com/pgcalc_assets/pgcalc.html (this one is used by the PGCalc javascript) [2] https://ceph.com/pgcalc/ ________________________________ From: ceph-users <ceph-users-boun...@lists.ceph.com> on behalf of David Turner <drakonst...@gmail.com> Sent: Thursday, February 28, 2019 10:34 PM To: Krishna Venkata Cc: ceph-users Subject: Re: [ceph-users] PG Calculations Issue Those numbers look right for a pool only containing 10% of your data. Now continue to calculate the pg counts for the remaining 90% of your data. On Wed, Feb 27, 2019, 12:17 PM Krishna Venkata <kvenkata...@gmail.com<mailto:kvenkata...@gmail.com>> wrote: Greetings, I am having issues in the way PGs are calculated in https://ceph.com/pgcalc/ [Ceph PGs per Pool Calculator ] and the formulae mentioned in the site. Below are my findings The formula to calculate PGs as mentioned in the https://ceph.com/pgcalc/ : 1. Need to pick the highest value from either of the formulas (( Target PGs per OSD ) x ( OSD # ) x ( %Data ))/(size) Or ( OSD# ) / ( Size ) 2. The output value is then rounded to the nearest power of 2 1. If the nearest power of 2 is more than 25% below the original value, the next higher power of 2 is used. Based on the above procedure, we calculated PGs for 25, 32 and 64 OSDs Our Dataset: %Data: 0.10 Target PGs per OSD: 100 OSDs 25, 32 and 64 For 25 OSDs (100*25* (0.10/100))/(3) = 0.833 ( 25 ) / ( 3 ) = 8.33 1. Raw pg num 8.33 ( Since we need to pick the highest of (0.833, 8.33)) 2. max pg 16 ( For, 8.33 the nearest power of 2 is 16) 3. 16 > 2.08 ( 25 % of 8.33 is 2.08 which is more than 25% the power of 2) So 16 PGs • GUI Calculator gives the same value and matches with Formula. For 32 OSD (100*32*(0.10/100))/3 = 1.066 ( 32 ) / ( 3 ) = 10.66 1. Raw pg num 10.66 ( Since we need to pick the highest of (1.066, 10.66)) 2. max pg 16 ( For, 10.66 the nearest power of 2 is 16) 3. 16 > 2.655 ( 25 % of 10.66 is 2.655 which is more than 25% the power of 2) So 16 PGs • GUI Calculator gives different value (32 PGs) which doesn’t match with Formula. For 64 OSD (100 * 64 * (0.10/100))/3 = 2.133 ( 64 ) / ( 3 ) 21.33 1. Raw pg num 21.33 ( Since we need to pick the highest of (2.133, 21.33)) 2. max pg 32 ( For, 21.33 the nearest power of 2 is 32) 3. 32 > 5.3325 ( 25 % of 21.33 is 5.3325 which is more than 25% the power of 2) So 32 PGs • GUI Calculator gives different value (64 PGs) which doesn’t match with Formula. We checked the PG calculator logic from [ https://ceph.com/pgcalc_assets/pgcalc.js ] which is not matching from above formulae. Can someone Guide/reference us to correct formulae to calculate PGs. Thanks in advance. Regards, Krishna Venkata _______________________________________________ ceph-users mailing list ceph-users@lists.ceph.com<mailto:ceph-users@lists.ceph.com> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
_______________________________________________ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com