[Setup] RelStorage

Armando Andrade aada4u at gmail.com
Wed Jun 13 20:15:39 UTC 2012

We have a RelStorage scheme in our site, our main config is mysql based and
have these options attached:

        blob-dir /xxx/Plone/var/blobstorage/
        keep-history true
        replica-conf /xxx/Plone/etc/replicas.conf
        shared-blob-dir true

All nights we have a cron thats packs this db with zodbpack --days 0 and
this config info:

  pack-gc true
    user xxxxxx
    passwd *******
    db plonedb

We also have blobstorage so, in that way media can be appart from texts,
logs are in filesystem, but our db has grown up to 4.5Gb in 4 months, this
worries us because with this behavior in 1 year well have a 12Gb db.

We ran a test from another plone site, grab the Data.fs file and convert to
db with zodbconvert, and has grown from 82Mb to 180Mb once in mysql

the config used for zodbconvert was:

<filestorage source>
  path /srv/plone/telesur/var/filestorage/Data.fs

<relstorage destination>
    user xxxxx
    passwd ******
    db plonedb_test

for relstorage we have this:


If supplied, the storage will provide ZODB blob support; this option
specifies the name of the directory to hold blob data. The directory will
be created if it does not exist. If no value (or an empty value) is
provided, then no blob support will be provided.

If true (the default), the blob directory is assumed to be shared among all
clients using NFS or similar; blob data will be stored only on the
filesystem and not in the database. If false, blob data is stored in the
relational database and the blob directory holds a cache of blobs. When
this option is false, the blob directory should not be shared among clients.
how can we now if it is saving some transaction history in mysql, this is
no plone transactions, instead mysql modifications...
on the other size we also seen this:1) ZMI->error_log we find 2 tracebacks
like this
Traceback (innermost last):
 Module ZPublisher.Publish, line 134, in publish
 Module Zope2.App.startup, line 301, in commit
 Module transaction._manager, line 89, in commit
 Module transaction._transaction, line 329, in commit
 Module transaction._transaction, line 441, in _commitResources
 Module ZODB.Connection, line 551, in tpc_begin
 Module relstorage.storage, line 652, in tpc_begin
 Module relstorage.storage, line 281, in _restart_store
 Module relstorage.storage, line 268, in _open_store_connection
 Module relstorage.adapters.connmanager, line 109, in open_for_store
 Module relstorage.adapters.mysql, line 223, in open
 Module MySQLdb, line 81, in Connect
 Module MySQLdb.connections, line 187, in __init__
OperationalError: (1040, 'Too many connections')
2) We also have this warning2012-06-05T09:23:52 WARNING relstorage
Reconnecting store_conn: (2006,'MySQL server has gone away')
2012-06-05T09:23:52 INFO relstorage Reconnected.

we have this from mysql:

max_used_connections              | 109

and on my.cnf : max_used_connections    =  200
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.plone.org/pipermail/plone-setup/attachments/20120613/88f5f7bf/attachment.html>

More information about the Setup mailing list