Erlang高容量日志记录

时间:2011-03-01 11:20:26

标签: logging erlang high-load

对于我的erlang应用程序,我使用了sasl logger和log4erl,当发送给它们的事件数量大约是每秒1000时,两者都表现不佳。 log4erl提供了更好的性能,但一段时间后,它的邮箱开始填满,从而开始使VM膨胀。

使用disk_log是一个更好的选择(因为它会在每秒加载1000个事件的情况下工作吗?)。

我尝试在shell上使用disk_log ...在示例中,他们首先将消息转换为二进制(list_to_binary)并使用“blog”函数写入文件。

这样做有助于我使用高效的大容量记录仪吗?

还有一个疑问:: 使用disk_log:博客文本的大小只有84个字节...但是使用disk_log:log_terms..the大小是970字节..为什么这么大的区别?

2 个答案:

答案 0 :(得分:2)

自己捣蛋。具有内存存储和批量转储到光盘的专用记录器是最快的解决方案。如果您无法承受丢失任何数据(如果VM崩溃),请在远程节点上执行此操作。一旦我使用远程“解决方案”,我就会查询每个5秒目标VM。我没有注意到对系统的影响。

答案 1 :(得分:1)

在高容量记录中,我更喜欢经过测试的解决方案,如划线或水槽。检查erl_scribe