testing: use max-jobs to speed up testing
authorVincent Fu <vincent.fu@wdc.com>
Mon, 18 May 2020 18:14:12 +0000 (14:14 -0400)
committerVincent Fu <vincent.fu@wdc.com>
Wed, 20 May 2020 17:47:56 +0000 (13:47 -0400)
Allocating fio's default memory footprint takes a few moments. Following
https://www.spinics.net/lists/fio/msg08529.html, use the max-jobs option
to reduce fio's memory footprint. This reduces the runtime of the full
test suite by about 40s.

Signed-off-by: Vincent Fu <vincent.fu@wdc.com>
t/jsonplus2csv_test.py
t/latency_percentiles.py
t/readonly.py
t/run-fio-tests.py
t/steadystate_tests.py
t/strided.py

index 34084b14704c2dedba0ed0eec284ed7a92256a26..f01a9f322c55e8df9732b7c8ebcbb5dd92d4a028 100755 (executable)
@@ -53,6 +53,7 @@ def run_fio(fio):
         aio = 'posixaio'
 
     fio_args = [
+        "--max-jobs=4",
         "--output=fio-output.json",
         "--output-format=json+",
         "--filename=fio_jsonplus_clat2csv.test",
@@ -88,6 +89,7 @@ def check_output(fio_output, script_path):
     """
 
     if fio_output.returncode != 0:
+        print("ERROR: fio run failed")
         return False
 
     if platform.system() == 'Windows':
index 972e2642dfa10d02ac84732ddb328dbc70d866ab..6ce4579ace36a8160a1c224ebb95a372c070276e 100755 (executable)
@@ -109,6 +109,7 @@ class FioLatTest():
         """Run a test."""
 
         fio_args = [
+            "--max-jobs=16",
             "--name=latency",
             "--randrepeat=0",
             "--norandommap",
index 43686c9c3d9ef0cd5341309030152fca184d979e..464847c6034d4474b1974174c9dd9d8453c1a200 100755 (executable)
@@ -36,6 +36,7 @@ def parse_args():
 
 def run_fio(fio, test, index):
     fio_args = [
+                "--max-jobs=16",
                 "--name=readonly",
                 "--ioengine=null",
                 "--time_based",
index c12dee7a61df35439e82cda27a4dd7b5e86ef4b1..763e01031473e58877cfa49c7d5cc45718c9d79b 100755 (executable)
@@ -226,6 +226,7 @@ class FioJobTest(FioExeTest):
         self.json_data = None
         self.fio_output = "{0}.output".format(os.path.basename(self.fio_job))
         self.fio_args = [
+            "--max-jobs=16",
             "--output-format={0}".format(self.output_format),
             "--output={0}".format(self.fio_output),
             self.fio_job,
index b55a67ac1cccdd23f6981670947785e6511dbbb5..e99b655c1fc4d82d2555a80ee15e81cd38206bf6 100755 (executable)
@@ -122,7 +122,7 @@ if __name__ == '__main__':
     for job in reads:
 
         tf = "steadystate_job{0}.json".format(jobnum)
-        parameters = [ "--name=job{0}".format(jobnum) ]
+        parameters = [ "--max-jobs=16", "--name=job{0}".format(jobnum) ]
         parameters.extend([ "--thread",
                             "--output-format=json",
                             "--output={0}".format(tf),
index aac15d10ac1f6c8b40f07d14acd06cdbab17d7f6..6d34be8a16fc60a4c84bacc9f88920e245cf95f4 100755 (executable)
@@ -52,6 +52,7 @@ def parse_args():
 def run_fio(fio, test, index):
     filename = "strided"
     fio_args = [
+                "--max-jobs=16",
                 "--name=strided",
                 "--zonemode=strided",
                 "--log_offset=1",