I’ve been reconfiguring how some of the servers work while I’m upgrading from Fedora Core 4 to Fedora Core 5. Originally I have each of my primary server as a ram only mnesia node, but I choose to use only two of them for a while.

I’m not sure exactly how mnesia figures out which serer to get the data from, but it appears that they use a closest or fastest server algorithm that is pretty good.

Why do I say this? When I had less mnesia nodes running there each message was processed slower.

I’m assuming that the mnesia nodes notice that they have a mnesia server on the actual machine they are running on and get data at bus speeds instead of network speeds.

In the case of my anti-spam application which is actually using mnesia to control which nodes do what, the number were pretty staggering. When I had half as many nodes my speeds were twice what they were with more nodes. I put the extra nodes back up and the speeds went back down almost immediately.

I think I was reading at planet erlang about dynamically adding and removing mnesia servers from your cluster and I am seriously considering this right now.