0

仮定の状況は次のとおりです。

データ セットを 1 つのスレッドで反復処理し、Web 上の API へのエントリごとに HTTP 呼び出しを行っているとします。API がスロットリングを使用しないと仮定すると、呼び出しのパフォーマンスが低下しないと期待できますか? のように、エントリをループするときに、ある時点で失敗が蓄積するのを見始めるのでしょうか (ネットワーク関連など、さまざまな理由で)、それともすべてが予想どおりに問題ないのでしょうか?

ここで、上記の繰り返しにスレッド プールの使用を開始するとします。各スレッドが宛先への送信ポートを開くと思います。同じ API を呼び出すために使用できるスレッドの最大数は何によって決まりますか? スレッドの数が増えると、パフォーマンスや成功率はどのように低下​​しますか?

4

1 に答える 1

0

これがまだ関連しているかどうかはわかりませんが、とにかく: シナリオ a) では、常に 1 つの要求/応答しか実行されないため、悪影響はないと思います。したがって、スループット時間は、サーバーがリクエストを処理できる速さにのみ依存する必要があります。

シナリオ b) の 1 つの制限は、クライアント (つまり OS) が任意の時点で開くことができる接続 (tcp または udp) の最大数です。もちろん反対側も同様です。この数が制限要因ではない場合、サーバーが一定量のリクエストでダウンすることが予想されます。独自の DoS 攻撃を作成します ;-)

于 2014-04-14T20:18:32.540 に答える