[Dovecot] compressed mboxes very slow

Kamil Jońca kjonca at o2.pl
Thu Jan 12 12:39:06 EET 2012


kjonca at o2.pl (Kamil Jońca) writes:

> I have some archive mails in gzipped mboxes. I could use them with
> dovecot 1.x without problems.
> But recently I have installed dovecot 2.0.12, and they are slow. very
> slow.


Recently I have to read some compressed mboxes again, and no progress :(
I took 2.0.17 sources and   put some 
	i_debug ("#kjonca["__FILE__",%d,%s] %d",  __LINE__,__func__,...some parameters ...);	

lines into istream-bzlib.c, istream-raw-mbox.c and istream-limit.c 
and found that:

in istream-limit.c in function around lines 40-45:
--8<---------------cut here---------------start------------->8---
 i_stream_seek(stream->parent, lstream->istream.parent_start_offset +
                   stream->istream.v_offset);
 stream->pos -= stream->skip;
 stream->skip = 0;
--8<---------------cut here---------------end--------------->8---
seeks stream, (calling i_stream_raw_mbox_seek in file istream-raw-mbox.c )  

and then (line 50 )
--8<---------------cut here---------------start------------->8---
        if ((ret = i_stream_read(stream->parent)) == -2)
            return -2;
--8<---------------cut here---------------end--------------->8---

tries to read some data earlier in stream, and with compressed mboxes it
cause reread file from the beginning. 

Then I commented out (just for testing) lines 40-45 from istream-limit.c
and bzipped mbox can be opened in reasonable time. (MOreover I can read
some randomly picked mails without problems)


Unfortunately, meanig of fields in istream* structures is very unclear
for me (especially skip,pos and offset) to write proper code by myself.

KJ
 
-- 
http://sporothrix.wordpress.com/2011/01/16/usa-sie-krztusza-kto-nastepny/
Jak ktoś ma pecha, to złamie ząb podczas seksu oralnego (S.Sokół)




More information about the dovecot mailing list