New internal connection pool and its statistics

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@334467 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Ulf Wendel 2014-08-02 17:52:33 +00:00
parent c00ccb3d5e
commit dd3aac4e4f
2 changed files with 90 additions and 0 deletions

View file

@ -87,6 +87,28 @@
<para>
Feature changes
<itemizedlist>
<listitem>
<para>
Introduced an internal connection pool. When using Fabric and switching
from shard group A to shard group B, we are replacing the entire list of
masters and slaves. This troubles the connections state alignment logic and
some filters. Some filters cache information on the master and slave lists.
The new internal connection pool abstraction allows us to inform the filters
of changes, hence they can update their caches.
</para>
<para>
Later on, the pool can also be used to reduce connection overhead. Assume
you are switching from a shard group to another and back again. Whenever
the switch is done, the pool's active server (and connection) lists are
replaced. However, no longer used connections are not necessarily closed
immediately but can be kept in the pool for later reuse.
</para>
<para>
Please note, the connection pool is internalat this point. There are some
new statistics to monitor it. However, you cannot yet configure pool size
of behaviour.
</para>
</listitem>
<listitem>
<para>
Added a basic distributed transaction abstraction.

View file

@ -594,6 +594,74 @@
</entry>
<entry>Since 1.6.0.</entry>
</row>
<row>
<entry>
<literal>pool_masters_total</literal>
</entry>
<entry>
Number of master servers (connections) in the internal connection pool.
</entry>
<entry>Since 1.6.0.</entry>
</row>
<row>
<entry>
<literal>pool_slaves_total</literal>
</entry>
<entry>
Number of slave servers (connections) in the internal connection pool.
</entry>
<entry>Since 1.6.0.</entry>
</row>
<row>
<entry>
<literal>pool_masters_active</literal>
</entry>
<entry>
Number of master servers (connections) from the internal connection pool
which are currently used for picking a connection.
</entry>
<entry>Since 1.6.0.</entry>
</row>
<row>
<entry>
<literal>pool_slaves_active</literal>
</entry>
<entry>
Number of slave servers (connections) from the internal connection pool
which are currently used for picking a connection.
</entry>
<entry>Since 1.6.0.</entry>
</row>
<row>
<entry>
<literal>pool_updates</literal>
</entry>
<entry>
Number of slave servers (connections) from the internal connection pool
which are currently used for picking a connection.
</entry>
<entry>Since 1.6.0.</entry>
</row>
<row>
<entry>
<literal>pool_master_reactivated</literal>
</entry>
<entry>
How often a master connection has been reused after being
flushed from the active list.
</entry>
<entry>Since 1.6.0.</entry>
</row>
<row>
<entry>
<literal>pool_slave_reactivated</literal>
</entry>
<entry>
How often a slave connection has been reused after being
flushed from the active list.
</entry>
<entry>Since 1.6.0.</entry>
</row>
</tbody>
</tgroup>
</informaltable>