リモート マシンからいくつかのログ ファイルを解析する必要があるという問題があります。いくつかの複雑な問題があります: 1) ファイルが使用中の可能性がある 2) ファイルが非常に大きい (100 MB 以上) 可能性がある 3) 各エントリが複数行である可能性がある
使用中の問題を解決するには、まずコピーする必要があります。現在、リモート マシンからローカル マシンに直接コピーし、そこで解析しています。これが問題 2 につながります。ファイルが非常に大きいため、ローカルにコピーするにはかなりの時間がかかります。
解析時間を短縮するために、パーサーをマルチスレッド化したいと考えていますが、これにより、複数行のエントリの処理が少し難しくなります。
2つの主な問題は次のとおりです。1)ファイル転送を高速化するにはどうすればよいですか(圧縮?、ローカルでの転送は必要ですか?、使用中のファイルを別の方法で読み取ることはできますか?)2)複数行のエントリを処理するにはどうすればよいですか?スレッド間で行を分割するときは?
更新: サーバーで明らかな解析を行わなかった理由は、CPU への影響をできるだけ少なくしたいからです。システムの im テストのパフォーマンスに影響を与えたくありません。