[Tickets #6556] Large IMSP books/groups slow every page request

bugs at horde.org bugs at horde.org
Tue Apr 1 19:14:38 UTC 2008


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/6556
-----------------------------------------------------------------------
 Ticket             | 6556
 Created By         | noah at lsit.ucsb.edu
 Summary            | Large IMSP books/groups slow every page request
 Queue              | Turba
 Version            | HEAD
 Type               | Enhancement
 State              | New
 Priority           | 1. Low
 Milestone          | 
 Patch              | parse-members.patch
 Owners             | 
+New Attachment     | parse-members.patch
-----------------------------------------------------------------------


noah at lsit.ucsb.edu (2008-04-01 15:14) wrote:

The IMSP backend is still really slow with large address books. One of the
major problems is that populating the "Add to a Contact list" menu takes a
long time as it does a FETCHADDRESS for every email returned by
SEARCHADDRESS (every email not in another group already that is), in order
to construct the list of members.

I don't believe the list of members is even used in this context, but I
could not figure out a good way to not compute the members

The email string returned by SEARCHADDRESS contains the full names needed
to construct the member list (form: "name <email at domain>"). I therefore
propose trying to parse the names from this string first, then falling back
on an additional IMSP call for entries where a name is not provided.

Included is a patch against the newest cvs code for lib/Driver/imsp.php.

I've been running this for a few days, it doesn't solve all the
performance issues, but it does tie page load times to the size of the
address book being loaded. Before, loading the webmail address book would
still take a long time (minutes), because the "Add to" list still had to be
very slowly generated.

Please verify that my regex is correct for grabbing names and emails:
"/(?:^(.*)\W<)?(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})/"




More information about the bugs mailing list