mnesia:密集使用表

Posted

技术标签:

【中文标题】mnesia:密集使用表【英文标题】:mnesia: intensive usage table 【发布时间】:2011-06-05 17:35:04 【问题描述】:

当我收到这样的消息时,像这样:

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

知道哪个表正在被密集使用的方法是什么?我需要做什么样的调试?

谢谢。

【问题讨论】:

很难说你应该做什么。你有很多写到同一行吗?哪些进程使用 mnesia 以及使用多少?为什么会达到转储日志阈值? 添加到我的待办事项列表以学习西里尔字母。 如果发生什么请求(使用 mnesia 的操作)锁定表,我怎么知道? dump_log, write_threshold 发生在 dump_log 被频繁写入时。也许您可以将旋钮dump_log_write_threshold 向上转动。默认为 100。 【参考方案1】:

StreamHacker 上有关该主题的有趣帖子:

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

文章中的一个建议是切换到同步写入,不确定这是一个很好的通用答案。它肯定会改变你的缩放特性,所以不要跳过工程和测量变化。

不过dc_dump_limitdump_log_write_threshold 都是很好的设置。默认值有点过于敏感。

【讨论】:

以上是关于mnesia:密集使用表的主要内容,如果未能解决你的问题,请参考以下文章

生产中的超大型 Mnesia 表

mnesia怎样改动表结构

如何向所有连接的节点添加一列 - mnesia 表

使用 gen_server 封装一个 mnesia 表?

Erlang:Mnesia:连续更新单个字段值

在一个 mnesia 集群中,查询哪个节点?