2012-02-11 9 views
1

Node.jsセッションストレージがパフォーマンスに及ぼす影響はなぜですか?次有効にして

app.use(express.session({ 
    store: sessionStore, 
    secret: 'secret', 
    key: 'express.sid'})); 

要求のスループットは毎秒650回のリクエストである私のNode.jsアプリケーションをテストしながら。

express.sessionを使用しない場合、要求のスループットは2200リクエスト/秒です。

次のパラメータを持つapacheベンチでのテスト:
-k -c 256 -n 50000 http://localhost:3000/

私は次に対してテストしています:

app.get('/', function(req, res) 
{ 
    res.redirect('/login'); 
}); 

質問:これはパフォーマンスの通常の降下、または私が固定されているはずです何かがあるのでしょうか?

答えて

0

私は「正常」と言います。私は自分のベンチマークと比較するベンチマークはありませんが、暗号からセッションIDを作成するだけでなく、記憶装置(memcacheまたはredisまたは一部のキー/値ストアが必要です)を参照するだけでなく、自然なようです。セッションがなければ、あなたは全く何もせず、IOを待っていません。

+0

ありがとう、私はその背後に何が起こっていたのか細部までは分かりませんでした。 – Jack

+0

多分他の誰かがより多くの洞察力を持っています。また、ベンチマークで並行接続を増やして、node.jsがどのように並行接続を処理できるかを確認することもできます。 – japrescott

+0

それはちょうど本当に遅いWindows 7です! http://stackoverflow.com/questions/9243221/does-node-js-perform-b​​adly-on-windows-surely-it-cant-be-slower-than-apache-for Btw私は働いていますLinuxでは、同じアプリケーションが3500 req/secを処理できます。私は現在もクラスタリングを実装しており、クイックベンチで18000 req/secを示しました。私はSocket.ioに問題があります:(! http://stackoverflow.com/questions/9245044/socket-io-websocket-authorization-failing-when-clustering-node-application – Jack

関連する問題