2011-01-12 13 views
5

現在、Node.jsとApacheの間のパフォーマンスをテストしています。パフォーマンステストApacheとNodeJs

は何を証明したいことはある:それはシングルスレッドのイベントループを使用していますNode.jsのより多くのスレッドのスイッチを必要とするため

  • Apacheが遅くなります。
  • epollを使用しているNode.jsと比べて、Apacheにはもっと多くのRAM/Connectionが必要です。
  • 意味

、それは私がテストしたいことです:

  • 接続RAM
  • あたりのCPUあたり

    1. リクエスト/秒[OK]をそれは私が何をしたいです!しかし、問題はこれをどうやってやるべきかということです。 リクエスト/セカンドテストでは、Apache Benchmark(ab)を使用することができます(しかし、Node.jsにも適しています) 最大の問題は、どのようにConnections/RAMをテストできますか?

    答えて

    4

    接続数/秒:単純な "hello world" node.jsサーバーで最近このテストを行い、CPUコア当たり〜9,000要求/秒を得ました。 (ab、btw。2.5GHz、クアッドコア、XeonのLinuxボックスでのテスト)。

    RAMごとの接続:ここには2つの#があります。ベースラインメモリ(接続なしで必要なメモリ)、および接続ごとのメモリ私は、HTTP接続を開いたままのシンプルなサーバー/クライアントをスピンアップすることで、Mac Proでこれをテストしました。私はメモリ使用量を見るために 'top'コマンドを実行しました。接続がゼロの場合、ノードのRSIZEは14MBでした。次に、クライアントが稼働していて、2000同時接続を開いている状態で、RSIZEは24MBに増加しました。 〜5MB/1000接続。

    ノードとApacheに#を付けると、ここにそれらを掲示できますか?私も好奇心が強いです。

    +0

    abで、2.5GHzのデュアルコアK8 AMDでは、並行性100の〜6300 R/Sが得られます。接続/ラムについて私はtautologicsスクリプト - > github.com/tautologistics/node_loadtestを使用しました。ここでは、およそ250MBのばかばかしい61000接続を実現しています。私が知る必要があるのは、Apacheの最大並行性/ Ramをテストする方法です。助言がありますか???ああ、あなたはどのように5MB/1000接続を達成したUのスクリプトを投稿することができますか? – user572715

    17

    「私は証明したい」というのは、ベンチマークを行うときの非常に間違った態度です。あなたは何かを証明していない、実際のパフォーマンスを測定している。あなたは結果に驚かされるかもしれないし、驚かされないかもしれませんが、本当に「このことが何をすることができるかを見てみましょう」から始める必要があります。

    明らかに、私が見たベンチマークの中で、ノードは生のスピードの点では最初に現れますが、メモリを増やしてからApacheを使用するので、あなたの「証明」があります。

    関連する問題