Loading
vfs_ceph_rgw: Add global parameters to control number of threads for librgw instance
vfs_ceph_rgw modules initialise a new instance of librgw for every new connection with client.
librgw internally makes use of pool of threads, this is controlled by ceph configuration parameter
"rgw_thread_pool_size" and this parameter has value 512 as its default.
This causes every fork of smbd client connection spawning 512+ threads. Therefore, putting stress on system in terms of resources,
resulting into server supporting few connected clients depending upon system resources.
Additionally, parameter "rgw_num_async_rados_threads" (default: 32 and max:32) is also added to bring this count even further down.
This MR addresses this problem by making these parameters tunable for librgw instance initiated by smbd processes.
Checklist
- Commits have
Signed-off-by:with name/author being identical to the commit author - (optional) This MR is just one part towards a larger feature.
- (optional, if backport required) Bugzilla bug filed and
BUG:tag added - Test suite updated with functionality tests
- Test suite updated with negative tests
- Documentation updated
- CI timeout is 3h or higher (see Settings/CICD/General pipelines/ Timeout)
Reviewer's checklist:
- There is a test suite reasonably covering new functionality or modifications
- Function naming, parameters, return values, types, etc., are consistent and according to
README.Coding.md - This feature/change has adequate documentation added
- No obvious mistakes in the code
Edited by Vinit Agnihotri