Fri Dec 9 19:42:50 PST 2005
- Previous message: [Slony1-commit] By cbbrowne: New Directory
- Next message: [Slony1-commit] By cbbrowne: Bug #1481 - missing column names in log shipping statements
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Log Message: ----------- Document the memory usage change made this week. 1. Change FAQ to indicate the resolution in 1.2 2. Add new parameters to slonconf.sgml Modified Files: -------------- slony1-engine/doc/adminguide: faq.sgml (r1.47 -> r1.48) slonconf.sgml (r1.10 -> r1.11) -------------- next part -------------- Index: slonconf.sgml =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/doc/adminguide/slonconf.sgml,v retrieving revision 1.10 retrieving revision 1.11 diff -Ldoc/adminguide/slonconf.sgml -Ldoc/adminguide/slonconf.sgml -u -w -r1.10 -r1.11 --- doc/adminguide/slonconf.sgml +++ doc/adminguide/slonconf.sgml @@ -335,6 +335,48 @@ </listitem> </varlistentry> + <varlistentry id="slon-config-max-rowsize" xreflabel="sync_max_rowsize"> + <term><varname>sync_max_rowsize</varname> (<type>integer</type>)</term> + <indexterm> + <primary><varname>sync_max_rowsize</varname> configuration parameter</primary> + </indexterm> + <listitem> + <para>Size above which an sl_log_? row's + <envar>log_cmddata</envar> is considered large. Up to 500 + rows of this size are allowed in memory at once. Rows larger + than that count into the <envar>sync_max_largemem</envar> + space allocated and <function>free()</function>'ed on demand. + </para> + + <para>The default value is 8192, meaning that your expected + memory consumption (for the LOG cursor) should not exceed 8MB. + </para> + </listitem> + </varlistentry> + + <varlistentry id="slon-config-max-largemem" xreflabel="sync_max_largemem"> + <term><varname>sync_max_largemem</varname> (<type>integer</type>)</term> + <indexterm> + <primary><varname>sync_max_largemem</varname> configuration parameter</primary> + </indexterm> + <listitem> + <para>Maximum memory allocated for large rows, where + <envar>log_cmddata</envar> are larger than + <envar>sync_max_rowsize</envar>. </para> + + <para>Note that the algorithm reads rows until + <emphasis>after</emphasis> this value is exceeded. Otherwise, + a tuple larger than this value would stall replication. As a + result, don't assume that memory consumption will remain + smaller than this value. + </para> + + <para> The default value is 5242880.</para> + </listitem> + </varlistentry> + + + </variablelist> </sect1> </article> Index: faq.sgml =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/doc/adminguide/faq.sgml,v retrieving revision 1.47 retrieving revision 1.48 diff -Ldoc/adminguide/faq.sgml -Ldoc/adminguide/faq.sgml -u -w -r1.47 -r1.48 --- doc/adminguide/faq.sgml +++ doc/adminguide/faq.sgml @@ -1731,10 +1731,34 @@ default modification to make is to change the second definition of <envar> SLON_DATA_FETCH_SIZE </envar> from 10 to 1. </para> </answer> -<answer><para> There are plans to change the behaviour of <xref -linkend="slon"> to better adapt to the size of these queries for -version 1.2, so at that point, this note will hopefully become -obsolete. </para> </answer> +<answer><para> In version 1.2, configuration values <xref +linkend="slon-config-max-rowsize"> and <xref +linkend="slon-config-max-largemem"> are associated with a new +algorithm that changes the logic as follows. Rather than fetching 100 +rows worth of data at a time:</para> + +<itemizedlist> + +<listitem><para> The <command>fetch from LOG</command> query will draw +in 500 rows at a time where the size of the attributes does not exceed +<xref linkend="slon-config-max-rowsize">. With default values, this +restricts this aspect of memory consumption to about 8MB. </para> +</listitem> + +<listitem><para> Tuples with larger attributes are loaded until +aggregate size exceeds the parameter <xref +linkend="slon-config-max-largemem">. By default, this restricts +consumption of this sort to about 5MB. This value is not a strict +upper bound; if you have a tuple with attributes 50MB in size, it +forcibly <emphasis>must</emphasis> be loaded into memory. There is no +way around that. But <xref linkend="slon"> at least won't be trying +to load in 100 such records at a time, chewing up 10GB of memory by +the time it's done. </para> </listitem> +</itemizedlist> + +<para> This should alleviate problems people have been experiencing +when they sporadically have series' of very large tuples. </para> +</answer> </qandaentry> </qandaset>
- Previous message: [Slony1-commit] By cbbrowne: New Directory
- Next message: [Slony1-commit] By cbbrowne: Bug #1481 - missing column names in log shipping statements
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list