Doc: add "performance" chapter to doc.
authorTatsuo Ishii <ishii@sraoss.co.jp>
Thu, 28 Feb 2019 00:36:24 +0000 (09:36 +0900)
committerTatsuo Ishii <ishii@sraoss.co.jp>
Thu, 28 Feb 2019 00:36:24 +0000 (09:36 +0900)
This is just a starting up and more contents will be coming.
After completing the English doc, Japanese doc will come.

doc/src/sgml/filelist.sgml
doc/src/sgml/performance.sgml [new file with mode: 0644]

index a7efd6a7a80dde53cd8105d06aed53e223da34a9..dc1e3cf476b683c993c0730cd78e0b6551c8c828 100644 (file)
@@ -60,6 +60,7 @@
 <!ENTITY memcache      SYSTEM "memcache.sgml">
 <!ENTITY ssl           SYSTEM "ssl.sgml">
 <!ENTITY watchdog      SYSTEM "watchdog.sgml">
+<!ENTITY performance   SYSTEM "performance.sgml">
 <!ENTITY misc-config   SYSTEM "misc-config.sgml">
 <!ENTITY config-last   SYSTEM "config-last.sgml">
 <!ENTITY user-manag    SYSTEM "user-manag.sgml">
diff --git a/doc/src/sgml/performance.sgml b/doc/src/sgml/performance.sgml
new file mode 100644 (file)
index 0000000..d7df790
--- /dev/null
@@ -0,0 +1,79 @@
+<!-- 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>