Re: Raid 10 chunksize - Mailing list pgsql-performance

From Hannes Dorbath
Subject Re: Raid 10 chunksize
Date
Msg-id 49D5C69A.2020009@theendofthetunnel.de
Whole thread Raw
In response to Re: Raid 10 chunksize  (Ron Mayer <rm_pg@cheapcomplexdevices.com>)
List pgsql-performance
Ron Mayer wrote:
> Greg Smith wrote:
>> On Wed, 1 Apr 2009, Scott Carey wrote:
>>
>>> Write caching on SATA is totally fine.  There were some old ATA drives
>>> that when paried with some file systems or OS's would not be safe.  There are
>>> some combinations that have unsafe write barriers.  But there is a
>>> standard
>>> well supported ATA command to sync and only return after the data is on
>>> disk.  If you are running an OS that is anything recent at all, and any
>>> disks that are not really old, you're fine.
>> While I would like to believe this, I don't trust any claims in this
>> area that don't have matching tests that demonstrate things working as
>> expected.  And I've never seen this work.
>>
>> My laptop has a 7200 RPM drive, which means that if fsync is being
>> passed through to the disk correctly I can only fsync <120
>> times/second.  Here's what I get when I run sysbench on it, starting
>> with the default ext3 configuration:
>
> I believe it's ext3 who's cheating in this scenario.

I assume so too. Here the same test using XFS, first with barriers (XFS
default) and then without:

Linux 2.6.28-gentoo-r2 #1 SMP Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz
GenuineIntel GNU/Linux

/dev/sdb /data2 xfs rw,noatime,attr2,logbufs=8,logbsize=256k,noquota 0 0

# sysbench --test=fileio --file-fsync-freq=1 --file-num=1
--file-total-size=16384 --file-test-mode=rndwr run
sysbench 0.4.10:  multi-threaded system evaluation benchmark

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

Extra file open flags: 0
1 files, 16Kb each
16Kb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 1 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random write test
Threads started!
Done.

Operations performed:  0 Read, 10000 Write, 10000 Other = 20000 Total
Read 0b  Written 156.25Mb  Total transferred 156.25Mb  (463.9Kb/sec)
    28.99 Requests/sec executed

Test execution summary:
     total time:                          344.9013s
     total number of events:              10000
     total time taken by event execution: 0.1453
     per-request statistics:
          min:                                  0.01ms
          avg:                                  0.01ms
          max:                                  0.07ms
          approx.  95 percentile:               0.01ms

Threads fairness:
     events (avg/stddev):           10000.0000/0.00
     execution time (avg/stddev):   0.1453/0.00


And now without barriers:

/dev/sdb /data2 xfs
rw,noatime,attr2,nobarrier,logbufs=8,logbsize=256k,noquota 0 0

# sysbench --test=fileio --file-fsync-freq=1 --file-num=1
--file-total-size=16384 --file-test-mode=rndwr run
sysbench 0.4.10:  multi-threaded system evaluation benchmark

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

Extra file open flags: 0
1 files, 16Kb each
16Kb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 1 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random write test
Threads started!
Done.

Operations performed:  0 Read, 10000 Write, 10000 Other = 20000 Total
Read 0b  Written 156.25Mb  Total transferred 156.25Mb  (62.872Mb/sec)
  4023.81 Requests/sec executed

Test execution summary:
     total time:                          2.4852s
     total number of events:              10000
     total time taken by event execution: 0.1325
     per-request statistics:
          min:                                  0.01ms
          avg:                                  0.01ms
          max:                                  0.06ms
          approx.  95 percentile:               0.01ms

Threads fairness:
     events (avg/stddev):           10000.0000/0.00
     execution time (avg/stddev):   0.1325/0.00


--
Best regards,
Hannes Dorbath

pgsql-performance by date:

Previous
From: Ron Mayer
Date:
Subject: Re: Raid 10 chunksize
Next
From: Mark Kirkwood
Date:
Subject: Re: Raid 10 chunksize