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