7
votes

When I receive such message, like this:

** WARNING ** Mnesia is overloaded: {dump_log, write_threshold}

what is approach to known which table is being used intensively? What kind of debugging do I need to do?

Thanks.

1
Hard to say what you should do. Do you have many writes to the same row? which processes use mnesia and how much? Why do you hit the dump-log threshold?I GIVE CRAP ANSWERS
Added to my todo list to learn the cyrillic alphabet.Roberto Aloi
How can I know what request (operation with mnesia) has locked table if it happend?vinnitu
The {dump_log, write_threshold} happens when the dump_log gets written too often. Perhaps you can turn the knob dump_log_write_threshold up. It defaults to 100.I GIVE CRAP ANSWERS

1 Answers

2
votes

Interesting post over on StreamHacker on the subject:

http://streamhacker.com/2008/12/10/how-to-eliminate-mnesia-overload-events/

One of the suggestions in the article is switching to synchronous writes, not sure that this is such a good generic answer. It would certainly change your scaling characteristics, so don't skip engineering and measuring the change.

However both dc_dump_limit and dump_log_write_threshold are good settings to play with. The defaults are somewhat overly sensitive.