[Alpine-info] Large Folders in Alpine
jimis at gmx.net
Wed Jan 9 15:25:42 PST 2008
On Tue, 8 Jan 2008, Edd Barrett wrote:
> On Wed, 9 Jan 2008, Asheesh Laroia wrote:
>> On Wed, 9 Jan 2008, Dan Mahoney, System Admin wrote:
>> The Dovecot 1.1s are in beta; when they are released I will write a proper
>> article somewhere about this and let alpine-info know. (-:
> I don't knwo what IMAP server gmail runs under the hood, but I
> definately will not be able to change th settings on it :(
> I have just opened my OpenBSD mailing list "label" (as they are called
> in gmail) and it took about 15 mins to open.
> Here is the output of top for that process:
> PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU
> 15242 edd 2 0 123M 124M sleep poll 0:27 3.76%
CPU? OS? How many mails in the mailbox?
> Would you agree this is a problem?
Really strange! From my experience alpine is the *only* client in
existance able to handle large IMAP mailboxes. The following numbers are
from when using alpine on OpenBSD, connected to a dovecot 1.0 server:
Fistly, a newly opened alpine showing the alpine-info list, which has few
22190 jimis 2 0 4776K 5960K sleep poll 0:01 0.00% alpine
And second, here is the memory usage when I open a *huge* mailing list
folder (~215K messages):
22190 jimis 2 0 45M 46M sleep poll 0:04 4.59% alpine
It needs about 30 seconds to open, but I know this is because of delays in
dovecot. I know that when alpine receives the reply from the IMAP server
it displays it almost instantly. The only performance issue that I
currently have with dovecot is when I enable threaded view, as I reported
on a different mail.
So you need to find out if it is the IMAP server or alpine that is slow. I
would suggest you to run alpine with "-d imap=4,flush" options and tail -f
.pine-debug1 (on another note, shouldn't these be renamed to
alpine-debug?). Also run top and see if alpine uses CPU or just sits idle,
while loading the huge mailbox.
P.S. Something that shows from the top output we've pasted is that
alpine when idle is constantly poll()ing. Shouldn't it just use select()?
Slightly irrelevant but worth mentioning.
More information about the Alpine-info