08.12.2021

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

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

Основной способ использования — считывание файлов из указанной директории в случайном порядке и их добавление в список, пока не будет считано заданное число мебибайт. Доступно два режима работы:

  • Первый — вспомогательный — служит для создания директории заданного объёма. При этом в директории создаётся определённое число мебибайтных файлов со случайными именами.
  • Второй режим — основной — режим чтения файлов из указанной директории в случайном порядке. Во время чтения растёт объем потребляемой скриптом памяти, а скорость считывания заданного объёма файлов зависит от объёма кэшированных файловых страниц.

Частью проекта также является вспомогательных скрипт drop-cache, который рекомендуется выполнять перед началом теста. В процессе работы скрипта в режиме чтения выводится общее время работы, средняя скорость чтения, имя последнего считанного файла. Скрипт также позволяет логировать результаты в файл с отметками времени.

Источник.