Re: zLinux Load Testing Experience - Mailing list pgsql-general

From Merlin Moncure
Subject Re: zLinux Load Testing Experience
Date
Msg-id CAHyXU0wzqteBOOVLFAd-MnTM2SNi_-sesa=GLJT43cO-JPmfMg@mail.gmail.com
Whole thread Raw
In response to Re: zLinux Load Testing Experience  (Andrew Hastie <andrew@ahastie.net>)
Responses Re: zLinux Load Testing Experience
Re: zLinux Load Testing Experience
List pgsql-general
On Wed, May 1, 2013 at 11:34 AM, Andrew Hastie <andrew@ahastie.net> wrote:
>
> On 01/05/13 15:34, Merlin Moncure wrote:
>
> On Wed, May 1, 2013 at 8:01 AM, Andrew Hastie <andrew@ahastie.net> wrote:
>
> On 30/04/13 20:46, Merlin Moncure wrote:
>
> On Tue, Apr 30, 2013 at 12:26 PM, Jeff Janes <jeff.janes@gmail.com> wrote:
>
> On Tue, Apr 30, 2013 at 8:28 AM, Andrew Hastie <andrew@ahastie.net>
> wrote:
>
> I'm currently working on a project porting an application from RedHat
> Linux on Intel onto IBM zLinux. Our application requires PostgreSQL at
> version 9.n, so the PostgreSQL binaries have been built using the
> standard
> build tools from source. Everything appears run correctly. However as
> part
> of performance testing, our IBM and Linux SysProgs have been "poking
> around"
> using strace and have reported the following (which they think is an
> error
> condition) when hooking up to the postmaster processes:-
>
> read(3, 0x3ffff875ee0, 16) = -1 EAGAIN (Resource temporarily
> unavailable)
> poll([{fd=3, events=POLLIN}, {fd=6, events=POLLIN}], 2, 200) = 0
> (Timeout)
> read(3, 0x3ffff875ee0, 16) = -1 EAGAIN (Resource temporarily
> unavailable)
> poll([{fd=3, events=POLLIN}, {fd=6, events=POLLIN}], 2, 10000) = 0
> (Timeout)
> ... repeated many times
>
> That does not look like the postmaster process.  It looks like probably
> the
> background writer process.
>
> It is normal, and doesn't explain high CPU utilization.
>
> yeah: we're probably a couple of steps in front of deep system
> profiling.   Helpful things to provide to help diagnose would be:
>
> *) 'explain analyze' of the queries that are eating cpu
> *) more details about the hardware -- how many cpu, etc.
> *) better definition of 'perceived high CPU utilisation'
> *) some correlating performance tests, expecially cpu bound pgbench
> tests (pgbench -S)
>
> merlin
>
>
> I'm not sure how much experience the community has on tuning PostgreSQL
> running on RedHat which in turn is hosted on an IBM mainframe under VM
> (using zLinux). So I'm happy to start posting further details and benchmark
> results and see where we go. Should I be moving this thread over into the
> pg-performance list, or is pg-general the right place?
>
> certainly performance.   and yes, zLinux is less well traveled.  Did
> you compile postgres from source?  Did you confirm that there is a
> native spinlocks implementation and it is being used?
>
> merlin
>
> Did you compile postgres from source? - Yes (I need PG v9.n as v8.n shipped
> with RedHat Ent6 does not have several v9 specific features we need).
>
> Did you confirm that there is a native spinlocks implementation and it is
> being used? - I believe so as no errors or warnings logged during the build.
> Is there a simple way to check whether spin-locks are running native?
>
> I've started looking at several articles covering pgbench and running some
> initial tests, so I plan to start a new thread on pg-performance in the next
> day or so.
>
> Thanks for the advice so far  - Appreciated :-)

I can't remember off the top of my head if configure forces you to
specifically unset spinlocks to get through a build on a non-hardware
spinlock platform.  Point being: the interesting stuff happens during
configure, not build.

Check the contents of src/include/pg_config.h and look for this line:
#define HAVE_SPINLOCKS 1

to see if you have hardware spinlocks.

merlin


pgsql-general by date:

Previous
From: Jerry Sievers
Date:
Subject: Re: Save postgresql node to catch only DML except delete queries
Next
From: Gavin Flower
Date:
Subject: Re: Created a PostgreSQL test, what do you think?