cxl-micron-reskit / famfs

This is the user space repo for famfs, the fabric-attached memory file system
Apache License 2.0
31 stars 9 forks source link

famfs/stress: Update fio stress test #42

Closed arramesh42 closed 5 months ago

arramesh42 commented 5 months ago

Updated the fio stress test to run based on a specified size and cpu count such that other stress tests can also be run in parallel on the same device/host. Now the test can control how much device capacity (size) and how many cpus(jobs) should be used for this test. It also creates a subdir(based on pid) for each fio test so that more than one fio test can be run and the files of each test are isolated from one another.

To run the stress test: Option 1: _make stress_tests_ <== runs fio test for 60 seconds on /dev/dax0.0

Option 2: (run "run_stress_tests.sh" )with below options

_sudo ./run_stresstests.sh -d /dev/dax0.0 -f /usr/local/Repos/Fio/fio/fio -r 300 -s 4000000000 -j 2

-d : (Optional) Specify the dax device, if not specified assumes /dev/dax0.0 is available. -f : (Optional) Specify the full path to fio binary, if not specified, assumes fio is available in system path -r : (Optional) Specify the runtime for fio to run, if not specified, runs for 60 secs -s: (Optional) Specify the size to use from device capacity, if not specified, uses full device capacity -j : (Optional) Specify the number of jobs(#cpus) to use, if not specified, uses "number_of_cpu_in_system -1" jobs

Option 3: (To run more than one instance of fio test)

Run _sudo ./scripts/stressprepare.sh -d /dev/dax0.0 <= this sets up the filesystem Run below tests in succession and logs are available in respective log files _sudo ./scripts/stress_fio.sh -d /dev/dax0.0 -r 300 -s 300000000 -j 8 | tee test1.log & sudo ./scripts/stressfio.sh -d /dev/dax0.0 -r 300 -s 400000000 -j 8 | tee test2.log &