ポーリングWebサービスのパフォーマンス-これは機能しますか?
-
05-07-2019 - |
質問
アプリには即時通知が必要なので、WCFデュプレックスまたはソケット通信を使用する必要があることは明らかです。問題は、アプリがXBAPを部分的に信頼しているため、BasicHttpBinding以外は使用できないことです。したがって、変更をポーリングする必要があります。
質問はありません。私のPMは、更新間隔を2秒に設定し、単一のWebサーバー上の500人のユーザーがいるイントラネットで実行する必要があると言っています。
ポーリングがWebサーバーにどのように影響するかを経験したことがありますか。
このサービスは非常に単純で、引数としてGUIDを使用し、GUIDのリストを返します。すべてのデータアクセスはキャッシュされるため、1回の呼び出しでサーバーの負荷は最小になりますが、500 ...
ポーリングを除いて、ウェブサーバーにはほとんど作業がありません。
では、この小さな情報に基づいて(標準的なサーバーハードウェアを想定します)、資格のある推測を行うことは可能ですか?
- これを実装することは可能ですか、できませんか?
はい、これを推定するのは難しいことは知っていますが、あなたの一部がこれについての考えを共有できたら本当にうれしいです
よろしく
ラルシ
解決
ポーリング..悪いですが、他に選択肢がない場合は理想的です:)
キープアライブがオンになっていることを忘れないでください。したがって、常時接続ユーザーは500人になります。そのメモリ使用量は、おそらくプロセッサ使用量よりも重要です。ネットワークアクセスが(比較的肥大化したWebサービスであっても)多くのネットワーク容量を使用することは想像できませんが、ネットワークの遅延が問題になる可能性があります-特に、しばらくの間Webアプリケーションがすべて「一時停止」するのを見てきたので
ただし、最終的にはおそらく大丈夫ですが、自分で確認する必要があります。多くのWebサービスストレステスターがあります。 MicrosoftのWASツールを使用できます。< href = "http://www.testingfaqs.org/t-load.html" rel = "nofollow noreferrer">他の人へのいくつかのリンク。
他のヒント
推定しない、ベンチマーク。
Webサービスのテストツールである soapu iを使用して、Webサービスのパフォーマンスを確認してください。有料版と無料のオープンソース版があります。
歓声
特定の問題になるとは思わない。大量のデータを大量に引き戻さない限り、各リクエストの応答時間はかなり短いと思いますので、2秒に渡る500の接続はそれほど激しくヒットすることはありません。
この設計にコミットする前に、ストレステストツールを使用して、Webサーバーが負荷を処理できることを確認できます。
250 qpsは、おそらく非常に控えめなハードウェアとネットワーク帯域幅で実行可能です。前へ。クライアントでこれらのGUIDリストをキャッシュして、小さな「更新なし」を送信できると仮定します。通常の場合の応答。
より信頼性を高めるために、単純なプロトタイプを使用して測定するのは非常に簡単なはずです。