Re: Listen / Notify rewrite

Joachim Wieland <joe@mcknight.de>

From: Joachim Wieland <joe@mcknight.de>
To: Merlin Moncure <mmoncure@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andrew Chernow <ac@esilo.com>, Greg Stark <gsstark@mit.edu>, Robert Haas <robertmhaas@gmail.com>, Josh Berkus <josh@agliodbs.com>, pgsql-hackers@postgresql.org, Andrew Chernow <andrew@esilo.com>
Date: 2009-11-16T21:41:51Z
Lists: pgsql-hackers
On Sat, Nov 14, 2009 at 11:06 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
> The old method (measured on a 4 core high performance server) has
> severe scaling issues due to table bloat (we knew that):
> ./pgbench -c 10 -t 1000 -n -b listen.sql -f notify.sql
> run #1 tps = 1364.948079 (including connections establishing)

> new method on my dual core workstation (max payload 128):
> ./pgbench -c 10 -t 10000 -n -b listen.sql -f notify.sql -hlocalhost postgres
> tps = 16343.012373 (including connections establishing)

That looks fine and is similar to my tests where I also see a
performance increase of about 10x, and unlike pg_listener it is
constant.

> getting sporadic 'LOG:  could not send data to client: Broken pipe'
> throughout the test.

This looks like the server is trying to send a notification down to
the client but the client has already terminated the connection...


Joachim