さて、これがシナリオです。大量のレコードを処理し、それに応じてデータベースに情報を入力するユーティリティがあります。
マルチスレッド バッチでこれらのレコードを処理します。このような各バッチは、各レコードのワークフロー トレースを作成するために同じログ ファイルに書き込みます。潜在的に、1 日で 100 万近くのログ書き込みを行う可能性があります。
このログを別のサーバーに存在するデータベースに作成する必要がありますか? 考慮事項:
- 複数のスレッドが同じログ ファイルに書き込むことの明らかな欠点は、ログ メッセージが相互にシャッフルされることです。データベースでは、バッチ ID でグループ化できます。
- パフォーマンス - バッチ処理をさらに遅くするのはどれですか? ローカル ファイルへの書き込み、または同じネットワーク上の別のサーバー上のデータベースへのログ データの送信。理論的には、ログ ファイルの方が高速ですが、ここで落とし穴はありますか?
どちらのアプローチでも実行できる最適化はありますか?
ありがとう。