Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cVnXC-00080V-K7 for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Jan 2017 22:56:22 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cVnXB-0003Gs-I7 for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Jan 2017 22:56:21 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cVnVl-0001Zk-3a for pgsql-hackers@postgresql.org; Mon, 23 Jan 2017 22:54:53 +0000 Received: from mail-dm3nam03on0078.outbound.protection.outlook.com ([104.47.41.78] helo=NAM03-DM3-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cVnVf-0001yR-F8 for pgsql-hackers@postgresql.org; Mon, 23 Jan 2017 22:54:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BlueTreble.onmicrosoft.com; s=selector1-bluetreble-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=2/L7bUGLrxXszGGVA76G4v3m6NR8z8SwhUKQFPU9c8g=; b=ABOZ3gVa2xpJevjdc4k9O3OmNeikoRAIx0bsIrXd2gz4X32QIHcjcryVP3Xvevv8d0cMWMaLfAwuBi0Xc8tqqxjqROntQHdU0WPQNPAmChkUs4HF+DdCvCKUa3h05MUDv1EDjNQCYW2z2MmLtK78GWMJ6hUN298/PDDVuw6Boyg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jim.Nasby@bluetreble.com; Received: from decina.local (70.113.18.142) by BN6PR11MB1636.namprd11.prod.outlook.com (10.172.24.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Mon, 23 Jan 2017 22:54:41 +0000 Subject: Re: Protect syscache from bloating with negative cache entries To: Kyotaro HORIGUCHI , References: <23492.1482264621@sss.pgh.pa.us> <20161221.102109.51106943.horiguchi.kyotaro@lab.ntt.co.jp> <20161226.173147.73783918.horiguchi.kyotaro@lab.ntt.co.jp> CC: , , From: Jim Nasby Message-ID: <21803f50-a823-c444-ee2b-9a153114f454@BlueTreble.com> Date: Mon, 23 Jan 2017 16:54:36 -0600 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [70.113.18.142] X-ClientProxiedBy: BLUPR0301CA0035.namprd03.prod.outlook.com (10.162.113.173) To BN6PR11MB1636.namprd11.prod.outlook.com (10.172.24.9) X-MS-Office365-Filtering-Correlation-Id: facb4a4c-5d60-4e91-99dd-08d443e2d1c6 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN6PR11MB1636; X-Microsoft-Exchange-Diagnostics: 1;BN6PR11MB1636;3:IQZ05t+G3a7qdQglJTetVmjCpYsGzW53kh6NwoC0LsUpIXuC+cBaFSOJLQU0HOictrU9hu8KaN9vD5hx2btpdovKk0MAwokvvUHVRsGs0PG6O/gpMndjxJiT/YKWvU7GheHdaOWaDkYpd1GmDIbzXTpOXMl/kgrxJw9V5EBL6mThPSYfmvvpF8zY+FFWqLNnHi7oRqaQHWWoCppIpTmQvuUgUJsNrAJIiAAlSQqEacmZI8V+uigCA8FXGzlERp6jf9OAYHoolppiUFtXCR5v3w==;25:yi+rz6VSO01y9MnzHUEs4csUA7ydYA0zEfYUOQuKqtaLrMUEvANWxxAhipMr3RdbDdZncmFJ9sWfvvMcsv7YotgAJlldaaghsviWalKoZUrg0+Otd3lmiu/qImdOGIzkSDySsPAv0kcCQExVEVY6TVEElF8q3m7NRwPhzC3tlL9KGb5MXW5svWoxt/c61GA3JFeEW3ldJSfg1WhdyTZjyCbyD+DvUBHsw7GCPrH7pPqhyKYAKUV0zC1V1SnqZxnJQZM5NbBlYpwKobGYvhsj4wTwZ0vJK0qZqQHmrQjSXYqMRTbghGWeVEfGT1fwx7gLv9fIhK1+gR2hI2psiA0MZ/JG1HdtvAe7DvTkCCT6Y6NkcqNev59vocq1Dz/hcuTD88WuwaX1EBffFMzcpoBzxvxBFuhZbTbDGl3u3HpT7Na5BVU93iwdl/hUoJRWj67m2DxuOgv11Yr4tEo47ClSUQ== X-Microsoft-Exchange-Diagnostics: 1;BN6PR11MB1636;31:5gJD+BEq/sOCAiK2VZFYyjrmZyfycspYoWOvkPs9s0+g01PSPeNWCMdoavV2JEbJa4vVKm/gB97QavGCMR/3DFYwZnXRLC+NgEjpmzGY4e2DFPTfpFSudna97scpb7NXKseo51DsnnVhY3tNJbUZjN9jxbIxj4pzvfAgBQmb7m4brDSnWY6T6RbJBXENbvTGAx7aJHycGL43/6f1JmffW3hu57LsAvoouRrhcOnjCMsoVZjKBhQJM7dtVM0nQZtqjiSfFVuErlmKyXSTN1HDAQ==;4:ulrLlQ6qew9fElqVtD2CasR2yAhOXZGkScxWO9UZEYURFk3kP/oUmiuKkDa04F9u9a2GHvYK+wtKhmppHGdWMKRzkJTWmWS+BpmdGce3ZfbF8pvIJUeeV3iLA68B2aKZtiLVcRiHsmWAqNC0vEPZOCet8xw1IV6bVQud0sBWi5CkZdB3GIR5Uq7xgYZXus/gBPor5kdi0gHc7kQeNYBglIMsWil0xKAkOAQQUuM0vxAWjQr79MeQwxo6Q1IP83Tvk9mjwYk4JKAsBLvJbaqOotprChKCmVt/xN3qjGOh3EWUgAJSOPZh7pZnPCnsc/rJby4h+pQ5lG5ys8Q1DO9iHa9LEZHf1VTCn2p6HchxV2IJW57qDLcEMsEkkxSla8QbZheSMOcqSQgzoE1lmHE0htIYNru2zPj2L1vosSIBbaGbRXE2zz3v0feuyuleKrAcBJ7jsQv1ckHRIx26+GhX4/4nHyWHP3jw4KaYitcrhUCU1HtqEEA65sQ66Dbz44qNWDx9PyaXm4d16YxwQCiLrC6LqGgBP4j9LKNWxTADT7skTomYhR3k7jH0pXgw/eSBnvmy5facKdf/nn876gNESzDqm3ZuSQyLmZmL7UosdIRy8eS+pngYtRXIDaMzEmy2 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(2016111802025)(6072148)(6043046);SRVR:BN6PR11MB1636;BCL:0;PCL:0;RULEID:;SRVR:BN6PR11MB1636; X-Forefront-PRVS: 0196A226D1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39830400002)(39450400003)(39410400002)(377454003)(189002)(199003)(24454002)(65806001)(6506006)(54906002)(25786008)(6512007)(6306002)(6486002)(65956001)(101416001)(38730400001)(7736002)(31686004)(106356001)(66066001)(65826007)(105586002)(229853002)(305945005)(39060400001)(68736007)(8676002)(42186005)(83506001)(47776003)(81156014)(81166006)(5660300001)(86362001)(6666003)(4001350100001)(36756003)(2906002)(2950100002)(50986999)(92566002)(97736004)(54356999)(64126003)(5001770100001)(53936002)(230700001)(76176999)(50466002)(33646002)(3846002)(31696002)(189998001)(93886004)(4326007)(23746002)(6116002)(16601075003)(85282002);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR11MB1636;H:decina.local;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: bluetreble.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BN6PR11MB1636;23:NS24pjKNxkzoGgIV8Tbh2RC4TWKVJ8NAlVYxX?= =?Windows-1252?Q?pviksO2RAxagGjYJH1iNZ17q6gtmECIfSp26tGs2RgbCSO/EMiFtRSD+?= =?Windows-1252?Q?lOdX0HHMasE72Buicax/umJ9RFN0BvWzdzNAqKZTi+wg3xe51rv9ucrh?= =?Windows-1252?Q?2SDvvoFXAK+YksZcFr0IWNaI/GD3wBHzSBZnnqZeTTcICN/Yf9wPzcLD?= =?Windows-1252?Q?mvBCV8wAZaNUvHFS71yeJ0He09iC6ngxCFPbB9NtPeKrO1sdbEyJi1r0?= =?Windows-1252?Q?CPW8aGJGr4N0Wy5VsPobfICra0sQJYLXHE0znyTmsbcuuEz1bckjDPbH?= =?Windows-1252?Q?ZvDDArdhtRgUPVx/ycgsQYkgAW8Nm/lw+DofMyBgwozkR3NIUPZNbHJa?= =?Windows-1252?Q?BeUriJZfMn8n+ZmJKnHKO+GU4aH+IkxZgo1i+7hyC+ZQWOBxSU7u0Ftq?= =?Windows-1252?Q?YC7iaaXP3Nw6WRczXvNXBFdxzIgMPoj/kOmQrBqdT/oX+80oChWR0P6H?= =?Windows-1252?Q?35snmpAAb0A/PmSMvQeZOtuZF28DooWKPSDW6cR8UO/xsvAD/Gsrmvel?= =?Windows-1252?Q?S6zzUPxeRp0jy/+1sweQa4sflx01ssep149/RxTm0SqD9auqlNAo5Mwh?= =?Windows-1252?Q?g4mehKcUnGHMAV9mYV5Mstap6DQ6eOSFLozDtRJzJD8vrIsl+vqwqqQx?= =?Windows-1252?Q?0OR9wcdxizdosBnzbVD33TEe8cCoORkvdF5OTaNs/AchnMEYng++RDYJ?= =?Windows-1252?Q?7IvobOSt7+Quifpsix0ojID1/P3tk4bcsdkF5Y2BL2zmybMQi6SmXA/Z?= =?Windows-1252?Q?gABCL1nYEOswiRywLpAEX+3Oo5JZDP3E/pajYdMxjLvY12cGgzms2k1j?= =?Windows-1252?Q?EdZ8JV0JmG880FrQiwMFf+AkpJEmDgLBNtHPIePQ+Hhqdl1YFZ9R1fQs?= =?Windows-1252?Q?EkXkCsv9btmRe71M1jabKbJaHW35nEEUtvZ0Vcj2Llu1TVTa4q+ZP6nk?= =?Windows-1252?Q?1ryWRKRYrzbcR2eLcpDkyTF7TtiJeVeN7DHUp+loabhyjB44RCPHk7lo?= =?Windows-1252?Q?UpvKUzpFVYMfhN6QjTy/EWCKkJ+1+XwhyGp1nlrn/uq5LwxnVpozeRmW?= =?Windows-1252?Q?dDadcWylSbyTdwBxYRShA5QmoJOjkCjNk6vlLDm3NbuutH6DYs1YUfWf?= =?Windows-1252?Q?WRzwwazxqNh/2tpAKFaLQcmmZRjHXmoJIp6wL4LVophrdh0LvU536Jcw?= =?Windows-1252?Q?F0yXsgDzvLU93nG8x6l90pmihXu6t/WNZ9ejO1U2L2M1bG2HgQwKfn6q?= =?Windows-1252?Q?o14N7teFLkrHhcdPKpL58kFCF6ioTPwetrcO8eo2sp1JV1imeydHSd6R?= =?Windows-1252?Q?4Y+cu2sri3vuwz0ZRsHspsmHTMm28I7OWTT1x9QnXd+M3VlxOQAzLF4h?= =?Windows-1252?Q?0YbyA9zW+Ikc+lCCaz1t+G4pOKlnMurhOGnYlH0e2Z7+cm4QkheL+Did?= =?Windows-1252?Q?Bh8ah3uMRYUc7CpFGpRuhguQhCx3babJhIt6N9+MdzKVU2TZYGNBnuvm?= =?Windows-1252?Q?hoPewGy/y6xBLKlR1rWWLlmdTXmR+iPpGPZ26W5YtLcYxBl3LQrgOyEt?= =?Windows-1252?Q?jeihN5KLr9/T6Aae45O2/aHkx8wObaIKMcNxYU5TK7V?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR11MB1636;6:qIIyYoJsBoqzHUVNvJvbhme+7m1i59gxhHAoHJw1pSd7jkQgsnbWpbyiygUu/dMZEcg8UACjo9D9fv1WOdvajhZG0vo6wyvgxExXxKv9JdzEu+3yyENmlmXB5gRwScbeYGkfhgrqkJoi4sRYyf1gyQcY4UZljBBYMIHneIpQ/Wlry5/mONlOYhHZP2aZ7Qpau2RD9O8WUUdx8nFBDBlPlsp9gfrOx9srUrvn9k6sKGr9gARalVEBgma4nhmcsgf34+ONPppAVsU+u3lt10sEtULY+MvP4emiG+Vo358RmzQeVAfqa8ydH7aBWDQCEWIaATKreQr5YderJGdKpl8BrZln21A1GXy9xMkkfzGF4WElPVXy7jvt1iUDtxbSQC15ZEzRZnSZRWG9MDaU0JuTSfX6P5UNInbDOTn9CQklJ0BXQB+rYL45cchO070XR2U/;5:gztZxR/6fq9gV1mtxR4FBmGJpNt1roSHMhB6MFO7ptJLCkXQY0MGf4CkP4ZnVaj9yW1H8wx+uhy9jB1ItW5RQcn+uttWR9VKqHCgxwndmWy8o8MI2eXgOb2dFzg+u+3GJdK/9AMCpWu/qPG8j/V7tw==;24:LkFwHhRfibSjk5oSUDv1SjeWXdB5ZVoijnKJqoW+aML5i+ZytFqDXrfOsNpRHrfeiXNSbezC0RZD/DuTvN30pid3A4lFRPzEAaWzvYVcX7s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR11MB1636;7:iaw0hwXz0m6U9HLU7W66Ko0FThxUadXjotU7BpKqMFXjwo3wH6TDeFKHlZQ56n9jQs5e9wq+I+HYbLLu/cAC3/VNdOxEiC78u61TMAIKNKW5DFsvgVWS6D9xhUB6fhQ6hZhwDElqFCaQOfcAWCzU0XBXsq6fePv+ilA1pglE2BWMho7oCew968MB/+Grr5h+5j3xOn7CxqyTEqMq2todh52plkhiERc2nnT0OF6Aat4CWzMGkkEM5E1Ghfx/ODJbuawvXpyz8qmxOyZhu889SeeiAQHCz3wKIEDJyYKjjiiBT0TrRHn38jXXDJRIv9dTDHZe01Q0Z9WjcU7SI/tv78IhXuyZXOuXvh24NDvWdbswK5uhciE0jONBAFKc4UpCEnOkwHwRMpcYv5Bja8vBK0ULmogv5ONIlv8mdUmziCeAInkrK/2pKtzI9573W44HN/dTBVS0WAsXz9tyVjr16w== X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2017 22:54:41.7618 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1636 X-Pg-Spam-Score: -1.9 (-) 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 On 1/21/17 6:42 PM, Jim Nasby wrote: > On 12/26/16 2:31 AM, Kyotaro HORIGUCHI wrote: >> The points of discussion are the following, I think. >> >> 1. The first patch seems working well. It costs the time to scan >> the whole of a catcache that have negative entries for other >> reloids. However, such negative entries are created by rather >> unusual usages. Accesing to undefined columns, and accessing >> columns on which no statistics have created. The >> whole-catcache scan occurs on ATTNAME, ATTNUM and >> STATRELATTINH for every invalidation of a relcache entry. > > I took a look at this. It looks sane, though I've got a few minor > comment tweaks: > > + * Remove negative cache tuples maching a partial key. > s/maching/matching/ > > +/* searching with a paritial key needs scanning the whole cache */ > > s/needs/means/ > > + * a negative cache entry cannot be referenced so we can remove > > s/referenced/referenced,/ > > I was wondering if there's a way to test the performance impact of > deleting negative entries. I did a make installcheck run with CATCACHE_STATS to see how often we get negative entries in the 3 caches affected by this patch. The caches on pg_attribute get almost no negative entries. pg_statistic gets a good amount of negative entries, presumably because we start off with no entries in there. On a stable system that presumably won't be an issue, but if temporary tables are in use and being analyzed I'd think there could be a moderate amount of inval traffic on that cache. I'll leave it to a committer to decide if they thing that's an issue, but you might want to try and quantify how big a hit that is. I think it'd also be useful to know how much bloat you were seeing in the field. The patch is currently conflicting against master though, due to some caches being added. Can you rebase? BTW, if you set a slightly larger context size on the patch you might be able to avoid rebases; right now the patch doesn't include enough context to uniquely identify the chunks against cacheinfo[]. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers