Ziba Scott wrote:
Hi, We're testing roundcube in a fairly large environment (80K users, 900K mailboxes) with a cyrus imap backend. In our environment, roundcube/iloha imap's namespace discovery phase takes about 1.5 seconds on an unloaded machine. This happens on every email view.
Hmm, this seems to be a bottleneck of your IMAP server. With my (remote over ADSL) IMAP server, the namespace discovery takes 128 ms.
Iloha has the ability to skip the namespace discovery phase if a imap_root is configured and roundcube has a configuration option for imap_root. But the two aren't connected! By handing off the imap_root variable to iloha mail sooner rather than later we cut our time to view a message from 1.7 seconds to 0.2 seconds.
I've submitted a patch with this ticket: http://trac.roundcube.net/ticket/1485172
This could work but we need to test with very well to make sure it does not break anything else. For example, the namespace command also returns the folder delimiter. If this is not set, RoundCube uses iil_C_GetHierarchyDelimiter() to fetch it separately. I hope that this operation does not take another 2 sec :-)
Also when looking at the code in imap.inc, if $my_prefs["rootdir"] is set, iil_C_NameSpace() is quit but $conn->rootdir (which is used by the rcube_imap class) isn't set.
This patch really needs to be tested with several different IMAP servers.
~Thomas
List info: http://lists.roundcube.net/dev/