私はこのようにプログラムを設定しています。これは、.NetFramework4コンソールアプリです。このプログラムは、各サーバー上のすべてのログファイル(前週から)からscバイトとcsバイトを収集するために使用されます。このプログラムは終了しましたが、実行に非常に長い時間がかかります。
foreach (string server in servers)
{
foreach (string website in Directory.GetDirectories(server))
{
foreach (string file in Directory.GetFiles(website))
{
スレッドやPLINQのようなものを使用してプロセスを高速化できるかどうか疑問に思っていましたか?これでパフォーマンスが向上する場合は、ログファイルごと(または各Webサイト)に新しいスレッドを作成するのは論理的ではないように思われるため、実装するのに最適な方法がわかりません。スレッドの数が多いとパフォーマンスが向上しないことは明らかです。
さらにコードを表示する必要がある場合は、質問してください。ただし、このプログラムは基本的に、過去7日以内に作成された各ファイルの各行を読み取り、バイト番号を追加してから、ディレクトリエントリを使用して(IDから)Webサイト名を取得します。 、次に、各Webサイトの名前と合計バイト数をテキストファイル(最終的には代わりにデータベースになります)に出力します。実際のコードは必要ありません。パフォーマンスを向上させるための最善の方法(可能な場合)についてアドバイスするだけです。
ありがとう。