4 Mar 2012 14:15
Performance with large-ish Mailbox
Thomas Orgis <thomas-forum <at> orgis.org>
2012-03-04 13:15:39 GMT
2012-03-04 13:15:39 GMT
Hi, I just set up NOCC as a simple means to web mail access. So far, it's working, which puts it ahead of the competition that I tried to get running. I like the approach, and I could be happy. But of course I did not subscribe to the list just to paise (but still, thanks for providing such a tool(Continue reading). My point: I got a mailbox that contains 7 days of mail; the regular POP3 client deletes stuff after a week. In the world with SPAM (which I filter client-side), this amounts to about 700 mails currently. With that amount, NOCC running on the same machine as the POP3 server, NOCC takes _very_ much time for any action with that account. I have to wonder: Could it be that it grabs a full copy of the mailbox on each run? My normal POP3 client first fetches an index (which contains message IDs, I suppose), matches that against a local cache and only transfers the messages that are new. This is very fast, over the internet. Now, getting a listing of POP3 messages and fetching 25 (or 50, whatever the setting for one page is) of them should be much faster than what is happening. Also, since NOCC also takes very much time on things that are unrelated to the actual messages (Preferences), I have the suspicion that the full mailbox is loaded on each run, even if it's not needed. Are my assumptions true here? In that case, performance would be easy to get within reasonable bounds, unless the API used for POP3 access only allows all or nothing. I don't have PHP experience, so I rather ask here before haplessly digging around in the code and reading API docs that may or may not be adequate. I appreciate any pointers... Alrighty then, Thomas PS: Hacking would perhaps be a bit easier for me if you didn't move from Perl to begin with
![]()
.
My point: I got a mailbox that contains 7 days of mail; the regular POP3 client deletes stuff after a week. In
the world with SPAM (which I filter client-side), this amounts to about 700 mails currently. With that
amount, NOCC running on the same machine as the POP3 server, NOCC takes _very_ much time for any action with
that account.
I have to wonder: Could it be that it grabs a full copy of the mailbox on each run? My normal POP3 client first
fetches an index (which contains message IDs, I suppose), matches that against a local cache and only
transfers the messages that are new. This is very fast, over the internet. Now, getting a listing of POP3
messages and fetching 25 (or 50, whatever the setting for one page is) of them should be much faster than
what is happening. Also, since NOCC also takes very much time on things that are unrelated to the actual
messages (Preferences), I have the suspicion that the full mailbox is loaded on each run, even if it's not needed.
Are my assumptions true here? In that case, performance would be easy to get within reasonable bounds,
unless the API used for POP3 access only allows all or nothing. I don't have PHP experience, so I rather ask
here before haplessly digging around in the code and reading API docs that may or may not be adequate.
I appreciate any pointers...
Alrighty then,
Thomas
PS: Hacking would perhaps be a bit easier for me if you didn't move from Perl to begin with
Can you test it with a IMAP connection?
Greetings,
Tim
------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
RSS Feed