On Thu, Sep 15, 2016 at 11:04 AM, Thomas Munro <thomas.mu...@enterprisedb.com> wrote: > On Thu, Sep 15, 2016 at 10:48 AM, Keith Fiske <ke...@omniti.com> wrote: >> Thomas Munro brought up in #postgresql on freenode needing someone to test a >> patch on a larger FreeBSD server. I've got a pretty decent machine (3.1Ghz >> Quad Core Xeon E3-1220V3, 16GB ECC RAM, ZFS mirror on WD Red HDD) so offered >> to give it a try. >> >> Bench setup was: >> pgbench -i -s 100 -d postgres >> >> I ran this against 96rc1 instead of HEAD like most of the others in this >> thread seem to have done. Not sure if that makes a difference and can re-run >> if needed. >> With higher concurrency, this seems to cause decreased performance. You can >> tell which of the runs is the kqueue patch by looking at the path to >> pgbench. > > Thanks Keith. So to summarise, you saw no change with 1 client, but > with 4 clients you saw a significant drop in performance (~93K TPS -> > ~80K TPS), and a smaller drop for 64 clients (~72 TPS -> ~68K TPS). > These results seem to be a nail in the coffin for this patch for now. > > Thanks to everyone who tested. I might be back in a later commitfest > if I can figure out why and how to fix it.
Ok, here's a version tweaked to use EVFILT_PROC for postmaster death detection instead of the pipe, as Tom Lane suggested in another thread[1]. The pipe still exists and is used for PostmasterIsAlive(), and also for the race case where kevent discovers that the PID doesn't exist when you try to add it (presumably it died already, but we want to defer the report of that until you call EventSetWait, so in that case we stick the traditional pipe into the kqueue set as before so that it'll fire a readable-because-EOF event then). Still no change measurable on my laptop. Keith, would you be able to test this on your rig and see if it sucks any less than the last one? [1] https://www.postgresql.org/message-id/13774.1473972000%40sss.pgh.pa.us -- Thomas Munro http://www.enterprisedb.com
kqueue-v6.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers