<p dir="ltr"><br>
El abr 22, 2015 12:51 AM, "Bron Gondwana" <<a href="mailto:brong@fastmail.fm">brong@fastmail.fm</a>> escribió:<br>
><br>
> On Wed, Apr 22, 2015, at 02:27 PM, Ciro Iriarte wrote:<br>
>><br>
>> Interesting, is the use of several instances needed because cyrus cannot scale with threads in a single instance scenario?<br>
><br>
> There are two interesting reasons:<br>
> <br>
> 1) global locks. There are some - mailboxes.db for example. If you have multiple instances on a single machine, then a lock never blocks up the entire machine.<br>
> <br>
> 2) replication and load spreading - right now there's no support for "partial replica" - a Cyrus instance replicates every mailbox to its replica.<br>
> <br>
> The second one is the kicker.<br>
> <br>
> If we replicated everything from one machine to another machine, then we'd have 100% user load on one machine and nothing on the other - not efficient use of resources, because the second one needs to have the capacity to run at 100% in a failover situation too.<br>
> <br>
> Our first thought was to run two instances per machine and pair them - so there was a master on one and a replica on the other. At least then we're running equally in the general situation, and only in a failover situation are we loaded 100%. But it's still nasty - you go from 50% load to 100% load.<br>
> <br>
> So we have about 10 different replicas for each machine, and every machine is running at 50% capacity. If we need to take one machine down, then 10 other machines run at 55% capacity instead for that time. The load change is much less.<br>
> <br>
> (as of about a year ago, we're fully paired odd-host-number to even-host-number, and odd and even are in different cabinets, so we can shut down an entire cabinet by raising the load on its replicas)<br>
> <br>
> Bron.<br>
> <br>
> --<br>
> Bron Gondwana<br>
> <a href="mailto:brong@fastmail.fm">brong@fastmail.fm</a></p>
<p dir="ltr">Hi Bron, it makes sense from that perspective although it seems to imply a management nightmare. Do you use any management/automation (webscale if you want) framework?.</p>
<p dir="ltr">Regards,<br>
Ciro</p>