performance tuning
Simon Matter
simon.matter at ch.sauter-bc.com
Wed Jan 28 02:22:46 EST 2004
> Hi everyone!
>
> I've been trying to tweak my cyrus system to improve performance. I have
> a
> few programs (smtp-sink that came with postfix) that I use to test my
> server. I used smtp-sink to send 100 messages to a random set of 20
> different accounts (2,000 messages total; average time to send is about 60
> sec). That part works great, or well enough at least. :) It takes about
> 2
> seconds to send 100. Not as fast as a lot of the other system specs I
> have
> seen out there, but I'm using mysql for virtual users and a ton of
> expensive
> filtering lookups in my mta, so it takes that long to shove them into the
> queue manager. Anyway, I've noticed that postfix can only deliver so many
> messages at a time to lmtp. I'm using lmtp as the delivery method, going
> over a local tcp/ip transport (I was using lmtp:unix files previously, no
> significant difference in performance between the two). After all of the
> mail is injected into the postfix queue, it takes about 30 seconds to
> deliver all 2,000 into the correct mailboxes. Really not that bad imho,
> but
> I'm wondering if it could be better. :) My goal is to get cyrus to keep
> up
> with postfix, if that's possible.
>
> I've tried all sorts of things, mostly blind guesses though. I switched
> from lmtp:unix to straight lmtp tcp/ip, that didn't make a difference at
> all. I also disabled "duplicatesuppression" in imapd.conf at the expense
> of
> losing sieve (cringe), but that didn't make a significant difference
> either.
> It took about 40 seconds to deliver 2000 messages with
> duplicatesuppression
> enabled, about 8-10 seconds longer than when duplicatesuppression was
> disabled. Also, a postfix related control, I have
> lmtp_destination/recipient_concurrency_limit set to 300. I have expanded
> this as high as 1000 but with not impact, which leads me to believe there
I have this on one box in postfix/main.cf:
local_transport = lmtp:unix:/var/lib/imap/socket/lmtp
local_destination_recipient_limit = 1000
What database backends are you using in cyrus and what filesystems do you
use for the cyrus dirs? I think that's where you could optimize things.
However I don't know whether your numbers are good or bad because I never
had a performance problem.
Simon
> must be something I can do with cyrus to get it to accept more mail at one
> time.
>
> As a side note, when I run my programs, it brings my dual xeon 2.4ghz
> processors to 80% utilization (2 gigs of ram and raid 0). :D Not
> important
> to the problem I don't think, but there ya go anyway, just if you are
> curious.
>
> Any ideas? Let me know if I left something out.
>
> Cyrus IMAP4 v2.1.16
> postfix 2.0.16
> mysql 4.x (allows 1000 concurrent connections)
>
> Thanks!
>
>
More information about the Info-cyrus
mailing list