問題タブ [apachebench]

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 に答える
1345 参照

apache - NodeJSとapacheベンチマークを使用した奇妙な動作

nodejs(0.8.11)をテストしています。

次のサーバーアプリを使用します。

私はapacheベンチマークを実行しました:

ab -r -v 4'http://127.0.0.1:1337/'

次の出力が得られます。

abからの出力:

そして、abマニュアルで指定されているように、デフォルトのリクエスト数が1ではないと考えて、私は試しました:

同じ出力が得られます(ログに「ヒット!」がたくさんあります)

ここで何が起こっているのですか?

これはノードに固有です。私は私の桟橋アプリで同じことを試しましたが、ab -c 1 -n 1記録されたヒットは1つだけでした...

注:ノードサービスをカールさせてみました-1'ヒットのみ!' ログに...

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

node.js - NodeJS ベンチマーク

NodeJS と Apache + PHP のどちらが速いかを比較するために、ベンチマークを作成しました。

「Hello world」アプリケーションをテストしたときは Node の方が高速でしたが、http.get 関数を使用しようとすると、まったく別の話でした。

NodeJS が非常に遅くなるのはなぜですか? http.get で扱っていますか?または何?

テスト環境


1. ハローワールドアプリケーション:

NodeJS コード:

PHP コード:

結果:

見出し

ab -n 10000 -c 10 ホスト名 .
10.000 リクエスト、10 同時 (秒単位の時間)

ab -n 10000 -c 100 ホスト名

10.000 リクエスト、100 同時 (秒単位の時間)

ab -n 100000 -c 300 ホスト名

100.000 リクエスト、300 同時 (秒単位の時間)


2. プル フィード アプリケーション:

NodeJS コード:

PHP コード:

結果:

* ab -n 100 -c 10 ホスト名 *

100 件のリクエスト、10 件の同時リクエスト (秒単位の時間)

* ab -n 1000 -c 10 ホスト名 *

1000 リクエスト、10 同時 (秒単位の時間)

* ab -n 10000 -c 100 ホスト名 *
10.000 リクエスト、100 同時 (秒単位の時間)

* ab -n 10000 -c 50 ホスト名 *
10.000 リクエスト、50 同時 (秒単位の時間)

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

node.js - Apachebench が私が要求するよりも多くの要求を行っている

サーバーをテストするために、apachebench を使用して多数のリクエストを作成しようとしています。ただし、多くの場合、私が要求するよりも多くの要求が行われます。これを使用して、express を使用する node.js サーバーをテストしています。

1 つのリクエストのみを行う場合もあれば、10 から 100 のリクエストを行う場合もあるため、気難しいように見えます。悪い点は、リクエストが 1 つしか行われていないことを報告するだけであることです。私は何か間違ったことをしていますか?これは node.js が非同期であることと関係がありますか?

「ab」を使用して node.js サーバーのベンチマークに問題があった人はいますか?

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

node.js - Node.jsは、クラスタリングなしでabではるかに優れています.何が欠けていますか?

更新 1 : 非常によく似た構成での @BagosGiAr テストは、クラスターのパフォーマンスが常に向上することを示しています。つまり、私の構成に問題があり、その原因を突き止める手助けをしてほしいとお願いしています。

更新 2 : この問題について詳しく説明したいと思います。同じノード バージョンの LiveCD* (Xubuntu 13.04) でテストしました。まず、Linux のパフォーマンスは Windows よりもはるかに優れて-n 100000 -c 1000います。クラスターなしで 6409.85 リクエスト/秒、クラスタリングありで 7215.74 リクエスト/秒です。Windowsビルドには間違いなく多くの問題があります。それでも、同様の構成を持つ一部の人々がより優れたパフォーマンスを発揮する (そしてクラスタリングもうまく機能する) ことを考えると、なぜこれが私だけに起こっているのかを調査したいと思います。

*Windows では高速な SSD を使用していましたが、LiveCD は RAM ファイルシステムを使用していることに注意してください。

これはどのように可能ですか?clusterモジュールを使用すると結果が良くなるはずではありませんか? 仕様: Windows 7 x64、デュアルコア P8700 2.53Ghz、4GB RAM、Node.js 0.10.5、ab 2.3。テスト コマンド ラインはab -n 10000 -c 1000 http://127.0.0.1:8080/.

ベンチマーク結果 ~ 2840.75 リクエスト/秒:

クラスタ モジュールを使用する場合:

...そして同じベンチマークでは、結果は最悪です: 849.64 reqs/sec :

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

linux - Apache Bench の「接続」時間が長い

APIサーバーでApacheベンチを使用して非常に簡単なベンチマークを実行しようとしています.Webサーバーの負荷テストには理想的なツールではないことはわかっていますが、それは重要ではありません.

いくつかのサーバーといくつかの VM (これらのサーバーでホストされています) があります。それらはすべて、nginx、uwsgi、cherrypy webapp の同じスタックを実行しています。新しいサーバー (VM なし) で apachebench を実行すると、結果は次のようになります。

ここで奇妙なのは、ご覧のとおり、ほとんどのリクエストが 12 ミリ秒以内に処理されることです。しかし、一部のリクエストには 10 倍以上の時間がかかっています。どうやら、問題は「接続」フェーズにあるようです。

他のサーバーまたは VM にクエリを実行する任意のサーバーまたは VM から、この効果を確実に再現できます。ただし、localhost に対するクエリは常に高速です。

また、スロー リクエストは均一に分散されているように見えます。ab (同時実行設定 1) で 50 リクエストしか実行していない場合でも、スロー リクエストがいくつか発生します (ただし、数回の試行が必要な場合もあります)。

問題をさらに特定するために、まったく同じ動作を示すnginxのhello worldページに対するベンチマークだけを知っています(したがって、これは私たちのアプリではありません)。

この問題に最初に気付いたとき、膨大な数の 'TIME_WAIT' 接続にも気付きました。いくつかの sysctl フラグを微調整してみました。TIME_WAIT はかなり少なくなりましたが、問題は解決しません。

あらゆる種類のsysctl設定を試しましたが、役に立ちませんでした。

すべてのサーバーは、Intel プロセッサを搭載した適度に新しいマシンであり、すべて Ubuntu サーバーを実行しますが、バージョンが異なります: 10.10、12.10、および 13.04。

完全を期すために、2 つの Google Compute Engine VM で nginx のフロントページに対して同じベンチマークを実行しようとしましたが、同じ動作は表示されません。

情報が不足している場合は、喜んで投稿を修正します:)。

編集:

クロックを ntpdate と同期した後、ホスト 3 からホスト 4 へのソケットを開き、再び閉じる Python スクリプトを実行しました。プロセスに 0.5 秒以上かかった場合は、正確な時間枠が記録されます。両方のサーバーで tcpdump を実行しているときにこれを実行しました。これは出力の一部です。ある時点で、いくつかのパケットを転送するのに約 1 秒かかることに注意してください。問題は、これらの結果をどのように解釈すればよいか、私にはよくわからないということです。

ホスト 3:

Host-4 (ほぼ同じ時間枠):