Re: Filesystem benchmarking for pg 8.3.3 server

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



OK, changed the SAS RAID 10 to RAID 5 and now my random writes are handing 112 MB/ sek. So it is almsot twice as fast as the RAID10 with the same disks. Any ideas why?

Is the iozone tests faulty?

What is your suggestions? Trust the IOZone tests and use RAID5 instead of RAID10, or go for RAID10 as it should be faster and will be more suited when we add more disks in the future?

I'm a little confused by the benchmarks.

This is from the RAID5 tests on 4 SAS 15K drives...

iozone -e -i0 -i1 -i2 -i8 -t1 -s 1000m -r 8k -+u -F /database/iotest

	Children see throughput for 1 random writers 	=  112074.58 KB/sec
	Parent sees throughput for 1 random writers 	=  111962.80 KB/sec
	Min throughput per process 			=  112074.58 KB/sec
	Max throughput per process 			=  112074.58 KB/sec
	Avg throughput per process 			=  112074.58 KB/sec
	Min xfer 					= 1024000.00 KB
CPU utilization: Wall time 9.137 CPU time 0.510 CPU utilization 5.58 %




9 aug 2008 kl. 04.24 skrev david@xxxxxxx:

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@xxxxxxxxxxxxxx <pgsql-performance-owner@xxxxxxxxxxxxxx > To: pgsql-performance@xxxxxxxxxxxxxx <pgsql-performance@xxxxxxxxxxxxxx >
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@xxxxxxxxxxxxxx )
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx )
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance



[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux