diff --git a/scripts/data.py b/scripts/data.py
index 2725a26..c666250 100644
--- a/scripts/data.py
+++ b/scripts/data.py
@@ -70,7 +70,7 @@
 
                 if meta['sync']:
                     meta['sync'] = 's'
-                elif meta['direct_io']:
+                elif meta['direct']:
                     meta['sync'] = 'd'
                 else:
                     meta['sync'] = 'a'
@@ -78,7 +78,7 @@
                 meta['fsize'] = kb_to_ssize(meta['size'] * meta['concurence'])
                 key = ("{action} {sync} {blocksize}k " +
                        "{concurence} {fsize}").format(**meta)
-                results.setdefault(key, []).append(val['bw_mean'])
+                results.setdefault(key, []).append(val['bw'])
 
                 cmeta = results_meta.setdefault(key, {})
                 cmeta.setdefault('times', []).append(get_test_time(prev_block))
diff --git a/scripts/data2.py b/scripts/data2.py
index 4a8dad9..1ba3b58 100644
--- a/scripts/data2.py
+++ b/scripts/data2.py
@@ -31,11 +31,11 @@
 
     for (bs, cache_tp, act, conc), curr_data in sorted(grouped.items()):
         iops = med_dev([i['iops'] * int(conc) for i in curr_data])
-        bw_mean = med_dev([i['bw_mean'] * int(conc) for i in curr_data])
+        bw = med_dev([i['bw'] * int(conc) for i in curr_data])
         lat = med_dev([i['lat'] / 1000 for i in curr_data])
 
         iops = round_deviation(iops)
-        bw_mean = round_deviation(bw_mean)
+        bw = round_deviation(bw)
         lat = round_deviation(lat)
 
         params = dict(
@@ -43,7 +43,7 @@
             action=act,
             cache_tp=cache_tp,
             iops=iops,
-            bw=bw_mean,
+            bw=bw,
             lat=lat,
             conc=conc
         )
diff --git a/scripts/fio_tests_configs/io_task.cfg b/scripts/fio_tests_configs/io_task.cfg
index cc3d07d..b2f73c8 100644
--- a/scripts/fio_tests_configs/io_task.cfg
+++ b/scripts/fio_tests_configs/io_task.cfg
@@ -1,10 +1,24 @@
-[writetest]
-blocksize=4k
-filename=/tmp/xxx.bin
-rw=randwrite
-direct=1
+[defaults]
+wait_for_previous
+group_reporting
+time_based
 buffered=0
-ioengine=libaio
 iodepth=1
-size=1Gb
-runtime=5
+
+filename={FILENAME}
+NUM_ROUNDS=1
+
+ramp_time=5
+size=10Gb
+runtime=30
+
+# ---------------------------------------------------------------------
+# check different thread count, direct read mode. (latency, iops) = func(th_count)
+# also check iops for randread
+# ---------------------------------------------------------------------
+[hdd_test_{TEST_SUMM} * {NUM_ROUNDS}]
+blocksize=4k
+rw=randwrite
+sync=1
+numjobs=80
+
diff --git a/scripts/fio_tests_configs/io_task_test.cfg b/scripts/fio_tests_configs/io_task_test.cfg
index 682fbd1..4d68493 100644
--- a/scripts/fio_tests_configs/io_task_test.cfg
+++ b/scripts/fio_tests_configs/io_task_test.cfg
@@ -1,23 +1,24 @@
 [defaults]
 group_reporting
 wait_for_previous
-ramp_time=15
+ramp_time=0
 filename={FILENAME}
 buffered=0
 iodepth=1
 size=1000Mb
 time_based
+RUNTIME=10
 
-[writetest * {ROUNDS}]
+[writetest * {NUM_ROUNDS}]
 blocksize=4k
 rw=randwrite
 direct=1
-runtime=30
+runtime={RUNTIME}
 numjobs=1
 
-[readtest * {ROUNDS}]
+[readtest * {NUM_ROUNDS}]
 numjobs=4
 blocksize=4k
 rw=randread
 direct=1
-runtime=30
+runtime={RUNTIME}
diff --git a/scripts/postprocessing/io_py_result_processor.py b/scripts/postprocessing/io_py_result_processor.py
index befe4eb..0b7bf1c 100644
--- a/scripts/postprocessing/io_py_result_processor.py
+++ b/scripts/postprocessing/io_py_result_processor.py
@@ -177,11 +177,11 @@
 
     # for (bs, cache_tp, act, conc), curr_data in sorted(grouped.items()):
     #     iops = med_dev([i['iops'] * int(conc) for i in curr_data])
-    #     bw_mean = med_dev([i['bw_mean'] * int(conc) for i in curr_data])
+    #     bw = med_dev([i['bw'] * int(conc) for i in curr_data])
     #     lat = med_dev([i['lat'] / 1000 for i in curr_data])
 
     #     iops = round_deviation(iops)
-    #     bw_mean = round_deviation(bw_mean)
+    #     bw = round_deviation(bw)
     #     lat = round_deviation(lat)
 
     #     params = dict(
@@ -189,7 +189,7 @@
     #         action=act,
     #         cache_tp=cache_tp,
     #         iops=iops,
-    #         bw=bw_mean,
+    #         bw=bw,
     #         lat=lat,
     #         conc=conc
     #     )
diff --git a/scripts/postprocessing/stat.py b/scripts/postprocessing/stat.py
index c1368e8..39b9d99 100644
--- a/scripts/postprocessing/stat.py
+++ b/scripts/postprocessing/stat.py
@@ -9,7 +9,7 @@
 
 import io_py_result_processor as io_test
 
-key_pos = {'blocksize': 0, 'direct_io': 1, 'name': 2}
+key_pos = {'blocksize': 0, 'direct': 1, 'name': 2}
 actions = ['randwrite', 'randread', 'read', 'write']
 types = ['s', 'd']
 colors = ['red', 'green', 'blue', 'cyan',
