Re: Filesystem benchmarking for pg 8.3.3 server - Mailing list pgsql-performance

From david@lang.hm
Subject Re: Filesystem benchmarking for pg 8.3.3 server
Date
Msg-id alpine.DEB.1.10.0808081917080.4561@asgard.lang.hm
Whole thread Raw
In response to Re: Filesystem benchmarking for pg 8.3.3 server  (Henrik <henke@mac.se>)
Responses Re: Filesystem benchmarking for pg 8.3.3 server
List pgsql-performance
On Fri, 8 Aug 2008, Henrik wrote:

> But random writes should be faster on a RAID10 as it doesn't need to
> calculate parity. That is why people suggest RAID 10 for datases, correct?
>
> I can understand that RAID5 can be faster with sequential writes.

the key word here is "can" be faster, it depends on the exact
implementation, stripe size, OS caching, etc.

the ideal situation would be that the OS would flush exactly one stripe of
data at a time (aligned with the array) and no reads would need to be
done, mearly calculate the parity info for the new data and write it all.

the worst case is when the write size is small in relation to the stripe
size and crosses the stripe boundry. In that case the system needs to read
data from multiple stripes to calculate the new parity and write the
data and parity data.

I don't know any systems (software or hardware) that meet the ideal
situation today.

when comparing software and hardware raid, one other thing to remember is
that CPU and I/O bandwidth that's used for software raid is not available
to do other things.

so a system that benchmarks much faster with software raid could end up
being significantly slower in practice if it needs that CPU and I/O
bandwidth for other purposes.

examples could be needing the CPU/memory capacity to search through
amounts of RAM once the data is retrieved from disk, or finding that you
have enough network I/O that it combines with your disk I/O to saturate
your system busses.

David Lang


> //Henke
>
> 8 aug 2008 kl. 16.53 skrev Luke Lonergan:
>
>> Your expected write speed on a 4 drive RAID10 is two drives worth, probably
>> 160 MB/s, depending on the generation of drives.
>>
>> The expect write speed for a 6 drive RAID5 is 5 drives worth, or about 400
>> MB/s, sans the RAID5 parity overhead.
>>
>> - Luke
>>
>> ----- Original Message -----
>> From: pgsql-performance-owner@postgresql.org
>> <pgsql-performance-owner@postgresql.org>
>> To: pgsql-performance@postgresql.org <pgsql-performance@postgresql.org>
>> Sent: Fri Aug 08 10:23:55 2008
>> Subject: [PERFORM] Filesystem benchmarking for pg 8.3.3 server
>>
>> Hello list,
>>
>> I have a server with a direct attached storage containing 4 15k SAS
>> drives and 6 standard SATA drives.
>> The server is a quad core xeon with 16GB ram.
>> Both server and DAS has dual PERC/6E raid controllers with 512 MB BBU
>>
>> There is 2 raid set configured.
>> One RAID 10 containing 4 SAS disks
>> One RAID 5 containing 6 SATA disks
>>
>> There is one partition per RAID set with ext2 filesystem.
>>
>> I ran the following iozone test which I stole from Joshua Drake's test
>> at
>>
http://www.commandprompt.com/blogs/joshua_drake/2008/04/is_that_performance_i_smell_ext2_vs_ext3_on_50_spindles_testing_for_postgresql/
>>
>> I ran this test against the RAID 5 SATA partition
>>
>> #iozone -e -i0 -i1 -i2 -i8 -t1 -s 1000m -r 8k -+u
>>
>> With these random write results
>>
>>        Children see throughput for 1 random writers    =  168647.33 KB/sec
>>        Parent sees throughput for 1 random writers     =  168413.61 KB/sec
>>        Min throughput per process                      =  168647.33 KB/sec
>>        Max throughput per process                      =  168647.33 KB/sec
>>        Avg throughput per process                      =  168647.33 KB/sec
>>        Min xfer                                        = 1024000.00 KB
>>        CPU utilization: Wall time    6.072    CPU time    0.540    CPU
>> utilization   8.89 %
>>
>> Almost 170 MB/sek. Not bad for 6 standard SATA drives.
>>
>> Then I ran the same thing against the RAID 10 SAS partition
>>
>>        Children see throughput for 1 random writers    =   68816.25 KB/sec
>>        Parent sees throughput for 1 random writers     =   68767.90 KB/sec
>>        Min throughput per process                      =   68816.25 KB/sec
>>        Max throughput per process                      =   68816.25 KB/sec
>>        Avg throughput per process                      =   68816.25 KB/sec
>>        Min xfer                                        = 1024000.00 KB
>>        CPU utilization: Wall time   14.880    CPU time    0.520    CPU
>> utilization   3.49 %
>>
>> What only 70 MB/sek?
>>
>> Is it possible that the 2 more spindles for the SATA drives makes that
>> partition soooo much faster? Even though the disks and the RAID
>> configuration should be slower?
>> It feels like there is something fishy going on. Maybe the RAID 10
>> implementation on the PERC/6e is crap?
>>
>> Any pointers, suggestion, ideas?
>>
>> I'm going to change the RAID 10 to a RAID 5 and test again and see
>> what happens.
>>
>> Cheers,
>> Henke
>>
>>
>> --
>> Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-performance
>>
>

pgsql-performance by date:

Previous
From: Greg Smith
Date:
Subject: Re: Filesystem benchmarking for pg 8.3.3 server
Next
From: Jeff Frost
Date:
Subject: Re: index scan cost