cache-bench è uno script Python che consente di valutare l'impatto delle impostazioni della memoria virtuale (vm.swappiness, vm.watermark_scale_factor, Multigenerational LRU Framework e altre) sulle prestazioni dell'esecuzione di attività che dipendono dalla memorizzazione nella cache delle operazioni di lettura dei file in condizioni di carenza di memoria. Il codice è aperto sotto licenza CC0.
Il metodo principale di utilizzo consiste nella lettura di file da una directory specificata in ordine casuale e nella loro aggiunta a un elenco, fino a quando non viene letta una certa quantità di mebibyte. Sono disponibili due modalità operative:
- La prima modalità, ausiliaria, serve per creare una directory di un determinato volume. In questa directory vengono creati un certo numero di file di mebibyte con nomi casuali.
- La seconda modalità, principale, è la modalità di lettura dei file da una directory specificata in ordine casuale. Durante la lettura aumenta il volume di memoria consumato dallo script, e la velocità di lettura di una determinata quantità di file dipende dal volume delle pagine di file memorizzate nella cache.
Una parte del progetto è anche lo script ausiliario drop-cache, che si consiglia di eseguire prima dell'inizio del test. Durante l'esecuzione dello script in modalità lettura, vengono visualizzati il tempo totale di esecuzione, la velocità media di lettura e il nome dell'ultima lettura effettuata. Lo script consente anche di registrare i risultati in un file con timestamp.
Fonte: opennet.ru
