mnesia的一些设置

-mnesia dc_dump_limit 400
-mnesia dump_log_time_threshold 90000
-mnesia dump_log_write_threshold 150000


当我们启动Mnesia的时候,一个名为LATEST.LOG的文件被创建并且放在数据库目录内。这个
文件被Mnesia用来对基于磁盘的事务做日志。这包括所有在存储类型为disc_copies或
disc_only_copies的表中至少写入一条记录的事务。还包括对模式本身所作的全部操作,如创建新
表等。Mnesia的不同实现的日志格式可能有变化。当前实现的Mnesia是标准库模块disc_log。
日志文件会持续增长,因此需要定期转储。对于Mnesia“ ” 转储日志文件 意味着执行在日志中列出
的所有操作并且将记录存放到对应的.DAT、.DCD和.DCL  “ 文件中。例如,如果 写记录{foo, 4,
elvis, 6}” 操作被列入日志,Mnesia插入此操作到foo.DCL中,随后在Mnesia认为.DCL文件已
经变得太大时,再将数据移入.DCD文件。如果日志很大,转储操作可能非常耗时。因此,理解
Mesia系统在日志转储期间要持续运转是很重要的。
在默认状态下,只要日志中写入了100条记录或者过去了3分钟这两种情况之一出现,Mnesia即
转储日志。可用两个应用程序参数-mnesia dump_log_write_threshold WriteOperations和-mnesia
dump_log_time_threshold MilliSecs来对此进行控制。
在日志被转储之前,文件LATEST.LOG改名为PREVIOUS.LOG,并且创建一个新的
LATEST.LOG文件。日志转储成功后,文件PREVIOUS.LOG被删除。
在启动时以及每当一个模式操作被执行时,也要转储日志。

你可能感兴趣的:(erlang)