0

取引が契約上および法的制約の下で許可されているかどうかなど、いくつかのチェックを適用することにより、金融取引トランザクションを受信して​​その妥当性を判断する Java アプリケーションを考えてみましょう。アプリケーションは、JMS メッセージ ハンドラを実装して 1 つのキューでメッセージを受信し、2 つ目のキューでメッセージをコンシューマに送り返します。

応答時間を測定し、処理後のパフォーマンス分析を有効にするために、アプリケーションは、メッセージの受信、処理、準備、クライアントへの応答など、いくつかのステップの開始時刻と終了時刻をログに記録します。約あります。1 日あたり 300 万件のメッセージがアプリケーションによって受信されるため、この時間測定数の倍数になります (1 日あたり約 1800 万件の測定値が記録されます)。各測定値は次のデータで構成されます: 測定の ID (例: RECEIVE_START/END、PROCESS_START/END、SEND_START/END)、java.lang.system.nanoTime() で指定されたタイムスタンプ、一意のメッセージ ID。時間測定値はログ ファイルに送信されます。

処理時間を確認するために、ログ ファイルが変換され、MySQL データベースに毎日保存されます。これは、生のログ データを取得し、変換して MySQL テーブルに格納する一連の Python スクリプトによって行われます。これにより、各レコードは 1 つの処理されたメッセージに対応し、各測定値は 1 つの列に表示されます (つまり、テーブルは一意のメッセージによってレコードをグループ化します)。 ID)。

私の質問は次のとおりです。この比較的大きなデータ セット (1 か月または数か月分のログ データを考慮してください) を分析するための最良の戦術とツールは何ですか? 特に、計算してグラフにしたいと思います。

a) 選択した時間枠 (例: 月単位、日単位、時間単位) の応答時間 (例: SEND_END - RECEIVE_START) に関する測定値の分布。
b) 選択した期間 (例: 日、週、月、年) における時間単位 (秒、時間、日、週、月) ごとのメッセージの頻度

あなた自身の経験に関するヒントやレポートは大歓迎です。

4

1 に答える 1

0

splunk を使用して、大きなログ ファイルの処理/レポート作成に多くの成功を収めてきました。そのために特別に開発されたツールです。データ ファイルに対して SQL のようなクエリを実行して、探している種類のレポート/グラフを取得できます。ただし、かなり高価になる可能性があると思います.IIRCは、処理するデータの量に基づいて料金を請求します.

http://www.splunk.com/?r=header

于 2013-02-21T17:46:17.893 に答える