mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
fstests: add fio perf results support
This patch does the nuts and bolts of grabbing fio results and storing them in a database in order to check against for future runs. This works by storing the results in resuts/fio-results.db as a sqlite database. The src/perf directory has all the supporting python code for parsing the fio json results, storing it in the database, and loading previous results from the database to compare with the current results. This also adds a PERF_CONFIGNAME option that must be set for this to work. Since we all have various ways we run fstests it doesn't make sense to compare different configurations with each other (unless specifically desired). The PERF_CONFIGNAME will allow us to separate out results for different test run configurations to make sure we're comparing results correctly. Currently we only check against the last perf result. In the future I will flesh this out to compare against the average of N number of runs to be a little more complete, and hopefully that will allow us to also watch latencies as well. [eguan: add required Makefile updates] Signed-off-by: Josef Bacik <jbacik@fb.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
@@ -8,13 +8,13 @@ _______________________
|
||||
sudo apt-get install xfslibs-dev uuid-dev libtool-bin \
|
||||
e2fsprogs automake gcc libuuid1 quota attr libattr1-dev make \
|
||||
libacl1-dev libaio-dev xfsprogs libgdbm-dev gawk fio dbench \
|
||||
uuid-runtime
|
||||
uuid-runtime python sqlite3
|
||||
For Fedora, RHEL, or CentOS:
|
||||
yum install acl attr automake bc dbench dump e2fsprogs fio \
|
||||
gawk gcc indent libtool lvm2 make psmisc quota sed \
|
||||
xfsdump xfsprogs \
|
||||
libacl-devel libattr-devel libaio-devel libuuid-devel \
|
||||
xfsprogs-devel btrfs-progs-devel
|
||||
xfsprogs-devel btrfs-progs-devel python sqlite
|
||||
(Older distributions may require xfsprogs-qa-devel as well.)
|
||||
(Note that for RHEL and CentOS, you may need the EPEL repo.)
|
||||
- run make
|
||||
@@ -93,6 +93,12 @@ Preparing system for tests:
|
||||
It is no longer necessary to set TEST_XFS_SCRUB.
|
||||
- setenv LOGWRITES_DEV to a block device to use for power fail
|
||||
testing.
|
||||
- setenv PERF_CONFIGNAME to a arbitrary string to be used for
|
||||
identifying the test setup for running perf tests. This should
|
||||
be different for each type of performance test you wish to run so
|
||||
that relevant results are compared. For example 'spinningrust'
|
||||
for configurations that use spinning disks and 'nvme' for tests
|
||||
using nvme drives.
|
||||
|
||||
- or add a case to the switch in common/config assigning
|
||||
these variables based on the hostname of your test
|
||||
|
||||
Reference in New Issue
Block a user