Interesting, I have some folders with ~100'000 messages and cyrus handles it very nice. Did you say you have a problem with 10'000 messages in a mailbox?
And I dealt with a user the other day with 280,000 in their inbox. Filesystem and cyrus were fine, though our web interface was a bit slow.
With a little bit of tweaking, I got the web interface response time down to 1-2 seconds for a mailbox view which involves doing a sort on received date on all of the messages, writing the list of message uids to a socket, the other end parsing that list and picking a page of emails to fetch the details of. Once the cyrus.index and needed bits of the cyrus.cache files are mmaped into the memory, subsequent accesses and sorts are generally very fast.
Actually, that's another note. cyrus doesn't need much CPU at all, but throwing lots of RAM into the system for caching generally helps quite a lot we've discovered.
Rob ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html