Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id E6F7E6322CA for ; Wed, 8 Sep 2010 19:00:21 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 81555-02 for ; Wed, 8 Sep 2010 22:00:12 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from vexbert.mr-paradox.net (vexbert.mr-paradox.net [198.145.180.174]) by mail.postgresql.org (Postfix) with ESMTP id BB4B663354F for ; Wed, 8 Sep 2010 19:00:13 -0300 (ADT) Received: by vexbert.mr-paradox.net (Postfix, from userid 18391) id 949B1845EE; Wed, 8 Sep 2010 18:00:11 -0400 (EDT) Date: Wed, 8 Sep 2010 15:00:11 -0700 From: David Kerr To: Kevin Grittner Cc: Greg Smith , pgsql-performance@postgresql.org, Tom Lane Subject: Re: pgbench could not send data to client: Broken pipe Message-ID: <20100908220011.GA59539@mr-paradox.net> References: <20100908174629.GD40339@mr-paradox.net> <8037.1283973026@sss.pgh.pa.us> <4C87E3A6.8060800@2ndquadrant.com> <20100908195654.GB49941@mr-paradox.net> <9771.1283978128@sss.pgh.pa.us> <20100908204443.GG49941@mr-paradox.net> <4C87B22802000025000353B7@gw.wicourts.gov> <20100908212056.GI49941@mr-paradox.net> <4C87BF0502000025000353BE@gw.wicourts.gov> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4C87BF0502000025000353BE@gw.wicourts.gov> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.595 tagged_above=-10 required=5 tests=BAYES_00=-1.9, SARE_MILLIONSOF=0.315, T_RP_MATCHES_RCVD=-0.01 X-Spam-Level: X-Archive-Number: 201009/39 X-Sequence-Number: 40242 On Wed, Sep 08, 2010 at 04:51:17PM -0500, Kevin Grittner wrote: - David Kerr wrote: - - > Hmm, i'm not following you. I've got 48 cores. that means my - > sweet-spot active connections would be 96. - - Plus your effective spindle count. That can be hard to calculate, - but you could start by just counting spindles on your drive array. We've got this weird LPAR thing at our hosting center. it's tough for me to do. - > Now if i were to connection pool that out to 15 people per - > connection, - - Where did you get that number? We routinely route hundreds of - requests per second (many of them with 10 or 20 joins) from five or - ten thousand connected users through a pool of 30 connections. It - started out bigger, we kept shrinking it until we hit our sweet - spot. The reason we started bigger is we've got 40 spindles to go - with the 16 cores, but the active portion of the database is cached, - which reduces our effective spindle count to zero. That's encouraging. I don't remember where I got the number from, but my pooler will be Geronimo, so i think it came in that context. - > that's 1440 users "total" able to use my app at one time. (with - > only 96 actually doing anything). not really great for a web-based - > app that will have millions of users accessing it when we're fully - > ramped up. - - Once you have enough active connections to saturate the resources, - adding more connections just adds contention for resources and - context switching cost -- it does nothing to help you service more - concurrent users. The key is, as I mentioned before, to have the - pooler queue requests above the limit and promptly get them running - as slots are freed. Right, I understand that. My assertian/hope is that the saturation point on this machine should be higher than most. Dave