Thread: JFS fastest filesystem for PostgreSQL?

JFS fastest filesystem for PostgreSQL?

From
"Jeffrey W. Baker"
Date:
[reposted due to delivery error -jwb]

I just took delivery of a new system, and used the opportunity to
benchmark postgresql 8.0 performance on various filesystems.  The system
in question runs Linux 2.6.12, has one CPU and 1GB of system memory, and
5 7200RPM SATA disks attached to an Areca hardware RAID controller
having 128MB of cache.  The caches are all write-back.

I ran pgbench with a scale factor of 1000 and a total of 100,000
transactions per run.  I varied the number of clients between 10 and
100.  It appears from my test JFS is much faster than both ext3 and XFS
for this workload.  JFS and XFS were made with the mkfs defaults.  ext3
was made with -T largefile4 and -E stride=32.  The deadline scheduler
was used for all runs (anticipatory scheduler is much worse).

Here's the result, in transactions per second.

              ext3  jfs  xfs
-----------------------------
 10 Clients     55   81   68
100 Clients     61  100   64
----------------------------

-jwb

Re: JFS fastest filesystem for PostgreSQL?

From
"Dmitri Bichko"
Date:
I was wondering - have you had a chance to run the same benchmarks on
ReiserFS (ideally both 3 and 4, with notail)?

I'd be quite interested to see how it performs in this situation since
it's my fs of choice for most things.

Thanks,
Dmitri

-----Original Message-----
From: pgsql-performance-owner@postgresql.org
[mailto:pgsql-performance-owner@postgresql.org] On Behalf Of Jeffrey W.
Baker
Sent: Thursday, July 14, 2005 2:34 AM
To: pgsql-performance@postgresql.org
Subject: [PERFORM] JFS fastest filesystem for PostgreSQL?


[reposted due to delivery error -jwb]

I just took delivery of a new system, and used the opportunity to
benchmark postgresql 8.0 performance on various filesystems.  The system
in question runs Linux 2.6.12, has one CPU and 1GB of system memory, and
5 7200RPM SATA disks attached to an Areca hardware RAID controller
having 128MB of cache.  The caches are all write-back.

I ran pgbench with a scale factor of 1000 and a total of 100,000
transactions per run.  I varied the number of clients between 10 and
100.  It appears from my test JFS is much faster than both ext3 and XFS
for this workload.  JFS and XFS were made with the mkfs defaults.  ext3
was made with -T largefile4 and -E stride=32.  The deadline scheduler
was used for all runs (anticipatory scheduler is much worse).

Here's the result, in transactions per second.

              ext3  jfs  xfs
-----------------------------
 10 Clients     55   81   68
100 Clients     61  100   64
----------------------------

-jwb

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match
The information transmitted is intended only for the person or entity to which it is addressed and may contain
confidentialand/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any
actionin reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you
receivedthis in error, please contact the sender and delete the material from any computer 

Re: JFS fastest filesystem for PostgreSQL?

From
Dawid Kuroczko
Date:
On 7/14/05, Jeffrey W. Baker <jwbaker@acm.org> wrote:
> [reposted due to delivery error -jwb]
>
> I just took delivery of a new system, and used the opportunity to
> benchmark postgresql 8.0 performance on various filesystems.  The system
> in question runs Linux 2.6.12, has one CPU and 1GB of system memory, and
> 5 7200RPM SATA disks attached to an Areca hardware RAID controller
> having 128MB of cache.  The caches are all write-back.
>
> I ran pgbench with a scale factor of 1000 and a total of 100,000
> transactions per run.  I varied the number of clients between 10 and
> 100.  It appears from my test JFS is much faster than both ext3 and XFS
> for this workload.  JFS and XFS were made with the mkfs defaults.  ext3
> was made with -T largefile4 and -E stride=32.  The deadline scheduler
> was used for all runs (anticipatory scheduler is much worse).
>
> Here's the result, in transactions per second.
>
>               ext3  jfs  xfs
> -----------------------------
>  10 Clients     55   81   68
> 100 Clients     61  100   64
> ----------------------------

If you still have a chance, could you do tests with other journaling
options for ext3 (journal=writeback, journal=data)?  And could you
give figures about performace of other IO elevators?  I mean, you
wrote that anticipatory is much wore -- how much worse? :)  Could
you give numbers for deadline,anticipatory,cfq elevators? :)

And, additionally would it be possible to give numbers for bonnie++
results?  To see how does pgbench to bonnie++ relate?

   Regards,
        Dawid

Re: JFS fastest filesystem for PostgreSQL?

From
mudfoot@rawbw.com
Date:

Quoting "Jeffrey W. Baker" <jwbaker@acm.org>:


>
> Here's the result, in transactions per second.
>
>               ext3  jfs  xfs
> ----------------------

-------
>  10 Clients     55   81   68
> 100 Clients     61  100   64
> ----------------------------

Was fsync true?  And have you tried ext2?  Legend has it that ext2 is the
fastest thing going for synchronous writes (besides O_DIRECT or raw) because
there's no journal.

>
> -jwb
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>        choose an index scan if your joining column's datatypes do not
>        match
>



Re: JFS fastest filesystem for PostgreSQL?

From
Michael Stone
Date:
Did you seperate the data & the transaction log? I've noticed less than
optimal performance on xfs if the transaction log is on the xfs data
partition, and it's silly to put the xlog on a journaled filesystem
anyway. Try putting xlog on an ext2 for all the tests.

Mike Stone

Re: JFS fastest filesystem for PostgreSQL?

From
Grega Bremec
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dawid Kuroczko wrote:
|
| If you still have a chance, could you do tests with other journaling
| options for ext3 (journal=writeback, journal=data)?  And could you
| give figures about performace of other IO elevators?  I mean, you
| wrote that anticipatory is much wore -- how much worse? :)  Could
| you give numbers for deadline,anticipatory,cfq elevators? :)
|
| And, additionally would it be possible to give numbers for bonnie++
| results?  To see how does pgbench to bonnie++ relate?
|

Hello, list.

I've been thinking on this one for a while - I'm not sure as to what
ratio pgbench has with regard to stressing CPU vs. I/O. There is one
thing that's definitely worth mentioning though: in the tests that I've
been doing with bonnie++ and iozone at my former job, while building a
distributed indexing engine, jfs was the one filesystem with the least
strain on the CPU, which might be one of the deciding factors in making
it look good for a particular workload.

I'm afraid I don't have any concrete figures to offer as the material
itself was classified. I can tell though that we've been comparing it
with both ext2 and ext3, as well as xfs, and notably, xfs was the worst
CPU hog of all. The CPU load difference between jfs and xfs was about
10% in favor of jfs in all random read/write tests, and the interesting
thing is, jfs managed to shuffle around quite a lot of data: the
mbps/cpu% ratio in xfs was much worse. As expected, there wasn't much
difference in block transfer tests, but jfs was slightly winning in the
area of CPU consumption and slightly lagging in the transfer rate field.

What is a little bit concerning though, is the fact that some Linux
distributors like SuSE have removed jfs support from their admin tooling
<quote>due to technical problems with jfs</quote>
(http://your-local-suse-mirror/.../suse/i386/9.3/docu/RELEASE-NOTES.en.html#14)

I'm curious as to what this means - did they have problems integrating
it into their toolchain or are there actual problems going on in jfs
currently?

Kind regards,
- --
Grega Bremec
gregab at p0f dot net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFC1ld4fu4IwuB3+XoRAqEyAJ0TS9son+brhbQGtV7Cw7T8wa9W2gCfZ02/
dWm/E/Dc99TyKbxxl2tKaZc=
=nvv3
-----END PGP SIGNATURE-----

Re: JFS fastest filesystem for PostgreSQL?

From
Michael Stone
Date:
On Thu, Jul 14, 2005 at 02:15:52PM +0200, Grega Bremec wrote:
>I'm curious as to what this means - did they have problems integrating
>it into their toolchain or are there actual problems going on in jfs
>currently?

I've found jfs to be the least stable linux filesystem and won't allow
it anywhere near an important system. YMMV.

Mike Stone

Re: JFS fastest filesystem for PostgreSQL?

From
"Jeffrey W. Baker"
Date:
On Thu, 2005-07-14 at 10:03 +0200, Dawid Kuroczko wrote:
> On 7/14/05, Jeffrey W. Baker <jwbaker@acm.org> wrote:
> > [reposted due to delivery error -jwb]
> >
> > I just took delivery of a new system, and used the opportunity to
> > benchmark postgresql 8.0 performance on various filesystems.  The system
> > in question runs Linux 2.6.12, has one CPU and 1GB of system memory, and
> > 5 7200RPM SATA disks attached to an Areca hardware RAID controller
> > having 128MB of cache.  The caches are all write-back.
> >
> > I ran pgbench with a scale factor of 1000 and a total of 100,000
> > transactions per run.  I varied the number of clients between 10 and
> > 100.  It appears from my test JFS is much faster than both ext3 and XFS
> > for this workload.  JFS and XFS were made with the mkfs defaults.  ext3
> > was made with -T largefile4 and -E stride=32.  The deadline scheduler
> > was used for all runs (anticipatory scheduler is much worse).
> >
> > Here's the result, in transactions per second.
> >
> >               ext3  jfs  xfs
> > -----------------------------
> >  10 Clients     55   81   68
> > 100 Clients     61  100   64
> > ----------------------------
>
> If you still have a chance, could you do tests with other journaling
> options for ext3 (journal=writeback, journal=data)?  And could you
> give figures about performace of other IO elevators?  I mean, you
> wrote that anticipatory is much wore -- how much worse? :)  Could
> you give numbers for deadline,anticipatory,cfq elevators? :)
>
> And, additionally would it be possible to give numbers for bonnie++
> results?  To see how does pgbench to bonnie++ relate?

Phew, that's a lot of permutations.  At 20-30 minutes per run, I'm
thinking 5-8 hours or so.  Still, for you dear readers, I'll somehow
accomplish this tedious feat.

As for Bonnie, JFS is a good 60-80% faster than ext3.  See my message to
ext3-users yesterday.

Using bonnie++ with a 10GB fileset, in MB/s:

         ext3    jfs    xfs
Read     112     188    141
Write     97     157    167
Rewrite   51      71     60

-jwb

Re: JFS fastest filesystem for PostgreSQL?

From
"Jim C. Nasby"
Date:
On Wed, Jul 13, 2005 at 11:33:41PM -0700, Jeffrey W. Baker wrote:
> [reposted due to delivery error -jwb]
>
> I just took delivery of a new system, and used the opportunity to
> benchmark postgresql 8.0 performance on various filesystems.  The system
> in question runs Linux 2.6.12, has one CPU and 1GB of system memory, and
> 5 7200RPM SATA disks attached to an Areca hardware RAID controller
> having 128MB of cache.  The caches are all write-back.
>
> I ran pgbench with a scale factor of 1000 and a total of 100,000
> transactions per run.  I varied the number of clients between 10 and
> 100.  It appears from my test JFS is much faster than both ext3 and XFS
> for this workload.  JFS and XFS were made with the mkfs defaults.  ext3
> was made with -T largefile4 and -E stride=32.  The deadline scheduler
> was used for all runs (anticipatory scheduler is much worse).
>
> Here's the result, in transactions per second.
>
>               ext3  jfs  xfs
> -----------------------------
>  10 Clients     55   81   68
> 100 Clients     61  100   64
> ----------------------------

BTW, it'd be interesting to see how UFS on FreeBSD compared.
--
Jim C. Nasby, Database Consultant               decibel@decibel.org
Give your computer some brain candy! www.distributed.net Team #1828

Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"

Re: JFS fastest filesystem for PostgreSQL?

From
"Joshua D. Drake"
Date:
>>I ran pgbench with a scale factor of 1000 and a total of 100,000
>>transactions per run.  I varied the number of clients between 10 and
>>100.  It appears from my test JFS is much faster than both ext3 and XFS
>>for this workload.  JFS and XFS were made with the mkfs defaults.  ext3
>>was made with -T largefile4 and -E stride=32.  The deadline scheduler
>>was used for all runs (anticipatory scheduler is much worse).
>>
>>Here's the result, in transactions per second.
>>
>>              ext3  jfs  xfs
>>-----------------------------
>> 10 Clients     55   81   68
>>100 Clients     61  100   64
>>----------------------------

I would be curious as to what options were passed to jfs and xfs.

Sincerely,

Joshua D. Drake


>
>
> BTW, it'd be interesting to see how UFS on FreeBSD compared.


--
Your PostgreSQL solutions company - Command Prompt, Inc. 1.800.492.2240
PostgreSQL Replication, Consulting, Custom Programming, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, plPerlNG - http://www.commandprompt.com/