info-gnus-english
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gnus hangs after "Quickly checking mailbox INBOX" for way too long


From: Tassilo Horn
Subject: Re: Gnus hangs after "Quickly checking mailbox INBOX" for way too long
Date: Fri, 20 Feb 2009 11:29:24 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux)

Sébastien Vauban <address@hidden>
writes:

Hi Sébastien,

>> I run a local dovecot imap server here, and even with my big
>> emacs-devel group (16.000+ messages) checking for new messages
>> finishes instantly.
>
> What a dream... Really.
>
>> Are you sure that the slowness comes from Gnus and not Courier? Maybe
>> test with another client.
>
> Tests from clients like Outlook or Thunderbird don't show such a
> slowness (20 seconds or more).

Hm, ok.

>> If the problem is Gnus, then set imap-debug, imap-log, and
>> nnimap-debug to t and look in the log/debug buffers what Gnus is
>> doing all the time.
>
> Good thing to do, yes.
>
> I did not see anything really special in it, but I've never seen debug
> logs from other Gnus systems either.

I've seen logs, but I cannot really make use with them.

> For privacy, I just replaced names of real boxes with XXX.
>
> Here are the logs:
>
> ======================================================================
> 1 -> nnimap-server-opened: server="mc"
> 1 <- nnimap-server-opened: t
> ======================================================================
> 1 -> nnimap-request-scan: group=nil server="mc"
> | 2 -> nnimap-split-articles: group=nil server="mc"
> | | 3 -> nnimap-possibly-change-server: server="mc"
> | | 3 <- nnimap-possibly-change-server: " *nnimap* mc"
> | | 3 -> nnimap-split-find-inbox: server="mc"
> | | 3 <- nnimap-split-find-inbox: ("INBOX")
> | | 3 -> nnimap-possibly-change-group: group="INBOX" server=nil
> | | | 4 -> nnimap-possibly-change-server: server=nil
> | | | 4 <- nnimap-possibly-change-server: " *nnimap* mc"
> | | | 4 -> nnimap-verify-uidvalidity: group="INBOX" server="mc"
> | | | 4 <- nnimap-verify-uidvalidity: t
> | | 3 <- nnimap-possibly-change-group: "INBOX"
> | | 3 -> nnimap-split-find-rule: server="mc" inbox="INBOX"
> | | 3 <- nnimap-split-find-rule: bbdb/gnus-split-method
> | 2 <- nnimap-split-articles: t
> 1 <- nnimap-request-scan: t
> ======================================================================
> 1 -> nnimap-server-opened: server="mc"
> 1 <- nnimap-server-opened: t
> ======================================================================
> 1 -> nnimap-retrieve-groups: groups=("shared.Spam-Reporting.Spam" 
> "shared.Spam-Reporting.Ham" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" 
> "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX-reviews" "INBOX.XXX" 
> "INBOX.XXX" "INBOX.XXX-reviews" "INBOX.XXX-reviews" "INBOX.XXX-diff" 
> "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" 
> "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" 
> "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" 
> "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" "INBOX.XXX" 
> "INBOX.XXX" "INBOX") server="mc"
> | 2 -> nnimap-possibly-change-server: server="mc"
> | 2 <- nnimap-possibly-change-server: " *nnimap* mc"
> | 2 -> nnimap-before-find-minmax-bugworkaround: 
> | 2 <- nnimap-before-find-minmax-bugworkaround: t
> | 2 -> nnimap-find-minmax-uid: group="INBOX" examine=examine
> | 2 <- nnimap-find-minmax-uid: (1459 78 91896)
> 1 <- nnimap-retrieve-groups: active
>
> Is it normal to see things like "possibly change server"?

Yes, I have pretty similar output, also with the "possibly change
server".

> The other log:
>
> 865 NOOP
> 865 OK NOOP completed
> 866 SELECT "INBOX"
> * FLAGS ($MDNSent gnus-forward NonJunk $Forwarded \Draft \Answered \Flagged 
> \Deleted \Seen \Recent)
> * OK [PERMANENTFLAGS ($MDNSent gnus-forward NonJunk $Forwarded \* \Draft 
> \Answered \Flagged \Deleted \Seen)] Limited
> * 1457 EXISTS
> * 0 RECENT
> * OK [UIDVALIDITY 1092655824] Ok
> * OK [MYRIGHTS "acdilrsw"] ACL
> 866 OK [READ-WRITE] Ok
> 867 UID SEARCH UNSEEN UNDELETED
> * SEARCH
> 867 OK SEARCH done.
> 868 EXPUNGE
> 868 OK EXPUNGE completed
> 869 CLOSE
> 869 OK mailbox closed.
> 870 NOOP
> 870 OK NOOP completed
> 871 STATUS "shared.Spam-Reporting.Spam" (UIDVALIDITY UIDNEXT UNSEEN)
> 872 STATUS "shared.Spam-Reporting.Ham" (UIDVALIDITY UIDNEXT UNSEEN)
> 873 STATUS "INBOX.XXX" (UIDVALIDITY UIDNEXT UNSEEN)

[...]

> 910 STATUS "INBOX.XXX" (UIDVALIDITY UIDNEXT UNSEEN)
> 911 STATUS "INBOX" (UIDVALIDITY UIDNEXT UNSEEN)
> * STATUS "shared.Spam-Reporting.Spam" (UIDNEXT 7647 UIDVALIDITY 1093254155 
> UNSEEN 0)
> 871 OK STATUS Completed.

[...]

> * STATUS "INBOX.XXX" (UIDNEXT 191 UIDVALIDITY 1093254159 UNSEEN 0)
> 910 OK STATUS Completed.
> * STATUS "INBOX" (UIDNEXT 91897 UIDVALIDITY 1092655824 UNSEEN 2)
> 911 OK STATUS Completed.
> 912 EXAMINE "INBOX"
> * FLAGS ($MDNSent gnus-forward NonJunk $Forwarded \Draft \Answered \Flagged 
> \Deleted \Seen \Recent)
> * OK [PERMANENTFLAGS ()] No permanent flags permitted
> * 1459 EXISTS
> * 2 RECENT
> * OK [UIDVALIDITY 1092655824] Ok
> * OK [MYRIGHTS "acdilrsw"] ACL
> 912 OK [READ-ONLY] Ok
> 913 FETCH 1,* UID
> * 1 FETCH (UID 78)
> * 1459 FETCH (UID 91896)
> 913 OK FETCH completed.
> 914 STATUS "INBOX" (UIDNEXT)
> * STATUS "INBOX" (UIDNEXT 91897)
> 914 OK STATUS Completed.

This also looks pretty similar to what's logged here.

> When sniffing with wireshark, I see that each interaction between
> request and response takes a couple of 100 ms up to 6 seconds when
> it's querying the status of INBOX.work (which contains ~ 20,000
> mails).

That's pretty strange.  Especially, why do you the other clients you've
tried not suffer from that big latency?  Maybe they use some caching and
do time consuming queries in a separate thread, so that you don't notice
it.

> 40 times such a query explains why it takes in total something like 20
> seconds to complete the "refresh"... But it's still bad for me...

Sure.

> Any helping comment?

I'd recommend to ask on ding.  There're the IMAP experts.

Else I can only advertise my setup: I run a local dovecot IMAP server
and use offlineIMAP (via cron) to sync the messages from my 2 remote
IMAP accounts (private and work) with dovecot.  This works very nice,
the setup is quite easy and then access to your mail is super-fast.

Bye,
Tassilo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]