This one of a series of a messages describing new features in Isode R14.4, scheduled to ship in April 2009. You can see all of the messages on this blog relating to R14.4 by clicking on this link
R14.4 makes some performance and scalability improvements for M-Store X.400 that will be important for deployments holding millions of messages and mailboxes with tens of thousands of messages. This note describes the changes made, which will be interesting for M-Store X.400 users, and for applications using M-Vault as an index.
X.400 P7 provides a searching capability that is very similar to that provided by X.500. Rather than develop a special local index, M-Store X.400 uses M-Vault for mailbox indexing, with one directory entry per mailbox, holding information that may be searched on. This enables M-Store X.400 to use M-Vault's high performance searching.
Testing with large configurations identified a number of situations where overall performance was constrained by M-Vault. Changes have been made to deal with this:
- The most important client operation to optimize for is "list new messages". Further index optimizations were made, in particular to deal with the situation where there are large numbers of both submitted messages and delivered messages for a user.
- Directory paged results are used, which improves directory resource utilization for searches returning large numbers of results.
- When M-Store X.400 starts up in a large deployment, most of the clients will connect very quickly and issue a "list new messages" command. Each of these leads to a directory search. Having large numbers of directory searches outstanding is inefficient, so M-Store X.400 limits this number. This ensures a steady rate of new client connection, and at the same time enables connected clients to operate well.
These changes will give good M-Store X.400 performance for very large deployments, including those currently anticipated in 2009.