問題タブ [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.

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

tomcat - 少数のユーザーでの Tomcat スループット制限

サービスの 1 つに対する要求を処理する webapp があります。Tomcat 7 サーバーで実行しています。以下で説明するように、作成できる最も基本的なサーブレットで同様の結果が得られるため、これ以上の詳細は必要ありません。

サービスへのリクエストを 1 分間実行するさまざまな数の同時スレッドを使用して、jmeter で負荷テストを実行します。結果を使用して、平均応答時間と同時スレッド、および 1 秒あたりのリクエスト数と同時スレッドの数を示すグラフを生成します。

私たちのテストでは、約 10 の同時スレッドで、アプリケーションによって管理されるスループットに限界があることがわかりました。そのスレッド数から開始すると、平均応答時間が増加し、1 秒あたりの要求数が安定します。

すべてのアプリケーション ロジックを削除して静的応答を返すなど、アプリケーションに対するいくつかの変更をテストしました。また、何もしない基本的なサーブレットに対して同じテストを実行すると、同様の結果が得られました。平均応答時間とスループットの値は大幅に改善されましたが、テストでは約 10 の同時スレッドで限界に達しました。

また、テスト ツールの問題を破棄するために、Apache Benchmark で同様のテストを実行しました。

テストは、2 つのサーバー プールで実行されました。ローカル コンピューターで実行すると、同様の結果が得られましたが、約 5 つの同時スレッドでスループットの制限に達しました。

こちらがスループットチャートです。各行の値は重要ではないことに注意してください (たとえば、db アクセスが削除されているものや、ほとんどのアプリケーション ロジックで時間がかからないものもあります)。

スループットチャート

私たちが理解したいのは、スループットの限界がどこから来ているのか、それを改善するために何ができるのかということです。

ありがとう、ホルヘ

PS: 単なるリンクではなく画像を追加したいのですが、十分な評判がないようです :(

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

amazon-s3 - s3 への典型的な書き込みスループットは? (flume 0.9.4 を使用)

Flume (flume 0.9.4-cdh3u4) フローを BE モードで実行しています。別のマシンにあるエージェントとコレクターの両方が大規模な EC2 インスタンスです。

コレクターは、ローカル ファイルシステムと同じリージョン内の S3 バケットに書き込みます。

エージェントは、E2E モードで構成されている場合、4MB/秒を処理するようにテストされており、エージェント <-> コレクター速度も同様です。

「iftop」を使用すると、コレクターによる S3 への発信接続が 2 つあり、s3 への書き込みスループットが約 40KB/s ~ 50KB/s であることがわかります。

  1. コレクタを使用して見た s3 への典型的な書き込みスループットは?

  2. インスタンスの使用率を最大化するために、これらのスレッド (S3 に書き込む) をさらに生成できるかどうか疑問に思っていました。

それ、どうやったら出来るの?

別の方法で書き込みスループットを向上させることができれば、これ以上コレクターを生成したくありません。

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

networking - AWKを使用してNS2のスループットを計算する

ここに画像の説明を入力してください NS 2.29の私のシナリオには5つのノードがあり、各ノードにはノード0とノード4を期待する2つのインターフェイスがあり、ノード0はノード4にパケットを送信したいと考えています。使用したプロトコルはAODVで、ノードのタイプはワイヤレスです。

計算したい

パケットの受信/パケットの送信

また、さまざまなシミュレーション時間でのスループットもあり、すべてAWK言語で実行したいと考えています。

私が言ったことを理解するために出力ファイルを共有する方法がわかりません。

出力ファイル:

...。

つづく

誰かが私がこれを行う方法を説明できますか?どんな答えも非常に役に立ちます。ありがとう

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

wcf - WCF スループットが予想より低い

投稿が長くなって申し訳ありませんが、私の状況を引き起こす可能性のあることがたくさんあり、他の投稿に基づいて行ったすべての設定変更を含めようとしました. つまり、私の WCF サービスは、一度に 3 つまたは 4 つの同時クライアント要求に制限されているようです。アプリケーション プールの最大ワーカー プロセス数を高く (約 10) 設定するか、サービス動作の ConcurrencyMode を複数に設定すると、スループットが大幅に向上します (数倍速くなります)。ただし、これらは実際の問題に対する回避策のように見え、独自の問題をもたらします。私は間違っていますか、それとも IIS は負荷を処理するために 1 つのワーカー プロセス内で WCF サービスの多くのインスタンス (数十以上) を起動できるはずですか? どこかに設定がないことはわかっていますが、見つかりません。

編集:これまでの提案を試してみると、私の計算はスループットに欠けていることに気付きました。ForEach ループを使用すると、サーバーで推定同時処理が 20 秒台前半 (タスクあたりの期間 * タスク数 / 合計実行時間) になります。これは、実行されている実際の作業 (スリープ 10 秒) に対してはまだ低いように見えますが、馬鹿げたほど低くはありません。

2番目の編集: @Pabloのコメントを回答としてマークしました。彼の回答と彼のリンクにより、パフォーマンスが大幅に向上する情報が得られたためです(約3倍だと思います)。ただし、フォローアップの質問をしたいと思います-WCF / IIS で同時要求を処理するための合理的な期待は何ですか? CPU、メモリ、および IO がボトルネックではないと仮定すると、リクエストを処理するための (CPU あたりの) 実際の制限/期待値はどれくらいですか? 私が探しているのは、CPU (またはワーカー プロセス) を追加しない限り、おそらくこれ以上大きなブーストを得ることはできないだろうという経験則です。再度、感謝します。

(Windows 2008 Server では、IIS によってホストされ、1 プロセッサ)
WCF Service Config (省略形):

クライアント構成 (省略):

クライアント メソッド呼び出し:

WCF サービス コード:

洞察や提案をありがとう!

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

cuda - CUDA 加算とシフト命令のパフォーマンス

私が取り組んでいる大規模な CUDA カーネルの命令スループットを理解しようとしています。加算命令とシフト命令のスループットを比較するために、2 つの小さなプログラムを作成しました。CUDA C Programming Guide によると、shift 命令のスループットは add 命令の半分です。しかし、Tesla M2070 で 2 つのプログラムの実行時間を測定すると、時間はまったく同じです。誰かがなぜこれが当てはまるのか説明してもらえますか?

追加プログラム:

シフトプログラム:

編集:ptxコードの追加およびシフトプログラムの追加。ご覧のとおり、唯一の違いは 78 行目です。つまり、add 命令と shl 命令です。

PTX コードを追加:

シフト PTX コード:

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

performance - .NET ActiveMQ での非同期送信

ActiveMQ に対して書いている高スループット プロデューサーのパフォーマンスを向上させようとしています。このuseAsyncSend によると、次のようになります。

パフォーマンスを大幅に向上させる非同期送信の使用を強制します。ただし、メッセージが送信されたかどうかに関係なく send() メソッドがすぐに返されるため、メッセージが失われる可能性があります。

ただし、単純なテストケースに違いがあるとは思えません。

この非常に基本的なアプリケーションを使用して:

次の出力が得られます。

これは、各メッセージの送信に約 800 ミリ秒かかり、呼び出しが約 2.5 秒間session.Send()ブロックされることを示しています。ドキュメントにそう書いてあるのに

「send() メソッドはすぐに戻ります」

また、これらの数は、並列 for を通常の for ループに変更するか、または to に変更しても基本的に同じであるためAsyncSend = trueAlwaysSyncSend = true非同期スイッチがまったく機能しているとは思えません...

送信を非同期にするためにここで何が欠けているかを誰かが見ることができますか?


さらにテストした後:

ANTS パフォーマンス プロファイラーによると、ランタイムの大部分が同期の待機に費やされています。問題は、さまざまなトランスポート クラスがモニターを介して内部的にブロックしていることにあるようです。特に、一度に 1 つのスレッドしかアクセスできない MutexTransportの OneWay メソッドにハングアップしているようです。

Send の呼び出しは、前のメッセージが完了するまでブロックされるように見えます。これが、最初のメッセージが 12 ミリ秒ブロックされ、次のメッセージが 1858 ミリ秒かかったことを出力が示している理由を説明しています。メッセージごとの接続パターンを実装することで複数のトランスポートを使用できます。これにより、問題が改善され、メッセージ送信が並行して機能しますが、単一のメッセージを送信する時間が大幅に増加し、非常に多くのリソースを使用するようには見えません。正しい解決策。

これらすべてを 1.5.6 で再テストしましたが、違いは見られませんでした。

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

spring-integration - Spring Integration の高スループットのトランザクション使用

私はインターネットを精査し、Spring フォーラムに投稿し、ほぼすべてのオンライン ドキュメントを読みましたが、Spring Integration が単一のマルチリソース (JTA) トランザクション内で複数のメッセージを処理できるかどうかはわかりません。これは、必要なスループットを得るために、私の目的にとって重要です。これが可能かどうか誰にもわかりますか?(そして、それを機能させる方法についての少しのガイダンスをいただければ幸いです。)

0 投票する
0 に答える
249 参照

mysql - MySQL Cluster は、大量の書き込みを伴う大量のスループットで NoSQL のパフォーマンスに匹敵しますか

プレーヤーがゲームの状態を保存して、暇なときにゲームをプレイ/再開できるようにするターンベースの戦略ゲームを設計しています。これにより、大量の同時読み取り/書き込みが発生する可能性があるデータ環境が作成されます。さらに、ゲームのコンテキスト内で、プレイヤーはデータを変換できるようにするさまざまな変数を利用できます。

同時読み取り/書き込みの量を軽減するために意図的にターンベースの設計を実装しましたが、それでもデータが絶えず変化する非常に動的なゲーム環境になります (明らかに、これがゲームであることを考えると、 1:1 の読み取りと書き込みの比率) であり、そのダイナミクスを考えると、おそらくスキーマフリーの設計にはるかに適しています。

この時点で知りたいのは、このような環境で MySQL クラスターがどれだけうまく機能するかを見た人がいるかということです。Couchbase や Riak のような NoSQL ソリューションと同じように機能しますか? 書き込みが集中する環境で (全体として) パフォーマンスが高いのはどれですか? そのデータのピーク スループットでのアクセス時間の一貫性が高いのはどれですか? また、ACID 準拠に最も近い (そして最速の) 状態を維持するものはどれですか?データのバージョン管理は非常に重要です。たとえそれがターン ベースのゲームであっても、プレイヤーは、面倒なロックなどに遭遇することなく、自分の選択がすぐに反映されるのを確認できるはずです。

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

file - ファイルをダウンロードするときのスループットを計算しますか?

5MB、10MB、20MB、50MB、および100MBのファイルをダウンロードおよびアップロードする。スループットはどのように計算できますか?

ありがとう、

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

database - AWS DynamoDB テーブルの暫定スループットを計算するにはどうすればよいですか?

私のシステムは、毎日大量のデータを DynamoDB テーブルに書き込むことになっています。これらの書き込みはバーストで発生します。つまり、毎日特定の時間に、複数の異なるプロセスが出力データを同じテーブルにダンプする必要があります。次のダンプが発生する前にすべての日次データが書き込まれる限り、書き込み速度は重要ではありません。テーブルの暫定容量を計算する正しい方法を見つける必要があります。

簡単にするために、1 日に 1 回データを書き込むプロセスが 1 つしかなくX、テーブルに項目 (各項目 < 1KB) を書き込む必要があると仮定します。指定する必要がある容量は、基本的にX / 24 / 3600書き込み/秒と同じですか?

どうも