Document cached_read_{data,meta,journal} parameters
parent
98d5849190
commit
8c4a11b51c
|
@ -213,4 +213,5 @@ have enough RAM for the default 4 KB csum_block_size.
|
||||||
Option 3 is recommended for SSD+HDD setups (because metadata SSDs will handle
|
Option 3 is recommended for SSD+HDD setups (because metadata SSDs will handle
|
||||||
extra reads without any performance drop) and also *maybe* for NVMe all-flash
|
extra reads without any performance drop) and also *maybe* for NVMe all-flash
|
||||||
setups when you don't have enough RAM (because NVMe drives have plenty
|
setups when you don't have enough RAM (because NVMe drives have plenty
|
||||||
of read iops to spare).
|
of read iops to spare). You may also consider enabling
|
||||||
|
[cached_read_meta](osd.en.md#cached_read_meta) in this case.
|
||||||
|
|
|
@ -232,3 +232,5 @@ csum_block_size данных.
|
||||||
без снижения производительности. Также вариант 3 *может* рекомендоваться
|
без снижения производительности. Также вариант 3 *может* рекомендоваться
|
||||||
для All-Flash кластеров на основе NVMe-дисков, когда памяти НЕ достаточно,
|
для All-Flash кластеров на основе NVMe-дисков, когда памяти НЕ достаточно,
|
||||||
потому что NVMe-диски имеют огромный запас производительности по чтению.
|
потому что NVMe-диски имеют огромный запас производительности по чтению.
|
||||||
|
В таких случаях, возможно, также имеет смысл включать параметр
|
||||||
|
[cached_read_meta](osd.ru.md#cached_read_meta).
|
||||||
|
|
|
@ -31,6 +31,9 @@ them, even without restarting by updating configuration in etcd.
|
||||||
- [max_flusher_count](#max_flusher_count)
|
- [max_flusher_count](#max_flusher_count)
|
||||||
- [inmemory_metadata](#inmemory_metadata)
|
- [inmemory_metadata](#inmemory_metadata)
|
||||||
- [inmemory_journal](#inmemory_journal)
|
- [inmemory_journal](#inmemory_journal)
|
||||||
|
- [cached_read_data](#cached_read_data)
|
||||||
|
- [cached_read_meta](#cached_read_meta)
|
||||||
|
- [cached_read_journal](#cached_read_journal)
|
||||||
- [journal_sector_buffer_count](#journal_sector_buffer_count)
|
- [journal_sector_buffer_count](#journal_sector_buffer_count)
|
||||||
- [journal_no_same_sector_overwrites](#journal_no_same_sector_overwrites)
|
- [journal_no_same_sector_overwrites](#journal_no_same_sector_overwrites)
|
||||||
- [throttle_small_writes](#throttle_small_writes)
|
- [throttle_small_writes](#throttle_small_writes)
|
||||||
|
@ -255,6 +258,46 @@ is typically very small because it's sufficient to have 16-32 MB journal
|
||||||
for SSD OSDs. However, in theory it's possible that you'll want to turn it
|
for SSD OSDs. However, in theory it's possible that you'll want to turn it
|
||||||
off for hybrid (HDD+SSD) OSDs with large journals on quick devices.
|
off for hybrid (HDD+SSD) OSDs with large journals on quick devices.
|
||||||
|
|
||||||
|
## cached_read_data
|
||||||
|
|
||||||
|
- Type: boolean
|
||||||
|
- Default: false
|
||||||
|
|
||||||
|
Read data through Linux page cache, i.e. use a file descriptor opened without
|
||||||
|
O_DIRECT for data reads. May improve read performance for frequently accessed
|
||||||
|
data if it fits in RAM. Memory in page cache is shared by all processes and
|
||||||
|
not accounted in OSD memory consumption.
|
||||||
|
|
||||||
|
## cached_read_meta
|
||||||
|
|
||||||
|
- Type: boolean
|
||||||
|
- Default: false
|
||||||
|
|
||||||
|
Read metadata through Linux page cache. May be beneficial when checksums
|
||||||
|
are enabled and [inmemory_metadata](#inmemory_metadata) is disabled, because
|
||||||
|
in this case metadata blocks are read from disk to verify checksums on every
|
||||||
|
read request and caching them may reduce this extra read load.
|
||||||
|
|
||||||
|
Absolutely pointless to enable with enabled inmemory_metadata because all
|
||||||
|
metadata is kept in memory anyway, and likely pointless without checksums,
|
||||||
|
because in that case, metadata blocks are read from disk only during journal
|
||||||
|
flushing.
|
||||||
|
|
||||||
|
If the same device is used for data and metadata, enabling [cached_read_data](#cached_read_data)
|
||||||
|
also enables this parameter, given that it isn't turned off explicitly.
|
||||||
|
|
||||||
|
## cached_read_journal
|
||||||
|
|
||||||
|
- Type: boolean
|
||||||
|
- Default: false
|
||||||
|
|
||||||
|
Read buffered data from journal through Linux page cache. Does not have sense
|
||||||
|
without disabling [inmemory_journal](#inmemory_journal), which, again, is
|
||||||
|
enabled by default.
|
||||||
|
|
||||||
|
If the same device is used for metadata and journal, enabling [cached_read_meta](#cached_read_meta)
|
||||||
|
also enables this parameter, given that it isn't turned off explicitly.
|
||||||
|
|
||||||
## journal_sector_buffer_count
|
## journal_sector_buffer_count
|
||||||
|
|
||||||
- Type: integer
|
- Type: integer
|
||||||
|
|
|
@ -32,6 +32,9 @@
|
||||||
- [max_flusher_count](#max_flusher_count)
|
- [max_flusher_count](#max_flusher_count)
|
||||||
- [inmemory_metadata](#inmemory_metadata)
|
- [inmemory_metadata](#inmemory_metadata)
|
||||||
- [inmemory_journal](#inmemory_journal)
|
- [inmemory_journal](#inmemory_journal)
|
||||||
|
- [cached_read_data](#cached_read_data)
|
||||||
|
- [cached_read_meta](#cached_read_meta)
|
||||||
|
- [cached_read_journal](#cached_read_journal)
|
||||||
- [journal_sector_buffer_count](#journal_sector_buffer_count)
|
- [journal_sector_buffer_count](#journal_sector_buffer_count)
|
||||||
- [journal_no_same_sector_overwrites](#journal_no_same_sector_overwrites)
|
- [journal_no_same_sector_overwrites](#journal_no_same_sector_overwrites)
|
||||||
- [throttle_small_writes](#throttle_small_writes)
|
- [throttle_small_writes](#throttle_small_writes)
|
||||||
|
@ -263,6 +266,51 @@ Flusher - это микро-поток (корутина), которая коп
|
||||||
параметра может оказаться полезным для гибридных OSD (HDD+SSD) с большими
|
параметра может оказаться полезным для гибридных OSD (HDD+SSD) с большими
|
||||||
журналами, расположенными на быстром по сравнению с HDD устройстве.
|
журналами, расположенными на быстром по сравнению с HDD устройстве.
|
||||||
|
|
||||||
|
## cached_read_data
|
||||||
|
|
||||||
|
- Тип: булево (да/нет)
|
||||||
|
- Значение по умолчанию: false
|
||||||
|
|
||||||
|
Читать данные через системный кэш Linux (page cache), то есть, использовать
|
||||||
|
для чтения данных файловый дескриптор, открытый без флага O_DIRECT. Может
|
||||||
|
улучшить производительность чтения для часто используемых данных, если они
|
||||||
|
помещаются в память. Память кэша разделяется между всеми процессами в
|
||||||
|
системе и не учитывается в потреблении памяти процессом OSD.
|
||||||
|
|
||||||
|
## cached_read_meta
|
||||||
|
|
||||||
|
- Тип: булево (да/нет)
|
||||||
|
- Значение по умолчанию: false
|
||||||
|
|
||||||
|
Читать метаданные через системный кэш Linux. Может быть полезно, когда
|
||||||
|
включены контрольные суммы, а параметр [inmemory_metadata](#inmemory_metadata)
|
||||||
|
отключён, так как в этом случае блоки метаданных читаются с диска при каждом
|
||||||
|
запросе чтения для проверки контрольных сумм и их кэширование может снизить
|
||||||
|
дополнительную нагрузку на диск.
|
||||||
|
|
||||||
|
Абсолютно бессмысленно включать данный параметр, если параметр
|
||||||
|
inmemory_metadata включён (по умолчанию это так), и также вероятно
|
||||||
|
бессмысленно включать его, если не включены контрольные суммы, так как в
|
||||||
|
этом случае блоки метаданных читаются с диска только во время сброса
|
||||||
|
журнала.
|
||||||
|
|
||||||
|
Если одно и то же устройство используется для данных и метаданных, включение
|
||||||
|
[cached_read_data](#cached_read_data) также включает данный параметр, при
|
||||||
|
условии, что он не отключён явным образом.
|
||||||
|
|
||||||
|
## cached_read_journal
|
||||||
|
|
||||||
|
- Тип: булево (да/нет)
|
||||||
|
- Значение по умолчанию: false
|
||||||
|
|
||||||
|
Читать буферизованные в журнале данные через системный кэш Linux. Не имеет
|
||||||
|
смысла без отключения параметра [inmemory_journal](#inmemory_journal),
|
||||||
|
который, опять же, по умолчанию включён.
|
||||||
|
|
||||||
|
Если одно и то же устройство используется для метаданных и журнала,
|
||||||
|
включение [cached_read_meta](#cached_read_meta) также включает данный
|
||||||
|
параметр, при условии, что он не отключён явным образом.
|
||||||
|
|
||||||
## journal_sector_buffer_count
|
## journal_sector_buffer_count
|
||||||
|
|
||||||
- Тип: целое число
|
- Тип: целое число
|
||||||
|
|
|
@ -244,7 +244,8 @@
|
||||||
Option 3 is recommended for SSD+HDD setups (because metadata SSDs will handle
|
Option 3 is recommended for SSD+HDD setups (because metadata SSDs will handle
|
||||||
extra reads without any performance drop) and also *maybe* for NVMe all-flash
|
extra reads without any performance drop) and also *maybe* for NVMe all-flash
|
||||||
setups when you don't have enough RAM (because NVMe drives have plenty
|
setups when you don't have enough RAM (because NVMe drives have plenty
|
||||||
of read iops to spare).
|
of read iops to spare). You may also consider enabling
|
||||||
|
[cached_read_meta](osd.en.md#cached_read_meta) in this case.
|
||||||
info_ru: |
|
info_ru: |
|
||||||
Размер блока расчёта контрольных сумм.
|
Размер блока расчёта контрольных сумм.
|
||||||
|
|
||||||
|
@ -275,3 +276,5 @@
|
||||||
без снижения производительности. Также вариант 3 *может* рекомендоваться
|
без снижения производительности. Также вариант 3 *может* рекомендоваться
|
||||||
для All-Flash кластеров на основе NVMe-дисков, когда памяти НЕ достаточно,
|
для All-Flash кластеров на основе NVMe-дисков, когда памяти НЕ достаточно,
|
||||||
потому что NVMe-диски имеют огромный запас производительности по чтению.
|
потому что NVMe-диски имеют огромный запас производительности по чтению.
|
||||||
|
В таких случаях, возможно, также имеет смысл включать параметр
|
||||||
|
[cached_read_meta](osd.ru.md#cached_read_meta).
|
||||||
|
|
|
@ -260,6 +260,70 @@
|
||||||
достаточно 16- или 32-мегабайтного журнала. Однако в теории отключение
|
достаточно 16- или 32-мегабайтного журнала. Однако в теории отключение
|
||||||
параметра может оказаться полезным для гибридных OSD (HDD+SSD) с большими
|
параметра может оказаться полезным для гибридных OSD (HDD+SSD) с большими
|
||||||
журналами, расположенными на быстром по сравнению с HDD устройстве.
|
журналами, расположенными на быстром по сравнению с HDD устройстве.
|
||||||
|
- name: cached_read_data
|
||||||
|
type: bool
|
||||||
|
default: false
|
||||||
|
info: |
|
||||||
|
Read data through Linux page cache, i.e. use a file descriptor opened without
|
||||||
|
O_DIRECT for data reads. May improve read performance for frequently accessed
|
||||||
|
data if it fits in RAM. Memory in page cache is shared by all processes and
|
||||||
|
not accounted in OSD memory consumption.
|
||||||
|
info_ru: |
|
||||||
|
Читать данные через системный кэш Linux (page cache), то есть, использовать
|
||||||
|
для чтения данных файловый дескриптор, открытый без флага O_DIRECT. Может
|
||||||
|
улучшить производительность чтения для часто используемых данных, если они
|
||||||
|
помещаются в память. Память кэша разделяется между всеми процессами в
|
||||||
|
системе и не учитывается в потреблении памяти процессом OSD.
|
||||||
|
- name: cached_read_meta
|
||||||
|
type: bool
|
||||||
|
default: false
|
||||||
|
info: |
|
||||||
|
Read metadata through Linux page cache. May be beneficial when checksums
|
||||||
|
are enabled and [inmemory_metadata](#inmemory_metadata) is disabled, because
|
||||||
|
in this case metadata blocks are read from disk to verify checksums on every
|
||||||
|
read request and caching them may reduce this extra read load.
|
||||||
|
|
||||||
|
Absolutely pointless to enable with enabled inmemory_metadata because all
|
||||||
|
metadata is kept in memory anyway, and likely pointless without checksums,
|
||||||
|
because in that case, metadata blocks are read from disk only during journal
|
||||||
|
flushing.
|
||||||
|
|
||||||
|
If the same device is used for data and metadata, enabling [cached_read_data](#cached_read_data)
|
||||||
|
also enables this parameter, given that it isn't turned off explicitly.
|
||||||
|
info_ru: |
|
||||||
|
Читать метаданные через системный кэш Linux. Может быть полезно, когда
|
||||||
|
включены контрольные суммы, а параметр [inmemory_metadata](#inmemory_metadata)
|
||||||
|
отключён, так как в этом случае блоки метаданных читаются с диска при каждом
|
||||||
|
запросе чтения для проверки контрольных сумм и их кэширование может снизить
|
||||||
|
дополнительную нагрузку на диск.
|
||||||
|
|
||||||
|
Абсолютно бессмысленно включать данный параметр, если параметр
|
||||||
|
inmemory_metadata включён (по умолчанию это так), и также вероятно
|
||||||
|
бессмысленно включать его, если не включены контрольные суммы, так как в
|
||||||
|
этом случае блоки метаданных читаются с диска только во время сброса
|
||||||
|
журнала.
|
||||||
|
|
||||||
|
Если одно и то же устройство используется для данных и метаданных, включение
|
||||||
|
[cached_read_data](#cached_read_data) также включает данный параметр, при
|
||||||
|
условии, что он не отключён явным образом.
|
||||||
|
- name: cached_read_journal
|
||||||
|
type: bool
|
||||||
|
default: false
|
||||||
|
info: |
|
||||||
|
Read buffered data from journal through Linux page cache. Does not have sense
|
||||||
|
without disabling [inmemory_journal](#inmemory_journal), which, again, is
|
||||||
|
enabled by default.
|
||||||
|
|
||||||
|
If the same device is used for metadata and journal, enabling [cached_read_meta](#cached_read_meta)
|
||||||
|
also enables this parameter, given that it isn't turned off explicitly.
|
||||||
|
info_ru: |
|
||||||
|
Читать буферизованные в журнале данные через системный кэш Linux. Не имеет
|
||||||
|
смысла без отключения параметра [inmemory_journal](#inmemory_journal),
|
||||||
|
который, опять же, по умолчанию включён.
|
||||||
|
|
||||||
|
Если одно и то же устройство используется для метаданных и журнала,
|
||||||
|
включение [cached_read_meta](#cached_read_meta) также включает данный
|
||||||
|
параметр, при условии, что он не отключён явным образом.
|
||||||
- name: journal_sector_buffer_count
|
- name: journal_sector_buffer_count
|
||||||
type: int
|
type: int
|
||||||
default: 32
|
default: 32
|
||||||
|
|
Loading…
Reference in New Issue