]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/pg_autoscaler: default to pg_num[_min] = 16 31636/head
authorSage Weil <sage@redhat.com>
Thu, 14 Nov 2019 15:37:44 +0000 (09:37 -0600)
committerSage Weil <sage@redhat.com>
Thu, 14 Nov 2019 19:37:44 +0000 (13:37 -0600)
4 or 8 PGs doesn't provide much parallelism at baseline.  Start with 16
and set the floor there; that's a more reasonable number of OSDs that
will be put to work on a single pool.

Note that there is no magic number here.  At some point someone has to
tell Ceph if an empty pool should get lots of PGs across lots of devices
to get the full throughput of the cluster.  But this will be a bit less
painful/surprising for users.

Fixes: https://tracker.ceph.com/issues/42509
Signed-off-by: Sage Weil <sage@redhat.com>
doc/rados/configuration/pool-pg-config-ref.rst
src/common/options.cc
src/pybind/mgr/pg_autoscaler/module.py

index bbfcd001a3885f3ec594b97a2d9578594c78d491..370e7044e22c4d854466275630d2b4f017e25322 100644 (file)
@@ -198,7 +198,7 @@ Ceph configuration file.
               value is the same as ``pg_num`` with ``mkpool``.
 
 :Type: 32-bit Integer
-:Default: ``8``
+:Default: ``16``
 
 
 ``osd pool default pgp num``
index 6381603083cae24d2f24aa263aa6659e186dcb7b..7f74714b1829db84e2ac859b1f46402bf301f0b0 100644 (file)
@@ -2550,7 +2550,7 @@ std::vector<Option> get_global_options() {
     .add_service("mon"),
 
     Option("osd_pool_default_pg_num", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
-    .set_default(8)
+    .set_default(16)
     .set_description("number of PGs for new pools")
     .set_flag(Option::FLAG_RUNTIME)
     .add_service("mon"),
index 345fc7e18606634e31e3f40033056cc30ea7b83d..3eb41db21251668e5ad0faadd88041cad454c82d 100644 (file)
@@ -24,7 +24,7 @@ Some terminology is made up for the purposes of this module:
 
 INTERVAL = 5
 
-PG_NUM_MIN = 4  # unless specified on a per-pool basis
+PG_NUM_MIN = 16  # unless specified on a per-pool basis
 
 def nearest_power_of_two(n):
     v = int(n)