[erlang-questions] Maximum number of Mnesia nodes

Hakan Mattsson <>
Fri Jul 27 19:08:52 CEST 2007


The scalability of Mnesia depends heavily of your
access patterns and how you have configured Mnesia.

If you ensure that the number of nodes involved in a
typical transaction is constant, Mnesia should scale
very well. One way of achieving linear scalability
characteristics, is to use the concept called
"foreign_key" in the chapter about fragmented
tables. The bench example (mnesia/examples/bench)
utilizes this technique.

When I wrote the "bench" benchmark example it turned
out to scale almost perfectly linear. (By distributing
the Mnesia tables over twice as many computers, the
number of processed transactions per second also
doubled.) But by that time I only had access to 10 (or
was it 16?) identical computers, so I cannot say
anything about how Mnesia scales beyond that. Worth to
mentition is that I also did successfully run the bench
example with fragmented tables distributed over all our
machines at the office (50+). But as those computers
had so different characteristics, it is impossible to
say anything about the scalability. It was fun that it
worked though.

Chandru, do you still have the highscore of the number
of Mnesia nodes in a production environment?

/Håkan

On Fri, 27 Jul 2007, denis wrote:

> Date: Fri, 27 Jul 2007 11:15:18 -0400
> From: denis <>
> To: 'David King' <>, 'Joel Reymont' <>
> Cc: 'Erlang Questions' <>
> Subject: Re: [erlang-questions] Maximum number of Mnesia nodes
> 
> Still nobody have a response for this?
> 
> I'm in the case of designing a server embedding mnesia with ram_copies
> tables. Several instances of the server can be launched, and the mnesia
> tables are replicated.
> I'm having the same concern with how many instances I can run before the
> transaction committing in mnesia becomes a problem.
> 
> If someone already used several replicated mnesia instances, I would like to
> have some numbers.
> 
> Thanks
> Denis
> 
> > -----Message d'origine-----
> > De :  [mailto:erlang-questions-
> > ] De la part de David King
> > Envoyé : lundi 23 juillet 2007 21:24
> > À : Joel Reymont
> > Cc : Erlang Questions
> > Objet : Re: [erlang-questions] Maximum number of Mnesia nodes
> > 
> > Did you ever get any off-list responses to this? I'm curious too.
> > 
> > On 15 Jul 2007, at 05:44, Joel Reymont wrote:
> > 
> > > Folks,
> > >
> > > How many Mnesia nodes are you running in your production
> > > installation? I'm looking to find the maximum here.
> > >
> > > I'm only dealing with ram_copies tables (cache), trying to figure out
> > > whether I can make every Yaws node a Mnesia node without slowing
> > > transactions down too much.
> > >
> > > My current thinking is to wait and gather statistics before trying to
> > > decouple Yaws and Mnesia . Still, I would love to know how much
> > > transactions slow down with the addition of every new Mnesia node.
> > >
> > > 	Thanks, Joel
> > >
> > > --
> > > http://topdog.cc      - EasyLanguage to C# compiler
> > > http://wagerlabs.com  - Blog


More information about the erlang-questions mailing list