Why would writes to pgsql_tmp bottleneck at 1mb/s? - Mailing list pgsql-performance

From Josh Berkus
Subject Why would writes to pgsql_tmp bottleneck at 1mb/s?
Date
Msg-id 200503081218.24093.josh@agliodbs.com
Whole thread Raw
Responses Re: Why would writes to pgsql_tmp bottleneck at 1mb/s?  (Josh Berkus <josh@agliodbs.com>)
List pgsql-performance
PG Hackers,

What follows is iostat output from a TPC-H test on Solaris 10.    The machine
is creating indexes on a table which is 50G in size, so it needs to use
pgsql_tmp for internal swapping:

   tty        md15          sd1           sd2           sd3            cpu
 tin tout kps tps serv  kps tps serv  kps tps serv  kps tps serv   us sy wt id
   0   84 22526 1211    1  1024   1    5    0   0    0  5634 337    1   30  8
0 61
   0  242 24004 1337    1  1024   1    5    0   0    0  6007 355    1   33  8
0 59
   0   85 22687 1277    1  1024   1    5    0   0    0  5656 322    1   31  8
0 62
   0   85 20876 1099    1  1024   2    9    0   0    0  5185 292    1   28  7
0 64

md15 is WAL (pg_xlog).
sd3 is PGDATA.
sd1 i pgsql_tmp.

As you can see, we're getting a nice 23mb/s peak for WAL (thanks to
forcedirectio) and database writes peak at 6mb/s.  However, pgsql_tmp, which
is being used heavily, hovers around 1mb/s, and never goes above 1.5mb/s.
This seems to be throttling the whole system.

Any suggestions on why this should be?   Do we have a performance bug in the
pg_tmp code?

--
--Josh

Josh Berkus
Aglio Database Solutions
San Francisco

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: bad plan
Next
From: Richard Huxton
Date:
Subject: Re: bad plan