Paul J Stevens wrote:
Michael Monnerie wrote:

I make an imapsync to my mailserver, which connects to the PostgreSQL db, and I get these numbers:

mailsrv -> db 15.482.309
db -> mailsrv 648.119.851

client -> mailsrv 1.771.458
mailsrv -> client 15.956.176

So with ~18MB IMAP traffic I produce ~663MB database traffic? Can somebody explain me this?

Interesting figures. Can you produce a base-line? Like say: traffic
numbers for syncing a single account, containing a single folder with a
single message of a known size, blah blah. Log the query patterns
triggered, and the traffic numbers involved. Out of curiosity. Perhaps
the explanation will jump out if the logs.

One hypothesis a priori: we don't cache as much as we could. In fact,
dbmail caches *very* little and will at times happily call the same
query a thousand times. And it doesn't even use prepared statements (yet).


I also had a hard time migrating 20GB of mbox email to dbmail, it actually took about 12 days, 3 imapsync runs with wrappers alerting me when things get ugly (granted I had the emails evenly distributed between accounts, so I could arrange a staged migration).

The figures you are talking about can be easily derived using my torture script which I wrote to track down the 2.2 memory leaks some months ago. You guys even included it in the test-scripts section. On a quick glance it will need the following modifications:

* in init_db() function, so that all resulting emails will be identical (now the subject is an incrementing number)
* in torture() imapsync is supplied a skipheader that may no longer be relevant
* at the end of the script the torture runs twice with and without G_SLICE=always-malloc which is irrelevant
* instead of t_memcheck() the dbmail-imapd daemon should be started by 
t_normal()

Cheers!
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
https://mailman.fastxs.nl/mailman/listinfo/dbmail

Reply via email to