Re: Proposed fix for NOTIFY performance degradation

Simon Riggs <simon@2ndquadrant.com>

From: Simon Riggs <simon@2ndQuadrant.com>
To: Gianni Ciolli <gianni.ciolli@2ndquadrant.it>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-04-24T22:59:17Z
Lists: pgsql-hackers
On Sat, Apr 23, 2011 at 2:57 PM, Gianni Ciolli
<gianni.ciolli@2ndquadrant.it> wrote:

> * "avg_usec" denotes the average time in microseconds required by each
>  NOTIFY statement.
>
> h2. Test 1 - PostgreSQL HEAD
>
>   n   |   m   | iter | avg_usec
> -------+-------+------+----------
>    10 |     1 |   10 |   43.730
>   100 |     1 |   10 |   37.630
>  1000 |     1 |   10 |   42.990
>  10000 |     1 |   10 |   36.225
>    10 |    10 |   10 |   43.960
>   100 |   100 |   10 |   46.537
>  1000 |  1000 |   10 |  126.115
>  10000 | 10000 |   10 |  906.501

I read that wrong first time around. So the wasted time from duplicate checks is

   n   |   m   | iter | msec
 -------+-------+------+----------
    10 |    10 |   10 |   0
   100 |   100 |   10 |   0.3
  1000 |  1000 |   10 |  80
  10000 | 10000 |   10 |  8600

So the cost of the duplicate checks only kicks in at about 200 notifies.

-- 
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services