問題タブ [throughput]
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.
c - サイクル数によるスループット計算
アプリケーションが消費するサイクル数 (プロセッサ命令サイクル) からプロセッサ上のアプリケーションのスループットを判断することはできますか? はいの場合、どのように計算しますか?
actionscript-3 - AS3:現在のアップロード速度(またはスループット)の計算
FileReferenceクラスのupload()メソッドを使用してファイルをアップロードしています。現在の接続速度を表示したいのですが、それを行うにはどうすればよいのでしょうか。
私の現在のテクニックは、次のように1ミリ秒ごとにタイマーを使用することです。
currentBytesはProgressEvent.PROGRESSに設定されます。このテクニックは不正確に思えます。アップロード中にアップロード速度を計算してリアルタイムで表示するために、他にどのような方法を使用できるのか疑問に思いました。
どんなアイデアや意見も歓迎します!
どうもありがとうございます、
ルディ
throughput - サーバースループットとはどういう意味ですか
スループットが向上した場合、応答と要求の時間はどのように変更されますか?データ(リクエスト/分)がある場合は?
google-app-engine - GoogleAppEngineクラウドインフラストラクチャでのStackExchangeAPI準拠のリクエストスロットルの実装
StackExchange用のGoogleChrome拡張機能を作成しています。これは、評判を追跡し、StackExchangeサイトでコメントの通知を受け取ることができるシンプルな拡張機能です。
現在、自分では対処できない問題がいくつか発生しています。私の拡張機能は、バックエンドとしてGoogle App Engineを使用して、StackExchangeAPIへの外部リクエストを行います。単一サイトでの新しいコメントに対する拡張機能からの各単一クライアント要求により、非スキートユーザーに対しても応答を準備するためにAPIエンドポイントに多くの要求が発生する可能性があります。平均的なユーザーは、Stack Exchangeネットワークの少なくとも3つのサイトにアカウントを持っており、10を超えるサイトもあります。
Stack Exchange APIにはリクエスト制限が
あります。1つのIPアドレスは、1日あたり特定の数(10,000)のAPIリクエストしか作成できません。
単一のIPアドレスから5秒間に30を超えるリクエストを行うと、APIはリクエストを遮断します。
すべてのリクエストを5秒あたり30にスロットルする必要があることは明らかです。現在、memcachedを使用した分散ロックに基づくリクエストスロットルロジックを実装しています。memcachedを単純なロックマネージャーとして使用して、GAEインスタンスのアクティビティを調整し、UrlFetchリクエストを抑制しています。
しかし、このような強力なインフラストラクチャを制限して、5秒あたり30を超えるリクエストを発行しないようにすることは大きな失敗だと思います。このようなAPIリクエスト率では、新しくて便利で便利な機能の開発を続けることができず、いつの日か正しく機能しなくなります。
現在、私のアプリには90人のユーザーがいて成長しており、リクエスト率を最大化する方法を考え出す必要があります。
既知のとおり、App Engineは、異なるIPの同じプールを介して外部UrlFetchリクエストを作成します。私の目標は、リクエストスロットル機能を記述して、APIの利用規約に確実に準拠し、GAE分散機能を利用することです。
したがって、私の質問は、APIの使用条件に準拠し、GAE分散機能を利用しながら、実用的なAPIスループットを最大化する方法です。
別のプラットフォーム/ホスト/プロキシを使用するようにアドバイスすることは、私の頭の中では役に立たないだけです。
c# - c#で受信したudpデータ(不良データを含む)の量を知るにはどうすればよいですか?
破損/不良データ、パケットヘッダーなど、updclientに到着したデータの量を知りたい。udpを使用してスループットを計算したい。
ありがとう。
.net - アプリケーションのネットワーク フットプリントをテストするにはどうすればよいですか?
ネットワーク管理の経験がないので、不器用な質問でしたら申し訳ありません。
クライアントのサイトでローカルに展開する .NET アプリケーションがあります。彼らはこれを行うためのハードウェアを持っていますが、ネットワーク機能について懸念しています。
インフラストラクチャー
- クライアントには 2 MB のアップロード/ダウンロード ネットワーク接続があります。
- 現在、260 人のユーザーにウェブメールを提供しています。
ウェブアプリ
- Web アプリケーションは 200 人までのユーザーによって使用されます
- 各ユーザーは、おそらく週に数回ログインし、1 日のスパイク時間はありません。
- 平均的な使用量では、おそらく、かなり小さいフォーム ページ 5 つ (5 ~ 15 フィールド) をダウンロード/アップロードする必要があります。
私の直感では、これは使用率が非常に低く、現在のセットアップに大きな影響を与えるべきではありません. ただし、可能であれば検証したいと思います。
windows - マルチスレッドWindowsサービス-Erlang
私は私が解決しなければならない問題を話すつもりです、そして私が正しい道にいるならば私はいくつかの提案が必要です。
問題は:
リクエストを受信して何らかのアクションを実行するWindowsサービスアプリケーションを作成する必要があります。(ソケット通信)このアクションは、スクリプト(おそらくluaまたはperl)を実行することです。このスクリプトは、クライアントのビジネスルールをモデル化し、データベースでクエリを実行し、Webサイトで要求を行い、クライアントに応答を送信します。
3つの必須要件があります。
- サービスは同時に多くのリクエストを受け取ります。ですから、ワーカーのスレッドモデルを使うと思います。
- サービスは高スループットである必要があります。同時にたくさんのリクエストがあります。
- 低遅延:これらの要求に非常に迅速に応答する必要があります。
すべてのリクエストでログエントリが生成されます。I / O時間が長いため、スクリプトの実行と同時にこれらのログエントリを物理ディスクに書き込むことはできません。おそらく私はメモリ内にキューを作成し、他のスレッドはこのキューを消費してディスクに書き込みます。
将来的には、2人のwokerのスレッドがメッセージを変更しなければならない可能性があります。
このサービスのプロトコルを作成する必要があります。Thriftを使用することを考えていましたが、関連するオーバーヘッドがわかりません。多分私は自分のプロトコルを作るでしょう。
Windowsサービスを書くために、私はErlangで考えていました。それは良い考えですか?
この問題を解決するための提案/ヒントはありますか?このサービスを作成するのに適した言語はどれですか?
linux-kernel - コアよりもスレッドが多い場合の Linux スケジューラのスループットについて
Linuxスケジューラでいくつかの測定を行いました。Linux は「Linux バージョン 2.6.18-194.el5 (mockbuild@x86-005.build.bos.redhat.com)」で、マシンは 8 CPU です。測定は、そのマシンの唯一のワークロードです。
測定は2セットです。最初のセットでは、8 つのスレッドが設定され、それぞれの計算コストは同じです。2 番目のセットは、1 つのスレッドを 2 つに分割することで、合計 9 つのスレッドになります (そのうちの 2 つは他の 7 つのスレッドの半分のコストです)。
2 つの測定セットを実行すると、スループットは同じであると予想されます。これは、総計算コストが同じであり、Linux スケジューラが (確かではありませんが) 1 つのコアでこれら 2 つの小さなスレッドをスケジュールする必要があるためです。結果は、スループットが 8 スレッドから 9 スレッドに劇的に減少したことが判明しました。何が原因なのか、誰にでも思い当たることはあります。
編集:@Waldheinz。これらのスレッドは順番に設定され (たとえば 0、1 ... 7)、スレッド 0、1 からスレッド 7 までの (無限の) タプル ストリームが通過します。8 つのスレッドはすべて、最初の測定セットと同じ計算コストです。
更新: スレッドの数が 16 に変更された場合、つまりすべてのコアに 2 つのスレッドがある場合、スループットは 8 スレッドの場合に改善されます...
image - ImageMagick変換による大きな画像処理-より多くのスループットが必要
いくつかの大きな画像をマルチ画像(ピラミッド型)tifからpng形式に変換しています。最大の画像の「identity-verbose」からのレポートの重要な部分は次のとおりです。
この画像でSilverlightマルチスケール画像コントロールの入力を生成するためにdeepzoomコンポーザーを使用するつもりです。私の質問は、ImageMagickでこれらの画像を処理しているときに、どうすればシステムをひざまずくことができるかということです。変換に時間がかかりすぎます。いくつかの記事を見ましたが、どこにも行けないようです。
一部のシステムおよびその他の関連情報:
「identify-listresource」の結果は次のとおりです。
このコマンドを実行して、上記で参照されている画像を抽出しています。
2つの制限値を追加しても、違いは見られませんでした。これを実行すると、平均して約10%のCPU使用率で、ページファイルのコミットサイズは3BGになります。動作していることがほとんどわかりません。
Q1)ImageMagickにさらに多くのシステムリソースを使用させるために他にできることはありますか?私が見つけた「大きな画像」のリンクのほとんどは、反対の質問をしています。
Q2)次の場所にある「policy.xml」値(ファイルなど)の変更:C:\ Program Files \ ImageMagick-6.7.1-Q16 \ www\sourceは何にも影響を与えていないようです-変更は次の項目には表示されませんでした「-listリソースを識別してください。」これにトリックはありますか?
Q3)このタスクに関する他のヒントやアイデアはありますか?
ありがとう、デビッド
c++ - C ++ソケットプログラミング:ローカルホストでスループット/帯域幅を最大化します(23GBit/sではなく3Gbit/ sしか取得できません)
ローカルホストでTCPソケット通信のスループットを最大化するC++サーバー/クライアントを作成したいと思います。準備として、iperfを使用して、i7MacBookProの最大帯域幅を調べました。
微調整なしで、iprefは私が少なくとも23.2GBit/秒に達することができることを私に示しました。次に、独自のC ++サーバー/クライアント実装を行いました。完全なコードはここにあります:https ://gist.github.com/1116635
そのコードは、基本的に、読み取り/書き込み操作ごとに1024バイトのint配列を転送します。したがって、サーバー上の送信ループは次のようになります。
クライアントでの受信ループは次のようになります。
見出しで述べたように、これを実行すると(-O3でコンパイル)、実行時間は約3 GBit/sになります。
どこで帯域幅を失うのですか、何が間違っているのですか?繰り返しになりますが、完全なコードはここで見ることができます:https ://gist.github.com/1116635
どんな助けでも大歓迎です!