2010-11-18 23 views
5

私はnode.jsで新しいですリアルタイムメッセージングのためにsocket.ioをテストしています。私はそれを愛し、私は使いたい。質問があります。 Node.jsサーバで実行できる並行性の数はいくつですか?私たちのプログラムは約100の並行処理になります。だから、私はそれについて心配です。node.js同時実行

別のリアルタイムメッセージングサーバー、APEが見つかりました。どちらがいいですか ?私はnode.jsを覚えています。なぜなら、学習しやすく、書くのが簡単だからです。しかし、node.jsサーバーの並行性に関する議論を見つけることができませんでした。私の友人の会社はAPEを使用しており、2000年前後で管理することができます。そこで、node.jsサーバーについて知りたいと思います。

答えて

12

これをバックアップするためのベンチマークはありません。どちらもイベントドリブン(つまりLinuxのepoll)なので、私は両者(少なくとも10Kの同時ユーザー)に匹敵する結果が得られると思います。つまり、実装の実際の場所が異なるため、パフォーマンスは同時接続数よりもメッセージの頻度の影響を受ける可能性が高くなります。

node.jsの彗星の性能については、Amir Salihefendicの優れたブログ記事をhttp://amix.dk/blog/post/19577でご覧ください(この記事のリンクを参照すると、他の投稿も幻想的です)。

彼が書いたバージョンの1つは、APEが使用するものであるlibevent(epoll)を使ってCに書かれていることに注意してください。また、APEのWebサイトによれば、10万人以上の同時ユーザーを処理できると主張しています。

関連する問題を本当に理解したい場合は、有名な「C10K問題」の記事が面白いかもしれません(Google検索で「C10K問題」を参照)。

最終的には、1秒あたりのリクエスト数、マシン数、どの言語をコード化するのかということになるでしょう。約100人の同時ユーザーが必要な場合は、あなたはあなたが望むどんなプラットフォームを使ってもうまくいくでしょう。つまり、node.jsを使うことを強くお勧めします。何もない限り、まったく楽しみのためだけに。 :-)

+3

1つのNode.jsを使用するだけではまだわからないだろうこれらのベンチマークの結果を見ていません。あなたがそれに投げるものは何でも取ることができるということです。 – xj9

+0

@ xj9ではなく、JS VMはコアC:P – ShrekOverflow

+0

@Abhishekであり、実際には最適化されていないC++とほぼ同じに実行されたベンチマークがあり、 O2 – 9point6