Jonathan Angliss wrote:


Not entirely possible.  At least not with accurate results.  Plus I think
the hold up is in the processing of the THREAD results, and not the
fetching of the message headers.  The problem you're going to have is
you're going to have to fetch the whole thread response to find out which
block of 5000 you want to fetch.  The second problem is, 5000 messages
aren't necessarily going to be sequential numbers, so you cannot even
guess a range.

I think yes. So we know the whole number of messages. It is 20.000.
SM don't says SORT (ARRIVAL) ISO-8859-2 ALL, rather It says SORT (ARRIVAL) ISO-8859-2 20000,19999,19998,19997..., ...,15000 Nobody cares about the 13422th message. If user wants to access it, ok, then say to get the second 5000 block, from 15000-10000

Remember: users don't want ot acces all of their emails stored on an imap server. they use only the last message, however the option to acces _quickly_ older messages is neccessary.


It might be wise to do one of the following:

  - Automagically turn off threading option on folders above X messages
  - Fetch only X days/weeks/months worth of threading information.


The only time we'd ever fetch the full 4M message headers was if you were
using client side sorting.  And if you are, then you'd stop using
SquirrelMail in an instant.  We never fetch the full headers of the emails
if server side sorting is enabled as we fetch the unique message ids from
the IMAP server pre-sorted (by the imap server) in the order we want them.
 We then find out what page the user is actively on, and how many messages
they wish to display, and fetch just those message headers.

I think at date sorting, the imap server have to extract the Date header of all mesages if you say to sort all messages at once. The imap server has to open all 4.000.000 files and get the Date information, then sort it. What if 10 users accessing such big mailboxes simultanously. You will need a mainframe farm to process all request.

Think again. Will SM ever be usable over 100.000 message count even with server side sorting? The SORT ALL command will take about 5 minutes to finish at 100k, and imap server eats memory, cpu, io. (I can't even think on 4M.)

You can't say to query ony the last month range from the mailbox, it is possible, that the last month holds 19.000 messages of 20.000.


We use the same code for fetching the message headers for both sort and
threading, so that points the finger back to the THREAD command,
suggesting that the processing time, and data fetching is all based around
the results from that call. Just to give you a hint of processing time. Just for my IMAP server to do threading by references, without any PHP
code, or sorting, or header fetching, it took 3 seconds to process 526
messages.  I'll take a look at the processing times via SM tomorrow.


526 messages are ok, but many of my users (and me too) wants to store hundreds of thousand emails on the server.



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
--
squirrelmail-users mailing list
Posting Guidelines: 
http://www.squirrelmail.org/wiki/MailingListPostingGuidelines
List Address: squirrelmail-users@lists.sourceforge.net
List Archives: 
http://news.gmane.org/thread.php?group=gmane.mail.squirrelmail.user
List Archives:  http://sourceforge.net/mailarchive/forum.php?forum_id=2995
List Info: https://lists.sourceforge.net/lists/listinfo/squirrelmail-users

Reply via email to