Postby florian » Wed Feb 07, 2007 1:11 pm
Hi lleahu,
first of all, please do try to keep forum threads separate for different things if possible. This thread initially talked about sxmboxexp/sxmboximp performance and now we changed to IMAP performance. These are two completely unrelated subjects and should not be intermixed.
second, I don't really take your point about factors between export/import operations. I just tested some raw disk performance on one of our servers, using the internal disks, which were not really fast. In my testing, raw disk performance was about 2x faster for read access than for write access when using asynchronous writes.
For Scalix message store access, we do use sync writes to ensure maximum data integrity in case of a system crash. This is a design decision which I believe is hghly valid for an enterprise system.
We do provide the option to turn this off for sxmboximp as it can be controlled on a per-process basis. We do not provide the option to control this per IMAP session as IMAP access is more commonly connected to user access where this is much more critical. The user should not be able to control this. However, we do provide a general.cfg setting that can turn off sync writes for the whole server - this could be used temporarily in migration situations, our support can tell you how.
In addition, write operations for IMAP are a lot more complex than read operations. We need to breakdown the message into our internal message store format that allows to store advanced message properties needed for our clients-of-choice-architecture, including MAPI clients like Outlook. This requires some additional processing time during the load. Finally, with Scalix 11 some further activities are triggered by loading messages into the system, e.g. indexing of the message. If this is run within that same pipeline, it will create further load on the system.
All in all, the numbers you're reporting here seem perfectly reasonable to me. Of course, it might be necessary to analyze your hardware sizing and the setup of your disk subsystem in particular as Scalix is seen as a very IO-intensive application, similar to a busy relational database system. Our support can help you with such analysis.
Note, btw., that Scalix 11 does NOT use databases to store message data; as before, the actual data is kept in the filesystem for best performance, scaleability, ease of backup and manageability. The Postgres database was introduced in Scalix 11 as an additional header cache to support the Messaging Services web services layer and as a specific header cache to speed up certain client access operations, such as loading the headers in a large mailbox environment with SWA, in particular with distributed servers.
Hope this helps,
Florian.
Last edited by
florian on Thu Feb 08, 2007 8:31 am, edited 1 time in total.
Florian von Kurnatowski, Die Harder!