Gnus development mailing list
 help / color / mirror / Atom feed
From: Daniel Pittman <daniel@rimspace.net>
To: ding@gnus.org
Subject: Re: Slowdowns with big nnmaildir groups
Date: Sat, 02 Feb 2008 10:42:56 +1100	[thread overview]
Message-ID: <87k5loqm4f.fsf@rimspace.net> (raw)
In-Reply-To: <8763x83hl9.fsf@member.fsf.org>

Tassilo Horn <tassilo@member.fsf.org> writes:
> Daniel Pittman <daniel@rimspace.net> writes:
>
>> You probably want to instrument nnmaildir, or possibly nn, as well as
>> gnus.
>
> I did that (with nnmaildir) and the results are in
> <87abmk3k1f.fsf@member.fsf.org>.
>
>> IIRC the nnmaildir code tries to play nice with other Maildir clients,
>> which means reading all the (giant) filenames from disk, which
>> probably works the poor kernel quite hard, especially with such a
>> large directory.
>
> Indeed, the filenames are quite big, like:
>
>   1201848492_1.4393.baldur,U=10600,FMD5=72a62f382d4bdeb4a771c2d3ea493c5d:2,:2,
>
>> Ensuring your Maildir is on a filesystem that handles large
>> directories well is probably the best bet for improving performance.
>
> Hm, it's on a ext3 filesystem.  Maybe I can improve speed with the
> dir_index option...

It certainly won't hurt.  Renewing the directory on a semi-regular
basis, by creating a new one, moving all content to it, then replacing
the original, will also help.

> OfflineIMAP has the possibility to sync an IMAP group to a mbox
> instead of a maildir, but I guess that wouldn't improve the situation.
> Currently the emacs-devel folder is about 140M big, which would exceed
> the buffer size limit on my 30Bit machine.

Yes, it wouldn't do much good if it was bigger than your Emacs can read.

For performance I would suggest one of two paths:

1. Use OfflineIMAP to sync IMAP to IMAP, and run a local IMAP server.
   This doesn't fix any performance problem with nnimap proper, but does
   insulate you from the performance hit of Maildir.
   (I recommend Dovecot for this purpose, if you must.)

2. Write an nnml (better) or nnmh (easier) back-end for OfflineIMAP,
   contribute it upstream, and use that.  nnml with NOV support would be
   the best option, but there may be significant complexity in getting
   this to work coupled with renaming and moving messages between
   folders.

It looks like their code is reasonably well structured and the basics of
adding a new back-end will be easy.

I don't think you will find the improvements you are looking for with
the nnmaildir back-end, though I can't say that with absolute certainty.

Regards,
        Daniel
-- 
Daniel Pittman <daniel@cybersource.com.au>           Phone: 03 9428 6922
1/130-132 Stawell St, Richmond              Web: http://www.cyber.com.au
Cybersource: Australia's Leading Linux and Open Source Solutions Company




  parent reply	other threads:[~2008-02-01 23:42 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-01  8:35 Tassilo Horn
2008-02-01 11:22 ` David
2008-02-01 12:02   ` Tassilo Horn
2008-02-01 12:29     ` David
2008-02-01 13:04       ` Tassilo Horn
2008-02-01 12:35     ` Daniel Pittman
2008-02-01 13:57       ` Tassilo Horn
2008-02-01 18:25         ` David
2008-02-01 18:48           ` Tassilo Horn
2008-02-01 23:43             ` Daniel Pittman
2008-02-01 23:42         ` Daniel Pittman [this message]
2008-02-02  0:33           ` Tassilo Horn
2008-02-01 21:00 ` Ted Zlatanov
2008-02-01 22:28   ` Tassilo Horn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k5loqm4f.fsf@rimspace.net \
    --to=daniel@rimspace.net \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).