現在、私たちのアプリケーションは、同じディレクトリにある 1000 を超える XML ファイルに関する大量のファイルを処理しています。ファイルはすべて読み取られ、解析され、データベースに更新/保存されます。
12 コアのマシンでアプリケーションをテストしたところ、プロセス全体が 4 コアのマシンでの処理よりも大幅に遅くなりました。
私たちが観察したことは、アプリケーションによって生成されたスレッド数が 30 ~ 90 スレッドの範囲にまで増加し、コンテキスト スイッチが大幅に増加していることです。これは、多数の並列実行が生成されていることが原因である可能性がありますが、それらはすべて重要です。
コンテキストスイッチが原因ですか? またはファイルの並列読み取り/書き込み?それとも並列タスクの数を減らしますか?