系统相关
首页 > 系统相关> > windows – ETS / Mnesia RAM表中的官方/建议/允许的最大记录数(或RAM表大小)

windows – ETS / Mnesia RAM表中的官方/建议/允许的最大记录数(或RAM表大小)

作者:互联网

Erlang一直是许多“新时代”(淫秽快速和容错)消息传递系统的良好应用.例子可以是RabbitMQ,ejabberd,WhatsApp for Mobile e.t.c.无论消息传递系统是如何构建的,它都需要知道正在进行的会话,登录的用户,e.t.c.我认为对于这样的系统来说,保持数据IN-MEMORY是不可避免的.
对于Erlang,可能的最大值是多少,或者允许的最大值是什么?或者ETS表或mnesia RAM表中官方建议的最大记录数是多少?是否存在特定的表大小,如果超过则会导致整个VM崩溃?只要基础操作系统允许,ETS表或Mnesia RAM表是否会增长到任何数量?我听说Monesia Table Limit为2或4GB,但我认为这是针对磁盘表的.需要处理大量数据IN-MEMORY的未来应用程序的典型示例是OLAP Systems,Real Time analytics,Social Gaming e.t.c.在这一方面的思考激发了这个问题.

解决方法:

mnesia是ETS和DETS表的包装层.对于32位系统,ETS表的最大值约为3.5GB.对于64位系统,最大值要多得多,因此从技术上讲,它受OS可用RAM的限制.对于DETS(并且非常愚蠢),限制为2GB.

我没有与其他键值存储系统的任何基准测试,但请记住,ETS直接存储Erlang术语而不进行任何编码/解码.

标签:unix,linux,windows,erlang,mnesia
来源: https://codeday.me/bug/20190529/1181259.html