cache-bench to skrypt w Pythonie, który umożliwia ocenę wpływu ustawień pamięci wirtualnej (vm.swappiness, vm.watermark_scale_factor, Multigenerational LRU Framework i inne) na wydajność wykonywania zadań, których realizacja zależy od buforowania operacji odczytu plików w warunkach niedoboru pamięci. Kod jest otwarty na licencji CC0.
Podstawowy sposób użycia — odczyt plików z określonego katalogu w losowej kolejności i dodawanie ich do listy, aż do odczytania określonej liczby mebibajtów. Dostępne są dwa tryby pracy:
- Pierwszy — pomocniczy — służy do tworzenia katalogu o określonej objętości. W tym celu w katalogu tworzona jest określona liczba plików o losowych nazwach o objętości mebibajtowej.
- Drugi tryb — główny — polega na odczycie plików z określonego katalogu w losowej kolejności. Podczas odczytu rośnie objętość pamięci wykorzystywanej przez skrypt, a szybkość odczytu określonej objętości plików zależy od objętości buforowanych stron plików.
Częścią projektu jest również skrypt pomocniczy drop-cache, który zaleca się uruchomić przed rozpoczęciem testu. W trakcie działania skryptu w trybie odczytu wyświetlane jest całkowity czas pracy, średnia szybkość odczytu oraz nazwa ostatnio odczytanego pliku. Skrypt umożliwia również logowanie wyników do pliku z oznaczeniami czasowymi.
Źródło: opennet.ru
