問題タブ [throttling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1334 参照

msmq - MSMQ - 高速プロデューサー/低速コンシューマー

高速プロデューサー/低速コンシューマーのバリエーションである (MSMQ を使用した) メッセージングに問題があります。プライベート MSMQ キューで未処理の未消費メッセージ数を取得する方法はありますか? それを使用してプロデューサーを抑制したいと思います。

MSMQ でセマフォ パラダイムを使用したいと考えています。このパラダイムでは、未処理のメッセージ数が指定された数よりも少ない場合にのみプロデューサー アプリケーションがメッセージを送信します。

基本的に、私は次のようなことをしたいと思います

私の構成:MSMQ 3.0でXP / 2003に勝つ

0 投票する
2 に答える
2399 参照

ruby-on-rails - Web APIリクエストのスロットリング/レート制限を実装する一般的な方法は何ですか?

Web APIリクエストスロットリングを実装する一般的な方法は何ですか?一時的な禁止とともにこれを提供する一般的なWebフレームワーク(Rails、Django、Javaなど)用のライブラリはありますか?

関連する質問は、IPによってリクエストを制限することにより、Webサーバーでレート制限が行われることを示唆していますが、それはすべてのリクエストが同等に扱われることを意味します。次の理由により、スロットルをアプリケーションで処理する必要があるようです。

  1. 一部のAPI呼び出しには、異なるレート制限がある場合があります(たとえば、オートコンプリートAPIには、他の呼び出しよりも高い制限があります)
  2. APIキーによる一時的な禁止は、Webサーバーでは処理できません
  3. プロキシの背後からのリクエストは同じように扱われます(?)

関連する質問:ここここ、およびここ

0 投票する
6 に答える
3778 参照

java - 分散アプリからのリクエストを抑制できますか?

私のアプリケーションはWebサービス要求を行います。プロバイダーが処理するリクエストの最大レートがあるので、それらを抑制する必要があります。

アプリが単一のサーバーで実行されていたとき、私はアプリケーションレベルでそれを実行していました。これは、これまでに行われたリクエストの数を追跡し、現在のリクエストが最大許容負荷を超えた場合に待機するオブジェクトです。

現在、単一のサーバーからクラスターに移行しているため、実行中のアプリケーションのコピーが2つあります。

  • 2つのノードを組み合わせると許容負荷を超える可能性があるため、アプリケーションコードで最大負荷をチェックし続けることができません。
  • 他のノードがアイドル状態の場合、最初のノードがより多くのリクエストを送信できるため、各サーバーの負荷を単純に減らすことはできません。

これはJavaEE5環境です。アプリケーションが送信するリクエストを抑制するための最良の方法は何ですか?

0 投票する
2 に答える
6526 参照

performance - Oracle でユーザーが使用するリソースを調整または制限する方法はありますか?

マルチユーザー Web アプリケーションを使用していますが、サード パーティのレポート アプリケーションが Oracle 10g データベースにクエリを実行すると問題が発生します。

レポート クエリがシステムの速度を低下させ、他のすべてのユーザーに影響を与えています。

クエリが他のユーザーに影響を与えないように、このユーザーのセッションを調整する方法はありますか?

0 投票する
3 に答える
2286 参照

.net - Windows .NET サービスの CPU 使用率を制限する

サービス コードの内部または外部で、.NET で記述された Windows サービスの CPU 使用率を調整する方法はありますか。現在のスレッドを最低の優先度に設定することはオプションではありませんが、例外が発生し始めるとすぐに CPU 負荷が上昇します。これを制限することは可能ですか?

0 投票する
2 に答える
1536 参照

ruby - ルビーファイルストリームのレート制限

私は、地理的に分散した多数のノードからS3バケットにフラッシュビデオファイルをアップロードするプロジェクトに取り組んでいます。

ビデオファイルはそれぞれ約2〜3 MBで、10分ごとに(ノードごとに)1つのファイルのみを送信しますが、これらのノードはストリーミングメディアをCDN、および場所が原因で、最大512kのアップロードしか取得できません。

私はASW-S3gemを調査してきましたが、レート制限はありませんが、IOストリームを渡すことができることを認識しています。これを考えると、readメソッドをオーバーライドするレート制限ストリームを作成し、レート制限ロジックを追加して(たとえば、最も単純な形式でsleepは読み取り間の呼び出し)、オーバーライドされたスーパーを呼び出すことができるかどうか疑問に思っています。方法。

私が検討したもう1つのオプションは、Net :: HTTPのコードをハッキングsend_request_with_body_streamし、ループを使用しているメソッドにレート制限を設定するwhileことですが、どちらが最適なオプションかは完全にはわかりません。

私はIOクラスを拡張しようとしましたが、それはまったく機能せず、単にクラスから継承してclass ThrottledIO < IOも何もしませんでした。

任意の提案をいただければ幸いです。

0 投票する
2 に答える
20579 参照

.net - WCF サービスのスロットリング

BasicHTTPBinding と SSL が有効になっているコンソール アプリに WCF サービスをデプロイしています。次の属性も設定されます。

また、スロットリング動作を

一方、複数のクライアントを同時に開始し (複数のスレッド)、サーバー上でトランザクションを実行するテスト クライアント (負荷テスト用) を作成しました。すべて問題ないように見えますが、サーバーでは CPU 使用率が増加しないため、ログを追加してサーバーへの同時呼び出しの数を表示したところ、6 を超えたことはありませんでした。

パフォーマンス カウンターのログ記録コードを 2 回以上確認しましたが、問題ないように思えます。

では、この状況でどこに問題があるのか​​お聞きしたいです。ContextMode や ConcurrencyMode はまだ指定していません。

この投稿の後、テストクライアントの別のインスタンスを開始するたびに、同時サーバーコールカウンターが2に増加することに気付きました.1つのインスタンスのみを実行している場合、同時受信コールの最大数は2になり、インスタンスが2つある場合は同じ値が4になります等々。一度のプロセスからの WCF 呼び出しの数に制限はありますか?

********3月17日に追加********

今日、サーバーが実行されている同じマシンで、1 つのテスト クライアント (50 人の同時ユーザー) を使用して別のテストを実行しました。今回は、表示したい正確な結果を取得しています (つまり、サーバーが受信した最大同時呼び出し数 = 50)。

しかし、他のマシンでも同じことをする必要があります。誰でもこれについて私を助けることができますか?

0 投票する
3 に答える
928 参照

wcf - X秒ごとに処理するキューに入れられたWCFサービス

設定された時間間隔でキューに入れられたリクエストを処理できるサービスを作成する必要があります。たとえば、Webにアクセスしてサイトから財務データを取得するには、リクエストを1秒に1回に制限する必要があります。私はWCFを初めて使用しますが、(1)MSMQを使用したWCFがこれを実装するための適切な選択であるかどうかわかりません。(2)もしそうなら、間隔を強制するための最良のメカニズムは何ですか?スレッド待機?タイマー(それがどのように機能するかわからない)。

0 投票する
2 に答える
682 参照

vb.net - 同時非同期呼び出し数を制限するパターン

外部システムから複数のオブジェクトを取得する必要があります。外部システムは複数の同時要求 (つまりスレッド) をサポートしていますが、外部システムをフラッディングする可能性があります。したがって、複数のオブジェクトを非同期で取得できるようにしたいのですが、同時非同期要求の数を調整できるようにしたいと考えています。つまり、100 個のアイテムを取得する必要がありますが、一度に 25個を超えるアイテムを取得したくありません。25 の各リクエストが完了すると、別の取得をトリガーし、それらがすべて完了したら、リクエストされた順序ですべての結果を返したい (つまり、呼び出し全体が返されるまで結果を返す意味がない) )。この種の推奨パターンはありますか?

このようなものが適切でしょうか (疑似コード、明らかに)?

0 投票する
1 に答える
421 参照

sql - 結果セットの行数を予測する方法は?

SQL Server 2008用に大きなSQLクエリを動的に作成するアプリケーションがあります。このクエリは、姓、名、社会保障番号などによる検索など、ユーザーが指定する可能性のあるさまざまな検索条件に基づいています。

要件は、形成されたクエリが多くの行を返す可能性がある条件をユーザーが指定した場合(最大N行に構成可能)、アプリケーションは代わりに、検索を絞り込む必要があることを示すメッセージをユーザーに返送する必要があります。既存のクエリは返される行が多すぎるため、クエリを実行します。

たとえば、5000行をクライアントに戻し、ユーザーにエラーを表示するためだけにそのデータを破棄したくありません。この問題に取り組むための効率的な方法は何ですか?