Linux.org.ru: Новости's Journal
 
[Most Recent Entries] [Calendar View]

Tuesday, June 1st, 2021

    Time Event
    4:01p
    Выпуск r-test v0.1.0 - инструмента для исследования эффективности кэширования файлов при нехватке памяти

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

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

    Имеет два режима работы. Первый - вспомогательный - служит для создания директории заданного объема. При этом в директории создается заданное число мебибайтных файлов со случайными именами.

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

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

    В процессе работы скрипта в режиме чтения выводится общее время работы, средняя скорость чтения, имя последнего считанного файла.

    Скрипт также позволяет логировать результаты в файл. Пример лога:

    2021-05-30 21:47:56,084: mkdir testdir1
    2021-05-30 21:47:56,211: written testdir1/0.9860985015646311; total size: 1M
    2021-05-30 21:47:56,289: written testdir1/0.0691916965192153; total size: 2M
    2021-05-30 21:47:56,377: written testdir1/0.27868153831296383; total size: 3M
    2021-05-30 21:47:56,455: written testdir1/0.7341114648416274; total size: 4M
    2021-05-30 21:47:56,533: written testdir1/0.5363495159203434; total size: 5M
    2021-05-30 21:47:56,533: OK
    2021-05-30 21:48:23,193: found 5 regular files in testdir1, total size: 5.0M
    2021-05-30 21:48:23,199: setting self oom_score_adj=1000
    2021-05-30 21:48:23,199: reading files from the directory testdir1
    2021-05-30 21:48:23,229: read 1.0M (20.0%) in 0.0s (avg 32.9M/s); file 0.7341114648416274
    2021-05-30 21:48:23,296: read 2.0M (40.0%) in 0.1s (avg 20.8M/s); file 0.0691916965192153
    2021-05-30 21:48:23,298: read 3.0M (60.0%) in 0.1s (avg 30.3M/s); file 0.0691916965192153
    2021-05-30 21:48:23,299: read 4.0M (80.0%) in 0.1s (avg 40.1M/s); file 0.7341114648416274
    2021-05-30 21:48:23,352: read 5.0M (100.0%) in 0.2s (avg 32.6M/s); file 0.27868153831296383
    2021-05-30 21:48:23,353: --
    2021-05-30 21:48:23,353: read 5.0M in 0.2s (avg 32.6M/s); src: 5 files, 5.0M
    2021-05-30 21:48:23,354: OK
    

     , ,

    7:32p

    << Previous Day 2021/06/01
    [Calendar]
    Next Day >>

Linux.org.ru: Новости   About LJ.Rossia.org