Slow reading of large dovecot-uidlist files

Bostjan Skufca bostjan at a2o.si
Sun Apr 10 21:35:16 UTC 2016


I tested this by timestamping tcpdump output while issuing this command
directly to dovecot (limit 100 works, but does nothing) and there is no
difference, it keeps taking ~160ms to respond.

b.


On 10 April 2016 at 10:27, Adrian Minta <adrian.minta at gmail.com> wrote:

> It will be nice if the "SELECT MyMailbox" command will be "SELECT
> mymailbox LIMIT 100" or something, to get the first files since only the
> last messages are shown to the user.
> I don't know if "Limit" clause is available over IMAP.
>
>
>
>
> On 04/09/2016 09:04 PM, Bostjan Skufca wrote:
>
>> Hi there,
>>
>> (context: I was optimizing Roundcube mailbox list server response, and in
>> that 300-400ms response time, around 170ms is spent on single fgets() call
>> which is waiting IMAP repsonse to "SELECT MyMailbox" command)
>>
>> I straced dovecot and of the whole request/response process, around 30ms
>> is
>> spent for everything else, and overwhelming majority of time (150-170ms)
>> is
>> spent for reading dovecot-uidlist file for given mailbox.
>>
>> I skimmed over src/lib-storage/index/maildir/maildir-uidlist.c
>> and src/src/lib/istream.c, but I am out of ideas on how to optimize
>> mentioned file reading elegantly to make it faster.
>>
>> Is there any way to cache parsed content of uidlist file(s) or some other
>> obvious quicktrick I am missing to speed this process up?
>>
>> Does anyone have any other ideas, how to speed this up?
>>
>>
>> b.
>>
>
> --
> Best regards,
> Adrian Minta
>


More information about the dovecot mailing list