問題タブ [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.
java - 非常に大きな(> 1GB)ファイルをアップロードするための提案
そのようなタイプの質問がSFに存在することは知っていますが、それらは非常に具体的であり、一般的な提案が必要です。1GBを超えるサイズのユーザーファイルをアップロードする機能が必要です。この機能は、より小さなファイルに対応するアプリケーションに存在する既存のファイルアップロード機能へのアドオンになります。さて、ここにいくつかのオプションがあります
- HTTPおよびJavaアプレットを使用します。ファイルをチャンクで送信し、サーバーで結合します。しかし、n/wを絞る方法。
- HTTPおよびFlexアプリケーションを使用します。ブラウザの互換性やその他の環境問題よりも優れていますか?
- アップロードプロセスを高速化するためのプロトコルとして、HTTPではなくFTPまたはSFTPを使用する
提案してください。
さらに、このアップロードプロセスが他のユーザーのタスクを妨げないようにする必要があります。つまり、他のユーザーの白黒を使い果たしないようにする必要があります。そのようなプロセスを抑制するためにn/wレベルで実行できるメカニズムはありますか?
最終的に、顧客はオプションとしてFTPを使用したいと考えていました。しかし、プログラムでファイルを処理することでの答えもクールだと思います。
email - Windows Server 2008 で電子メールを抑制する最良の方法
サイトの送信メール用に SMTP が設定されたサーバーがあります。ブラックリストに登録されないようにするために、送信メールを任意のしきい値 (1 時間あたり 500 としましょう) 未満に制限したいと思います。これを実装する最良の方法は何ですか?
私が見る2つの可能性は次のとおりです。
1) SMTP 仮想サーバー内での何らかのアウトバウンド スロットリング (本格的な Exchange サーバーではない場合にこれが可能かどうかは不明)
2) 電子メールのデータベース テーブルをポーリングし、TOP N の結果を処理し、X 分間スリープする Windows サービスを作成します。
これらのいずれかが最良のアプローチですか?
java - JavaでスレッドのCPU/メモリ使用量を調整していますか?
複数のスレッドを実行するアプリケーションを作成しており、これらのスレッドの CPU/メモリ使用量を抑制したいと考えています。
C++ についても同様の質問がありますが、可能であれば C++ と JNI の使用を避けたいと考えています。高水準言語を使用するとこれが不可能になる可能性があることは承知していますが、誰かアイデアがあるかどうか知りたいです。
編集:賞金を追加しました。これについては、本当によく考え抜かれたアイデアが欲しいです。
編集 2:これが必要な状況は、サーバー上で他の人のコードを実行することです。基本的に、これは完全に任意のコードであり、唯一の保証はクラス ファイルに main メソッドがあることです。現在、複数の完全に異なるクラスが実行時にロードされ、別々のスレッドとして同時に実行されています。
書かれているように、実行されるクラスごとに個別のプロセスを作成するためにリファクタリングするのは面倒です。それが VM 引数を介してメモリ使用量を制限する唯一の良い方法である場合は、それで問題ありません。しかし、スレッドでそれを行う方法があるかどうか知りたいです。別のプロセスであっても、CPU 使用率を何らかの方法で制限できるようにしたいと考えています。前述したように、これらのプロセスのいくつかは一度に実行されるからです。無限ループがすべてのリソースを占有することは望ましくありません。
編集 3:オブジェクトのサイズを概算する簡単な方法は、Java のInstrumentationクラスを使用することです。具体的には、getObjectSize メソッドです。このツールを使用するには、特別な設定が必要であることに注意してください。
sockets - 'ab' プログラムが多くのリクエストの後にフリーズするのはなぜですか?
「ab」を使用して Web サーバーのベンチマークを実行すると、大量のリクエストを送信した後、しばらくの間フリーズし、20 秒ほど後に続行します。
Ruby で記述された次の HTTP サーバー シミュレーターを考えてみましょう。
次に、次のように ab を実行します。
最初の数秒間、ab は想定どおりにジョブを実行し、CPU を 100% 使用します。
約 13500 のリクエストの後、システムの CPU 使用率は 0% に低下します。ab は何かに固まっているようです。この時点で、サーバーは accept() を呼び出しているため、問題はサーバーにはありません。約 20 秒後、ab は何も起こらなかったかのように続行し、再び 100% の CPU を使用しますが、数秒後に再びフリーズするだけです。
カーネル内の何かが接続を調整していると思われますが、何が原因でしょうか? OS X Leopard を使用しています。Linux でも同様の動作が見られましたが、フリーズははるかに多くのリクエストで発生し、それほど頻繁には発生しません。
この問題により、大規模な HTTP ベンチマークを実行できません。
yahoo-pipes - Yahoo-Pipes はリクエストを抑制します: 制限は何ですか?
昨日、Yahoo-Pipes で「999」エラーに遭遇し始めました。特定の IP アドレスからのリクエストを抑制しているようです。
Yahoo-Pipes の 1 分あたりのリクエスト数の上限を知っている人はいますか?
php - サイトのAPIユーザーを調整するにはどうすればよいですか?
私のサイトの正当なユーザーは、望ましくない結果を引き起こすAPIリクエストでサーバーを槌で打つことがあります。5秒ごとに1回のAPI呼び出し、または1分あたりn回の呼び出しという制限を設けたいと思います(正確な制限はまだわかりません)。明らかに、すべてのAPI呼び出しをDBに記録し、すべてのリクエストで計算を行って、制限を超えているかどうかを確認できますが、すべてのリクエストでのこの余分なオーバーヘッドはすべて、目的を達成できません。制限を設けるために使用できる、リソースをあまり消費しない他の方法は何ですか?私はPHP/Apache/Linuxを使用しています。
language-agnostic - クライアントが十分な速さでデータを読み取っていないため、ソケットがスロットリングされていますか?
TCP ソケットを介したクライアント/サーバー接続があり、サーバーはできるだけ速くクライアントに書き込みます。
ネットワーク アクティビティを見ると、本番クライアントは約 2.5 Mb/s でデータを受信しています。
速度を読み取ってベンチマークするために作成した新しい軽量クライアントの速度は約 5.0Mb/s です (これはおそらく、サーバーが送信できる最大速度に近い速度です)。
クライアントはサーバーにデータを送信してレート制限について通知しないため、ここでレートを制御するものは何なのか疑問に思っていました。
flash - Flash での YouTube スタイルのスロットリング
私はこれについて完全に気が狂っているかもしれませんが、YouTube ビデオのダウンロード/バッファ レートは最初は速く、バッファ ポイントが現在再生中のマークから離れるほど、バッファリングが遅くなるようです。
私は気が狂っていますか、それとも他の人にもこのように機能しますか?
後者を仮定すると、彼らがどのようにそれを行うかについての理論はありますか? サーバー側ですか、それともクライアント側ですか?クライアント側である必要があると思いますが、誰が知っていますか? 私ではありません、それが私が尋ねている理由です!
java - M リクエストのメソッド呼び出しを N 秒でスロットリングする
一部のメソッドの実行を N 秒 (または ms または nanos は関係ありません) で最大 M 呼び出しに調整するコンポーネント/クラスが必要です。
つまり、N 秒のスライディング ウィンドウでメソッドが M 回しか実行されないようにする必要があります。
既存のクラスがわからない場合は、これをどのように実装するかについて、ソリューション/アイデアを自由に投稿してください。
c# - Web リクエストのレート制限アルゴリズムを実装する最良の方法は何ですか?
可能な/部分的な重複:
スパムやブルート フォース攻撃を減らすために、Web アプリケーションの移動時間ウィンドウ レート制限アルゴリズムを実装する最良の方法を探しています。
使用例は、「過去 5 分間に特定の IP から失敗したログイン試行の最大数」、「過去 N 分間の (投稿/投票/その他...) の最大数」です。
X分ごとに統計をハードリセットする(twitter apiのように)よりも、移動時間ウィンドウアルゴリズムを使用したいと思います。
これは、C#/ASP.Net アプリ用です。