Hello! I'm the process of switching from Cyrus to DBMail. While switching i suffered some performance problems. I don't want to say that DBMail is slow, i just want to point out some topics which can help improving the performance of DBMail in general. Both imap servers are running on the same machine.
I know that i'm comparing apples with pears! :-) Something about our old cyrus based system. Everything is on one single server. That makes to solution really fast. I did some test with following results: Making a connection to the Cyrus IMAP server and login in: 0.07 seconds Sorting a folder with more than 1000 messages by subject: 0.07 seconds Fetching the headers of 10 messages from the result: 0.04 seconds Overall time spend in the php script: 0.2 seconds. Puh, that's really fast. :-) And now something about our DBMail setup. We have multiple IMAP fronservers and and a bigsized MySQL database. As the IMAP server needs to talk with the MySQL database over the network, we will have some delay added anyways. Here are the results: Making a connection to the DBMail IMAP server and login in: 0.2 seconds Sorting a folder with more than 1000 messages by subject: 0.09 seconds Fetching the headers of 10 messages from the result: 1 second Overall time spend in the php script: 1.3 seconds. Puh, that times slower. :-( I started using iampproxy to speed up the login process. But that changed nothing. I don't know why. But the login process still took the same time. Imapproxy stated that it was reusing a session. DBmail spends most time fetching the headers from the database. Then i took the sql queries generated by dbmail from the log file. Only executing the sql queries against the database over the network from the IMAP server and forwarding the results to /dev/null took 0.5 seconds. Doing the same queries on the database itself only took 0.05 seconds. As dbmail is doing very much single sql queries it should benefit much from doing more things in a single sql query, as every query adds another delay because of the round trip time from the imap server to the sql server. I already talked with Paul about this. I just wanted to write it down to share my findings with you. Lars
