07.07.2022

Выпуск cache-bench 0.2.0 для исследования эффективности кэширования файлов

Спустя 7 месяцев после предыдущего релиза вышел cache-bench 0.2.0. Cache-bench — это Python скрипт, позволяющий оценить влияние настроек виртуальной памяти (vm.swappiness, vm.watermark_scale_factor, Multigenerational LRU Framework и прочих) на производительность задач, выполнение которых зависит от кэширования файловых операций чтения, особенно в условиях нехватки памяти. Код открыт под лицензией CC0.

Код скрипта в версии 0.2.0 почти полностью переписан. Теперь вместо чтения файлов из указанной директории (в новой версии опция -d удалена) производится чтение из одного файла фрагментами указанного размера в случайном порядке.

Добавлены опции:

  • —file — путь к файлу, из которого будет производиться чтение.
  • —chunk — размер фрагмента в кибибайтах, по умолчанию 64.
  • —mmap — читать из memory-mapped файлового объекта вместо чтения из файлового дескриптора.
  • —preread — перед началом теста предварительно прочитать (кэшировать) указанный файл путем последовательного чтения фрагментами размером 1 MiB.
  • —bloat — добавлять считываемые фрагменты в список с целью увеличения потребления памяти процессом и создания в дальнейшем нехватки памяти.
  • —interval — интервал вывода (логирования) результатов в секундах.

Источник.