Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1axzlY-000174-4g for pgsql-hackers@arkaria.postgresql.org; Wed, 04 May 2016 16:35:12 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1axzlX-0001U3-Me for pgsql-hackers@arkaria.postgresql.org; Wed, 04 May 2016 16:35:11 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1axzlW-0001SF-Io for pgsql-hackers@postgresql.org; Wed, 04 May 2016 16:35:10 +0000 Received: from out.smtp-auth.no-ip.com ([8.23.224.60]) by makus.postgresql.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1axzlT-0003OP-Qy for pgsql-hackers@postgresql.org; Wed, 04 May 2016 16:35:09 +0000 X-No-IP: alvh.no-ip.org@noip-smtp X-Report-Spam-To: abuse@no-ip.com Received: from alvin.alvh.no-ip.org (unknown [216.155.90.98]) (Authenticated sender: alvh.no-ip.org@noip-smtp) by smtp-auth.no-ip.com (Postfix) with ESMTPA id C062A400DF9; Wed, 4 May 2016 09:35:03 -0700 (PDT) Received: by alvin.alvh.no-ip.org (Postfix, from userid 1000) id 272D7438; Wed, 4 May 2016 13:35:02 -0300 (CLST) Date: Wed, 4 May 2016 13:35:02 -0300 From: Alvaro Herrera To: Andres Freund Cc: Ants Aasma , Tomas Vondra , PostgreSQL-development Subject: Re: what to revert Message-ID: <20160504163502.GA106160@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160503223808.3o46kyrowjlco7vv@alap3.anarazel.de> User-Agent: Mutt/1.5.23 (2014-03-12) X-Pg-Spam-Score: -1.1 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org Andres Freund wrote: > On 2016-05-04 00:01:20 +0300, Ants Aasma wrote: > > On Tue, May 3, 2016 at 9:57 PM, Tomas Vondra > > wrote: > > > If you tell me how to best test it, I do have a 4-socket server sitting idly > > > in the corner (well, a corner reachable by SSH). I can get us some numbers, > > > but I haven't been following the snapshot_too_old so I'll need some guidance > > > on what to test. > > > > I worry about two contention points with the current implementation. > > > > The main one is the locking within MaintainOldSnapshotTimeMapping() > > that gets called every time a snapshot is taken. AFAICS this should > > show up by setting old_snapshot_threshold to any positive value and > > then running a simple within shared buffers scale factor read only > > pgbench at high concurrency (number of CPUs or a small multiple). On a > > single socket system this does not show up. > > On a two socket system it does, check the bottom of: > http://archives.postgresql.org/message-id/20160413171955.i53me46fqqhdlztq%40alap3.anarazel.de > Note that this (accidentally) compares thresholds 0 and 10 (instead of > -1 and 10), In other words, we expect that when the feature is disabled, no performance degradation occurs, because that function is not called at all. Honestly, I don't see any strong ground in which to base a revert threat for this feature. It doesn't scale as well as we would like in the case where a high-level is fully stressed with a read-only load -- okay. But that's unlikely to be a case where this feature is put to work. So I think accepting the promise that this feature would be improved in a future release to better support that case is good enough. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers