[DragonFlyBSD - Bug #2288] Random IO performance loss introduced since January 1st

Jan Lentfer via Redmine bugtracker-admin at leaf.dragonflybsd.org
Tue Jan 24 05:02:54 PST 2012


Issue #2288 has been reported by Jan Lentfer.

----------------------------------------
Bug #2288: Random IO performance loss introduced since January 1st
http://bugs.dragonflybsd.org/issues/2288

Author: Jan Lentfer
Status: New
Priority: High
Assignee: 
Category: 
Target version: 


Running pgbench I found that performance had dropped by 13%. To figure out the reason I did some sysbench io tests (see below). All tests were run using the same test files, same hardware etc etc 3 times in a row. As the results were consistent I am only pasting the result of the last run of each set.

The cause for the performance loss must have been introduced some time between Jan 1st and Jan 23rd.

2.12:
atom# sysbench --test=fileio --file-num=8 --file-total-size=6G --file-test-mode=rndrd --max-requests=0 --max-time=300 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
8 files, 768Mb each
6Gb total file size
Block size 16Kb
Number of random requests for random IO: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random read test
Threads started!
Time limit exceeded, exiting...
Done.

Operations performed:  50389 Read, 0 Write, 0 Other = 50389 Total
Read 787.33Mb  Written 0b  Total transferred 787.33Mb  (2.6244Mb/sec)
  167.96 Requests/sec executed

Test execution summary:
    total time:                          300.0027s
    total number of events:              50389
    total time taken by event execution: 299.7273
    per-request statistics:
         min:                                  0.02ms
         avg:                                  5.95ms
         max:                                 77.80ms
         approx.  95 percentile:              12.05ms

Threads fairness:
    events (avg/stddev):           50389.0000/0.00
    execution time (avg/stddev):   299.7273/0.00


2.13 g47f97 (new year's eve):
atom# sysbench --test=fileio --file-num=8 --file-total-size=6G --file-test-mode=rndrd --max-requests=0 --max-time=300 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
8 files, 768Mb each
6Gb total file size
Block size 16Kb
Number of random requests for random IO: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random read test
Threads started!
Time limit exceeded, exiting...
Done.

Operations performed:  50037 Read, 0 Write, 0 Other = 50037 Total
Read 781.83Mb  Written 0b  Total transferred 781.83Mb  (2.6061Mb/sec)
  166.79 Requests/sec executed

Test execution summary:
    total time:                          300.0040s
    total number of events:              50037
    total time taken by event execution: 299.7070
    per-request statistics:
         min:                                  0.02ms
         avg:                                  5.99ms
         max:                                104.73ms
         approx.  95 percentile:              12.06ms

Threads fairness:
    events (avg/stddev):           50037.0000/0.00
    execution time (avg/stddev):   299.7070/0.00


2.13 (from Jan 23rd incl. the sili/ahci fix):
atom# sysbench --test=fileio --file-num=8 --file-total-size=6G --file-test-mode=rndrd --max-requests=0 --max-time=300 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
8 files, 768Mb each
6Gb total file size
Block size 16Kb
Number of random requests for random IO: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random read test
Threads started!
Time limit exceeded, exiting...
Done.

Operations performed:  39898 Read, 0 Write, 0 Other = 39898 Total
Read 623.41Mb  Written 0b  Total transferred 623.41Mb  (2.078Mb/sec)
  132.99 Requests/sec executed

Test execution summary:
    total time:                          300.0038s
    total number of events:              39898
    total time taken by event execution: 299.7377
    per-request statistics:
         min:                                  0.02ms
         avg:                                  7.51ms
         max:                                 61.00ms
         approx.  95 percentile:              12.27ms

Threads fairness:
    events (avg/stddev):           39898.0000/0.00
    execution time (avg/stddev):   299.7377/0.00


-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account





More information about the Bugs mailing list