Bug #2288

Random IO performance loss introduced since January 1st

Added by lentferj over 2 years ago. Updated over 1 year ago.

Status:FeedbackStart date:01/24/2012
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

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

History

#1 Updated by lentferj over 2 years ago

  • Status changed from New to Feedback
  • Priority changed from High to Low

I tried to reproduce it and although I am still sure my initial testing was done correct I can't. I will put this on a hold for now, because of lack of time.
I will try to return to it later

#2 Updated by tuxillo over 1 year ago

  • Priority changed from Low to Normal

Jan,

Do you think we can have this checked again? Didn't you run this tests automatically?

Cheers,
Antonio Huete

Also available in: Atom PDF