Re: [Testperf-general] Re: ExclusiveLock

From: "Bort, Paul" <pbort(at)tmwsystems(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [Testperf-general] Re: ExclusiveLock
Date: 2004-11-23 13:54:11
Message-ID: 735D404BD9E7EB44B9CDFC27FC88809B0582D5FE@mail2.tmwsystems.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> The impression I had was that disk drives no longer pay the slightest
> attention to interleave specs, because the logical model
> implied by the
> concept is too far removed from modern reality (on-disk buffering,
> variable numbers of sectors per track, transparently remapped bad
> sectors, yadda yadda).
>

Entirely true. Interleave was an issue back when the controller wasn't fast
enough to keep up with 3600 RPM disks, and is now completely obscured from
the bus. I don't know if the ATA spec includes interleave control; I suspect
it does not.

> And that's just at the hardware level ... who knows where the
> filesystem
> is putting your data, or what the kernel I/O scheduler is doing with
> your requests :-(
>
> Basically I see the TODO item as a blue-sky research topic, not
> something we have any idea how to implement. That doesn't
> mean it can't
> be on the TODO list ...
>

I think that if we also take into consideration various hardware and
software RAID configurations, this is just too far removed from the database
level to be at all practical to throw code at.

Perhaps this should be rewritten as a documentation change: recommendations
about performance hardware? What we recommend for our highest volume
customers (alas, on a proprietary RDBMS, and only x86) is something like
this:

- Because drive capacity is so huge now, choose faster drives over larger
drives. 15K RPM isn't three times faster than 5400, but there is a noticable
difference.

- More spindles reduce delays even further. Mirroring allows reads to happen
faster because they can come from either side of the mirror, and spanning
reduces problems with rotational delays.

- The ideal disk configuration that we recommend is a 14 drive chassis with
a split backplane. Run each backplane to a separate channel on the
controller, and mirror the channels. Use the first drive on each channel for
the OS and swap, the second drive for transaction logs, and the remaining
drives spanned (and already mirrored) for data. With a reasonable write
cache on the controller, this has proven to be a pretty fast configuration
despite a less than ideal engine.

One other thought: How does static RAM compare to disk speed nowadays? A 1Gb
flash drive might be reasonable for the WAL if it can keep up.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Doug McNaught 2004-11-23 15:08:25 Re: [Testperf-general] Re: ExclusiveLock
Previous Message Mike Rylander 2004-11-23 12:59:22 Re: patch: plpgsql - access records with rec.(expr)