同じ LOG ファイルで 1 日に何度も文字列を検索している場合、前回の検索でファイルから読み取った最後の行に移動してから、行ごとに読み取りを開始する方が速いでしょうか? ここで大幅な節約はありますか?
サンプルファイル
プロセス ID ロジック
11111 中間層サーバーで馬鹿げたロジックを実行します。
11111 まだ実行中のロジック
22222 別のユーザーから、中間層サーバーで愚かなロジックを実行します。
11111 ああ、最初のプロセスが完了しました。
22222 2 番目のプロセスで引き続きロジックを実行しています。
最後にロードしたときからファイルの多くの行が必要な場合があります。現在、UltraEdit を使用してファイルを 1 回ロードしてからファイルを更新しますが、これにはまだかなりの時間がかかります。
上記のこの例では、最初のプロセスからの行が必要です。
ノート:
- ファイルのサイズは、場合によっては数百 MB になることがあります。
- 上記の例は省略されており、各プロセス ID には 100 行のロジックが含まれる場合があります。
- ネットワーク経由でログ ファイルにアクセスしています。UE では、ローカル PC にコピーしてからファイルを開くよりも、ネットワーク経由でファイルをロードしてからファイルを更新し続ける方が高速であることがわかりました。
- 私は、powershell から実行できる C# コンソール アプリケーションを作成し、必要な行を画面またはファイルにパイプすることを望んでいます。
もう 1 つの質問は、このプロセスを可能な限り効率的にするにはどうすればよいかということです。1. ファイル サイズに使用される C# メソッドについて教えてください。2. ユーティリティの作成に使用するアプリケーションについて教えてください。私はpowershell、C#、C++、perlを持っています