Separating master processes for different services to utilise multiple cores/cpus
Raymond T. Sundland
raymond at sundland.com
Wed Feb 25 18:17:36 EST 2009
Just for demonstration, my system has relative low usage, but you can
see the output of top:
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
83831 cyrus 1 44 0 34068K 824K select 3 16:31 0.00% master
83834 cyrus 1 44 0 55296K 480K select 3 15:44 0.00% idled
28343 cyrus 1 44 0 93048K 5240K select 0 0:03 0.00% imapd
28383 cyrus 1 44 0 82208K 4920K select 1 0:02 0.00% imapd
28382 cyrus 1 44 0 80120K 4812K select 0 0:01 0.00% imapd
28350 cyrus 1 44 0 66420K 4300K select 3 0:01 0.00% imapd
28375 cyrus 1 44 0 66488K 4108K select 0 0:00 0.00% imapd
11942 cyrus 1 4 0 66392K 5060K accept 0 0:00 0.00% pop3d
12157 cyrus 1 44 0 66988K 5688K select 1 0:00 0.00% pop3d
12159 cyrus 1 44 0 66708K 5656K select 3 0:00 0.00% pop3d
12158 cyrus 1 44 0 66580K 5648K select 0 0:00 0.00% pop3d
12238 cyrus 1 4 0 66408K 5452K accept 0 0:00 0.00% lmtpd
As you can see, it's using CPUs 0, 1 and 3 at this point.
Raymond T. Sundland wrote:
> When master receives a connection, it spawns a child process to manage
> that connection. That would essentially make it multi-threaded making
> use of the multiple CPUs when needed, I would think. Is that not the
> case? You can launch multiple master processes, but that wouldn't
> have any better guarantee to use multiple CPUs, either.
>
>
> Atif Ghaffar wrote:
>> Hello,
>>
>> I am a long time cyrus user but have not been hands on for a while.
>> At my current job we are running cyrus to manage all mailstore for
>> our ISP.
>>
>> Recently I have migrate a couple of boxes to newer ones with more
>> cores per cpu.
>>
>> when running htop -u cyrus, i see that only one core is being used
>> for most of the work and that seems to be a waste of the rest of the
>> cpus.
>>
>> We are using the following services (imap, pop3, lmtp, sieve)
>>
>> One thought that comes to mind is to run different master processes
>> which do one service at a time.
>>
>> I am thinking on consolidating into
>>
>> 1. cyrus-master-main (running imap/sieve)
>> 2. cyrus-master-pop3 (running pop3)
>> 3. cyrus-master-lmtp (running lmtp)
>>
>> Does this makes any sense?
>> Would this balance the usage of the CPUs.
>>
>> If yes, I will post the config files for inspection.
>>
>>
>> best regards
>> Atif
>> ------------------------------------------------------------------------
>>
>> ----
>> 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
> ------------------------------------------------------------------------
>
> ----
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20090225/24c54c8f/attachment-0001.html
More information about the Info-cyrus
mailing list