From:
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To:
Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc:
Michael Fuhr <mike(at)fuhr(dot)org>,
Merlin Moncure <merlin(dot)moncure(at)rcsonline(dot)com>,
Carlos Benkendorf <carlosbenkendorf(at)yahoo(dot)com(dot)br>,
PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject:
Re: Stats collector performance improvement
Date:
2006-01-02 18:45:21
Message-ID:
7838.1136227521@sss.pgh.pa.us (view raw or flat )
Thread:
2005-12-12 18:33:27 from "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>
2005-12-12 18:50:16 from Michael Fuhr <mike(at)fuhr(dot)org>
2005-12-12 23:01:01 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2005-12-13 01:07:51 from Michael Fuhr <mike(at)fuhr(dot)org>
2005-12-13 03:20:45 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2005-12-15 23:44:48 from Michael Fuhr <mike(at)fuhr(dot)org>
2005-12-16 00:06:39 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2005-12-16 05:44:58 from Kevin Brown <kevin(at)sysexperts(dot)com>
2005-12-16 13:17:25 from Simon Riggs <simon(at)2ndquadrant(dot)com>
2005-12-17 02:44:19 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-01-02 18:40:40 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-01-02 18:45:21 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2006-01-02 19:13:47 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-01-02 20:20:24 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2006-01-02 21:03:20 from "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
2006-01-02 21:48:45 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2006-01-03 09:40:53 from Simon Riggs <simon(at)2ndquadrant(dot)com>
2006-01-03 16:35:56 from "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
2006-01-03 23:28:34 from Greg Stark <gsstark(at)mit(dot)edu>
2006-01-03 21:42:53 from Hannu Krosing <hannu(at)skype(dot)net>
2006-01-08 16:49:12 from Greg Stark <gsstark(at)mit(dot)edu>
2006-01-09 15:48:21 from Hannu Krosing <hannu(at)skype(dot)net>
2006-01-02 21:48:15 from Hannu Krosing <hannu(at)skype(dot)net>
2006-01-03 04:06:57 from Jan Wieck <JanWieck(at)Yahoo(dot)com>
2006-01-03 09:54:57 from Simon Riggs <simon(at)2ndquadrant(dot)com>
2006-01-03 16:43:23 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-01-05 00:39:42 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-06-15 04:05:38 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-06-15 06:09:43 from "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
2006-06-15 14:27:33 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2006-06-15 15:57:36 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-06-15 21:38:01 from Josh Berkus <josh(at)agliodbs(dot)com>
2006-06-15 21:42:16 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2006-06-15 21:46:29 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-06-16 01:34:12 from "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
2006-06-16 01:56:34 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2006-06-16 03:14:06 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-06-16 03:27:50 from "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
2006-06-16 03:57:22 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-06-16 04:48:27 from "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
2006-06-16 16:03:22 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-06-16 16:12:50 from Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
2006-06-16 16:24:03 from Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
2006-06-16 18:14:47 from Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
2006-06-17 17:43:06 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2006-06-15 08:00:27 from "Larry Rosenman" <ler(at)lerctr(dot)org>
2006-06-15 19:58:27 from Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
2006-06-15 20:29:36 from Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
Lists:
pgsql-hackers pgsql-patches pgsql-performance
Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> I found if I put a pg_usleep(100) in the buffer process the backend
> speed was good, but packets were lost. What I found worked well was to
> do multiple recv() calls in a loop. The previous code did a select(),
> then perhaps a recv() and pipe write() based on the results of the
> select(). This caused many small packets to be written to the pipe and
> the pipe write overhead seems fairly large. The best fix I found was to
> loop over the recv() call at most 25 times, collecting a group of
> packets that can then be sent to the collector in one pipe write. The
> recv() socket is non-blocking, so a zero return indicates there are no
> more packets available. Patch attached.
This seems incredibly OS-specific. How many platforms did you test it
on?
A more serious objection is that it will cause the stats machinery to
work very poorly if there isn't a steady stream of incoming messages.
You can't just sit on 24 messages until the 25th one arrives next week.
regards, tom lane
In response to
Responses
pgsql-performance by date
Next :From: Bruce MomjianDate: 2006-01-02 19:13:47
Subject : Re: Stats collector performance improvement
Previous :From : Bruce MomjianDate : 2006-01-02 18:40:40
Subject : Stats collector performance improvement
pgsql-hackers by date
Next :From: Tom LaneDate: 2006-01-02 18:46:30
Subject : Re: What bison versions are installed on buildfarm machines?
Previous :From : Bruce MomjianDate : 2006-01-02 18:40:40
Subject : Stats collector performance improvement
pgsql-patches by date
Next :From: Bruce MomjianDate: 2006-01-02 19:13:47
Subject : Re: Stats collector performance improvement
Previous :From : Bruce MomjianDate : 2006-01-02 18:40:40
Subject : Stats collector performance improvement