On Thu, Aug 11, 2005 at 12:59:32PM -0600, Ed L. wrote:
> > Michael, you seem to have nailed it.  The local inserts (via
> > Unix domain sockets?) that were running at 6 QPS ran at 6800
> > to 41000 QPS in a PL/pgSQL function.
> 
> Here's another part of the riddle.  The query durations for the 
> individual inserts as logged in the server log are ranging 
> 100ms-500ms per insert when connecting via DBI/DBD::Pg from 
> localhost.  Inside pl/pgsql, they're clearly averaging faster 
> than 1ms per insert.  I would have thought those times were 
> independent of the client communication layers...?

Have you done any client-side tests that eliminate Perl?  I'd suggest
writing a little C program so you can measure libpq's performance
without the extra layers of Perl and DBI/DBD::Pg.  Test both local
(Unix socket) and network (IPv4 or IPv6 socket) connections.

A couple of months ago, Tom Lane noticed that benchmarks using
DBD::Pg make PostgreSQL look worse than it deserves:

http://archives.postgresql.org/pgsql-interfaces/2005-06/msg00003.php

-- 
Michael Fuhr

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to