1

Mac OS X で ApacheBench を使用して Node.js のベンチマークを行っており、Apache 2 と比較しています。基本的に 3 つの質問があります。

  1. Hello World Web ページの私の基本的なテストの結果は次のとおり です 。 「Hello World」のみが含まれています。8000 件のリクエストで同じテストを行ったところ、最後の 1000 件のリクエストで応答時間が同じように増加したことがわかりました。結局増えた理由は何?

  2. テスト中にメモリと CPU の使用状況を記録するために、Mac OS X の linux dstat に相当するものはありますか?

  3. Web サーバーのパフォーマンスやスループットなどを評価するために実行する必要のある基本的なテスト セットはありますか?

4

2 に答える 2

1
  1. テストが応答よりも速くサーバーにクエリを実行するポイントが来ます。これにより、未解決のリクエストが増加する速度で蓄積されます。それらのオーバーヘッドは、応答時間に過度に影響します。つまり、サーバーで DDoS 攻撃を実行し、その容量を発見したということです。

  2. unix の「top」コマンドがありますが、少し面倒です。ps もあります。

  3. Quick google によると、SpecWeb、WebStone、SURGE など、Web サーバーをベンチマークするための標準が存在します。

于 2012-05-22T23:38:10.523 に答える
1

Apache とはどういう意味ですか? アパストムキャット?アパッチ2?Apache Hadoop (明らかにそれでなくても構いません)? ベンチマークしているコードとプラットフォームを指定する必要があります。書いた内容によっては、多くの問題を引き起こしている可能性があります。基本的な Hello World テストでは、PHP スクリプトの実行にはディスク アクセスが必要なため、NodeJS のパフォーマンスが向上するはずですが、ほとんどの NodeJS Hello World テストはインメモリです。response.send("Hello World");これは、PHP ベンチマークとは大きく異なります。

最後の増加の理由は、コンピューターの制限です。お使いのコンピューターは、何百もの開いた接続を維持することはできません。NodeJS はすべての接続に 1 つずつ応答しますが、Apache は新しいスレッドを起動しています。これにより、多くのコンテキスト スワップが発生し、最後に速度が低下するため、最後にすべてのスレッドがドレインされます。

于 2012-05-22T16:08:10.697 に答える