aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2014-05-08 21:11:47 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2014-05-08 21:11:47 -0400
commitb910d7ea358b0134d170ebf4002248df25a5f244 (patch)
treef8872b4c8d4f2cd51e3367497b2e83773e67a961
parenta16d421ca4fc639929bc964b2585e8382cf16e33 (diff)
downloadpostgresql-b910d7ea358b0134d170ebf4002248df25a5f244.tar.gz
postgresql-b910d7ea358b0134d170ebf4002248df25a5f244.zip
Increase the default value of effective_cache_size to 4GB.
Per discussion, the old value of 128MB is ridiculously small on modern machines; in fact, it's not even any larger than the default value of shared_buffers, which it certainly should be. Increase to 4GB, which is unlikely to be any worse than the old default for anyone, and should be noticeably better for most. Eventually we might have an autotuning scheme for this setting, but the recent attempt crashed and burned, so for now just do this.
-rw-r--r--doc/src/sgml/config.sgml4
-rw-r--r--doc/src/sgml/release-9.4.sgml18
-rw-r--r--src/backend/utils/misc/postgresql.conf.sample2
-rw-r--r--src/include/optimizer/cost.h2
4 files changed, 13 insertions, 13 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index bc5a8870444..d9e5985a16a 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -3194,8 +3194,8 @@ include 'filename'
memory allocated by <productname>PostgreSQL</productname>, nor
does it reserve kernel disk cache; it is used only for estimation
purposes. The system also does not assume data remains in
- the disk cache between queries. The default is 128 megabytes
- (<literal>128MB</>).
+ the disk cache between queries. The default is 4 gigabytes
+ (<literal>4GB</>).
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml
index 4e4f017e43c..21c6fc77f79 100644
--- a/doc/src/sgml/release-9.4.sgml
+++ b/doc/src/sgml/release-9.4.sgml
@@ -722,18 +722,10 @@
<listitem>
<para>
- Auto-tune <link
- linkend="guc-effective-cache-size"><varname>effective_cache_size</></link>
- to be four-times shared buffers (Bruce Momjian, Tom Lane)
- </para>
- </listitem>
-
- <listitem>
- <para>
Increase <link
linkend="guc-work-mem"><varname>work_mem</></link> and <link
linkend="guc-maintenance-work-mem"><varname>maintenance_work_mem</></link>
- defaults by four-times (Bruce Momjian)
+ defaults by four times (Bruce Momjian)
</para>
<para>
@@ -743,6 +735,14 @@
<listitem>
<para>
+ Increase the default setting of <link
+ linkend="guc-effective-cache-size"><varname>effective_cache_size</></link>
+ to 4GB (Bruce Momjian, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Allow terabyte units to be specified for configuration variable
values (Simon Riggs)
</para>
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 61685f7c13f..6dc0698efeb 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -283,7 +283,7 @@
#cpu_tuple_cost = 0.01 # same scale as above
#cpu_index_tuple_cost = 0.005 # same scale as above
#cpu_operator_cost = 0.0025 # same scale as above
-#effective_cache_size = 128MB
+#effective_cache_size = 4GB
# - Genetic Query Optimizer -
diff --git a/src/include/optimizer/cost.h b/src/include/optimizer/cost.h
index 3c3c63ae100..75e2afb1e2c 100644
--- a/src/include/optimizer/cost.h
+++ b/src/include/optimizer/cost.h
@@ -27,7 +27,7 @@
#define DEFAULT_CPU_INDEX_TUPLE_COST 0.005
#define DEFAULT_CPU_OPERATOR_COST 0.0025
-#define DEFAULT_EFFECTIVE_CACHE_SIZE 16384 /* measured in pages */
+#define DEFAULT_EFFECTIVE_CACHE_SIZE 524288 /* measured in pages */
typedef enum
{