0

これはロングショットですが、誰かがアイデアを持っているかもしれません。マルチスレッド (20 ~ 25 スレッド) の Web クロール アプリケーションで .Net ソケット クラスを拡張するライブラリである IndySockets を使用しています。アプリは多数の異なるサーバーで実行されており、その中にはハイパースレッディングが有効になっているものもあります。

ハイパースレッディングを使用すると、最初はアプリケーションの効率が大幅に向上しますが (速度が 30 ~ 50% 向上)、これらのマシンでの IndySockets 呼び出しは数日かけて徐々に遅くなります。これは、ハイパースレッディングを使用しないマシンでは発生しません。

さらにややこしいことに、ハイパースレッディング マシンを再起動すると問題が解決するようです。つまり、アプリは再起動後、最初の非常に高速な速度で再び実行されます。アプリケーションを再起動しても効果はありません。

誰か提案があれば、私はそれを感謝します。ありがとう。

4

1 に答える 1

1

私はインディ開発チームに所属しています。ハイパースレッディング マシンで Indy を実行しているときに、このような問題が発生したという話は聞いたことがありません。プロファイラーを使用して、問題が本当に Indy にあり、他の場所にないことを確認してください。

于 2011-04-19T20:29:49.097 に答える