From a7fa91aebdeec6d4276fcb7d7b9a544c6431f2c0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Laimis=20Juzeli=C5=ABnas?= Date: Fri, 25 Apr 2025 13:08:38 +0300 Subject: [PATCH] doc/radosgw/compression: separate RGW and RADOS pool level compression Add notes indicating a difference between compressions done by RGW and on RADOS pool level for better understanding. Signed-off-by: Laimis Juzeliunas Co-authored-by: Anthony D'Atri --- doc/rados/operations/pools.rst | 6 ++++++ doc/radosgw/compression.rst | 11 ++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/rados/operations/pools.rst b/doc/rados/operations/pools.rst index 8686dddf63519..b84008b77f566 100644 --- a/doc/rados/operations/pools.rst +++ b/doc/rados/operations/pools.rst @@ -399,6 +399,12 @@ You may set values for the following keys: :Description: Sets the maximum size for chunks: that is, chunks larger than this are broken into smaller blobs no larger than this size before compression is performed. :Type: Unsigned Integer +.. note:: Compressed pool statistics are visible using ``ceph df detail``. + Objects within compressed pools will show their original uncompressed + sizes via most API calls or CLI commands. For example: RGW buckets + placed directly in a compressed RADOS pool with no RGW level compression + will report uncompressed bucket sizes via ``radosgw-admin``. + .. _size: .. describe:: size diff --git a/doc/radosgw/compression.rst b/doc/radosgw/compression.rst index 429dde91c73dd..cf778cc762b7d 100644 --- a/doc/radosgw/compression.rst +++ b/doc/radosgw/compression.rst @@ -5,7 +5,6 @@ Compression .. versionadded:: Kraken The Ceph Object Gateway supports server-side compression of uploaded objects. -using any of the existing compression plugins. .. note:: The Reef release added a :ref:`feature_compress_encrypted` zonegroup feature to enable compression with `Server-Side Encryption`_. @@ -17,6 +16,16 @@ Supported compression plugins include the following: * zlib * zstd +.. note:: Ceph Object Gateway compression is performed by RGW daemons only + for RGW objects, and is distinct from BlueStore compression that is performed + by OSDs at pool granularity. It is typical to only enable one or the other. + Enabling at both levels does not cause a problem, but one should make the decision + based on the use case. If your cluster only serves object storage and the nodes + where RGW runs have more available CPU than OSD nodes, RGW level compression may be appealing. + Compressing at the OSD level does mean compressing the same user data more + than once since it is post-replication, but in a cluster with far more OSDs + than RGWs this strategy may result in better performance. + Configuration ============= -- 2.39.5