3

私の erlang アプリケーションでは、sasl logger と log4erl の両方を使用しましたが、それらに送信されるイベント数が 1 秒あたり約 1000 の場合、どちらもパフォーマンスが低下します。log4erl はパフォーマンスが向上していましたが、しばらくするとメールボックスがいっぱいになり、VM が膨張し始めました。

disk_log を使用する方がより良いオプションになります (1 秒あたり 1000 イベントの負荷で動作するように?)。

シェルで disk_log を使用してみました...例では、最初にメッセージをバイナリ (list_to_binary) に変換し、「blog」関数を使用してファイルに書き込みます。

このようにすると、効率的な大量ロガーを使用するのに役立ちますか?

もう 1 つ疑問:: disk_log:blog を使用すると、テキストのサイズはわずか 84 バイトでした...しかし、disk_log:log_terms を使用すると、サイズは 970 バイトでした..なぜそんなに大きな違いがあるのでしょうか?

4

2 に答える 2

2

自分で何かをハックします。メモリ内ストレージとディスクへの一括ダンプを備えた専用ロガーが最速のソリューションです。(VM がクラッシュした場合に) データを失う余裕がない場合は、リモート ノードで行います。リモートの「ソリューション」を使用すると、5 秒ごとにターゲット VM を照会しました。システムへの影響に気づきませんでした。

于 2011-03-01T14:15:30.747 に答える
1

大量のロギングでは、スクライブやフルームなどの実績のあるソリューションを好みます。erl_scribeを確認してください。

于 2011-03-01T15:36:09.383 に答える