Bluestore cache parameter precedence
Hello list, As stated in this document: https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/ there are multiple parameters defining cache limits for BlueStore. You have bluestore_cache_size (presumably controlling the cache size), bluestore_cache_size_hdd (presumably doing the same for HDD storage only) and bluestore_cache_size_ssd (presumably being the equivalent for SSD). My question is, does bluestore_cache_size override the disk-specific parameters, or do I need to set the disk-specific (or, rather, storage type specific ones separately if I want to keep them to a certain value. Thanks in advance. Boris.
Hi Boris, general settings (unless they are set to zero) override disk-specific settings . I.e. bluestore_cache_size overrides both bluestore_cache_size_hdd and bluestore_cache_size_ssd. Here is the code snippet in case you know C++ if (cct->_conf->bluestore_cache_size) { cache_size = cct->_conf->bluestore_cache_size; } else { // choose global cache size based on backend type if (_use_rotational_settings()) { cache_size = cct->_conf->bluestore_cache_size_hdd; } else { cache_size = cct->_conf->bluestore_cache_size_ssd; } } Thanks, Igor On 2/4/2020 2:14 PM, Boris Epstein wrote:
Hello list,
As stated in this document:
https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/
there are multiple parameters defining cache limits for BlueStore. You have bluestore_cache_size (presumably controlling the cache size), bluestore_cache_size_hdd (presumably doing the same for HDD storage only) and bluestore_cache_size_ssd (presumably being the equivalent for SSD). My question is, does bluestore_cache_size override the disk-specific parameters, or do I need to set the disk-specific (or, rather, storage type specific ones separately if I want to keep them to a certain value.
Thanks in advance.
Boris. _______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
Hi Igor, Thanks! I think the code needs to be corrected - the choice criteria for which setting to use when cct->_conf->bluestore_cache_size == 0 should be as follows: 1) See what kind of storage you have. 2) Select type-appropriate storage. Is this code public-editable? I'll be happy to correct that. Regards, Boris. On Tue, Feb 4, 2020 at 12:10 PM Igor Fedotov <ifedotov@suse.de> wrote:
Hi Boris,
general settings (unless they are set to zero) override disk-specific settings .
I.e. bluestore_cache_size overrides both bluestore_cache_size_hdd and bluestore_cache_size_ssd.
Here is the code snippet in case you know C++
if (cct->_conf->bluestore_cache_size) { cache_size = cct->_conf->bluestore_cache_size; } else { // choose global cache size based on backend type if (_use_rotational_settings()) { cache_size = cct->_conf->bluestore_cache_size_hdd; } else { cache_size = cct->_conf->bluestore_cache_size_ssd; } }
Thanks,
Igor
On 2/4/2020 2:14 PM, Boris Epstein wrote:
Hello list,
As stated in this document:
https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/
there are multiple parameters defining cache limits for BlueStore. You
have
bluestore_cache_size (presumably controlling the cache size), bluestore_cache_size_hdd (presumably doing the same for HDD storage only) and bluestore_cache_size_ssd (presumably being the equivalent for SSD). My question is, does bluestore_cache_size override the disk-specific parameters, or do I need to set the disk-specific (or, rather, storage type specific ones separately if I want to keep them to a certain value.
Thanks in advance.
Boris. _______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
Hi Boris, not sure I understand why do you think it needs correction. IMO _use_rotational_settings() function does what you're suggesting plus it has some additional logic to be able to enforce specific device type. The latter is intended primarily for testing/debugging and enabled via 'bluestore_debug_enforce_settings' configuration setting. Thanks, Igot On 2/4/2020 8:29 PM, Boris Epstein wrote:
Hi Igor,
Thanks!
I think the code needs to be corrected - the choice criteria for which setting to use when
cct->_conf->bluestore_cache_size == 0
should be as follows:
1) See what kind of storage you have.
2) Select type-appropriate storage.
Is this code public-editable? I'll be happy to correct that.
Regards,
Boris.
On Tue, Feb 4, 2020 at 12:10 PM Igor Fedotov <ifedotov@suse.de <mailto:ifedotov@suse.de>> wrote:
Hi Boris,
general settings (unless they are set to zero) override disk-specific settings .
I.e. bluestore_cache_size overrides both bluestore_cache_size_hdd and bluestore_cache_size_ssd.
Here is the code snippet in case you know C++
if (cct->_conf->bluestore_cache_size) { cache_size = cct->_conf->bluestore_cache_size; } else { // choose global cache size based on backend type if (_use_rotational_settings()) { cache_size = cct->_conf->bluestore_cache_size_hdd; } else { cache_size = cct->_conf->bluestore_cache_size_ssd; } }
Thanks,
Igor
On 2/4/2020 2:14 PM, Boris Epstein wrote: > Hello list, > > As stated in this document: > > https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/ > > there are multiple parameters defining cache limits for BlueStore. You have > bluestore_cache_size (presumably controlling the cache size), > bluestore_cache_size_hdd (presumably doing the same for HDD storage only) > and bluestore_cache_size_ssd (presumably being the equivalent for SSD). My > question is, does bluestore_cache_size override the disk-specific > parameters, or do I need to set the disk-specific (or, rather, storage type > specific ones separately if I want to keep them to a certain value. > > Thanks in advance. > > Boris. > _______________________________________________ > ceph-users mailing list -- ceph-users@ceph.io <mailto:ceph-users@ceph.io> > To unsubscribe send an email to ceph-users-leave@ceph.io <mailto:ceph-users-leave@ceph.io>
Igor, You are exactly right - it is my fault, I have failed to read the code correctly. Cheers, Boris.
participants (3)
-
borepstein@gmail.com
-
Boris Epstein
-
Igor Fedotov