Re: More shared buffers causes lower performances

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tom Lane wrote:
> Greg Smith <gsmith@xxxxxxxxxxxxx> writes:
> > On Wed, 26 Dec 2007, Guillaume Smet wrote:
> >> beta RPMs are by default compiled with --enable-debug and
> >> --enable-cassert which doesn't help them to fly fast...
> 
> > Got that right.  Last time I was going crazy after running pgbench with 
> > those options and not having realized what I changed, I was getting a 50% 
> > slowdown on results that way compared to without the debugging stuff. 
> > Didn't realize it scaled with shared_buffers though.
> 
> See AtEOXact_Buffers().  There are probably any number of other
> interesting scaling behaviors --- in my tests, AllocSetCheck() is
> normally a major cycle-eater if --enable-cassert is set, and that costs
> time proportional to the number of memory chunks allocated by the query.
> 
> Currently the docs say that --enable-cassert
> 
>          Enables <firstterm>assertion</> checks in the server, which test for
>          many <quote>cannot happen</> conditions.  This is invaluable for
>          code development purposes, but the tests slow things down a little.
> 
> Maybe we ought to put that more strongly --- s/a little/significantly/,
> perhaps?

Docs updated with attached patch, backpatched to 8.3.X.

-- 
  Bruce Momjian  <bruce@xxxxxxxxxx>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: doc/src/sgml/installation.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v
retrieving revision 1.302
diff -c -c -r1.302 installation.sgml
*** doc/src/sgml/installation.sgml	17 Feb 2008 16:36:43 -0000	1.302
--- doc/src/sgml/installation.sgml	6 Mar 2008 21:36:39 -0000
***************
*** 1144,1157 ****
          <para>
           Enables <firstterm>assertion</> checks in the server, which test for
           many <quote>cannot happen</> conditions.  This is invaluable for
!          code development purposes, but the tests slow things down a little.
           Also, having the tests turned on won't necessarily enhance the
           stability of your server!  The assertion checks are not categorized
           for severity, and so what might be a relatively harmless bug will
           still lead to server restarts if it triggers an assertion
!          failure.  Currently, this option is not recommended for
!          production use, but you should have it on for development work
!          or when running a beta version.
          </para>
         </listitem>
        </varlistentry>
--- 1144,1158 ----
          <para>
           Enables <firstterm>assertion</> checks in the server, which test for
           many <quote>cannot happen</> conditions.  This is invaluable for
!          code development purposes, but the tests can slow down the
!          server significantly.
           Also, having the tests turned on won't necessarily enhance the
           stability of your server!  The assertion checks are not categorized
           for severity, and so what might be a relatively harmless bug will
           still lead to server restarts if it triggers an assertion
!          failure.  This option is not recommended for production use, but
!          you should have it on for development work or when running a beta
!          version.
          </para>
         </listitem>
        </varlistentry>
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://mail.postgresql.org/mj/mj_wwwusr?domain=postgresql.org&extra=pgsql-performance

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux