I'm just testing some large mailboxes for performance handling, etc and noticed that checking for new mail seemed to pause for up to 5-10 seconds or so before continuing. When looking at the mysql query logs, the following seemed to be holding things up:
> SELECT messageblk FROM messageblks WHERE message_idnr = 323 ORDER BY > messageblk_idnr This was using IMAP, and message 323 was a 10Mb file. The code doing this I believe is dbmsgbuf.c. It seems to load the entire message into memory or at least process it on the database before starting to send it to the user. I'm running a P4 1.8G with 1Gb memory as the database server and the same spec for the imap server; both with ata66 drives. All-in-all dbmail has been performing OK, only curbed by the noticeable pausing. Maybe this is unavoidable, in which case I'll just have to boost specs -- but maybe the message could be loaded into chunks from mysql (using a limit X,100 and repeating the query every 100 blocks or so). FYI. /Mark