--- /dev/null
+<!-- doc/src/sgml/performance.sgml -->
+
+<chapter id="performance">
+ <title>Performance Consideration</title>
+
+ <indexterm>
+ <primary>performance</primary>
+ <secondary>of the server</secondary>
+ </indexterm>
+
+ <para>
+ There are many configuration parameters that affect the performance of
+ <productname>Pgpool-II</productname>. In this chapter explanations
+ how to tune them are given.
+ </para>
+
+ <sect1 id="resource-requiremente">
+ <title>Resource Requirement</title>
+
+ <para>
+ <productname>Pgpool-II</productname> does not consume too much
+ resource. However there are minimum requirements for
+ resource. In this section we are going to explain one by one.
+ </para>
+
+ <sect2 id="memory-requirement">
+ <title>Memory Requirement</title>
+
+ <para>
+ There are two types of memory usage
+ in <productname>Pgpool-II</productname>: shared memory and
+ process private memory. The former is allocated at the startup
+ of <productname>Pgpool-II</productname> main server process
+ and will not be freeed until
+ whole <productname>Pgpool-II</productname> servers shut down.
+ The latter is allocated within
+ each <productname>Pgpool-II</productname> child process and
+ will be freed at the end of the process.
+ </para>
+
+ <sect3 id="shared-memory-requirement">
+ <title>Shared Memory Requirement</title>
+
+ <para>
+ Here is a fomula to calculate the shared memory requirement.
+ <programlisting>
+Shared memory requirement (in bytes) = <xref linkend="guc-num-init-children"> * <xref linkend="guc-max-pool"> * 17408
+ </programlisting>
+ For example if you have <varname>num_init_children</varname> = 32 (the default) and <varname>max_pool</varname> = 4 (the
+ default), then you will need 32 * 4 * 17408 = 2228224 bytes = 2.1 MB.
+ </para>
+
+ <para>
+ If you plan to use in memory query cache
+ (see <xref linkend="runtime-in-memory-query-cache"> for more
+ details) in the shared memory, you will need more RAM for
+ it. See
+ <xref linkend="guc-memqcache-total-size"> and
+ <xref linkend="guc-memqcache-max-num-cache"> for required RAM
+ size.
+ </para>
+
+ </sect3>
+
+ <sect3 id="process-memory-requirement">
+ <title>Process Memory Requirement</title>
+ <para>
+
+ Here is a fomula to calculate the process memory requirement.
+ <programlisting>
+Process memory requirement in total (in mega bytes) = <xref linkend="guc-num-init-children"> * 5
+ </programlisting>
+ For example if you have <varname>num_init_children</varname> =
+ 32 (the default), you will need 160MB.
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
+</chapter>