0

nodejs (0.8.15) と Express Framework (>3.0) でサイトを作成しています。ユーザー登録、多くのチャット、プライベート メッセージの送信、socket.io を使用したオンライン ゲームなどがあります。

1) 一度に 5000 人以上のオンライン ユーザーがいる場合、サイトを高速化するにはどのようにページをロードすればよいですか: 単純にレンダリングでページをロードするには

app.get('/', function(req, res) {
    res.render('anypage');
}

app.post('/', ..)

または

$.ajax({ url: '/'
     , type: 'GET/POST'
     , dataType: 'html'
  })
  .done(function(data) {
     $('#content').load('anypage.html');
});

?

正直、シングルページのアプリを作りたいのですが、パフォーマンスや速度が心配です。

2) または、ページをより速くロードする別の方法はありますか?

ありがとう!

4

2 に答える 2

1

1) あなたの選択は... 奇妙です。app.getクライアント側である間、サーバー側にあり$.ajaxます。AJAX 対従来のリンク、URL について話していると思います。しかし問題は、シングルページ アプリを使用してもパフォーマンスにまったく影響しないということです。少なくともそのままでは問題ありません。それはすべて、実装方法に依存します。

しかし、毎回同じ HTML ( base layout ) や画像をダウンロードする必要がないため、一般的に AJAX の方が効率的です。また、あるページから別のページに移動するときに「点滅」がないため、よりユーザーフレンドリーです。一方、クロスブラウザーのシングルページ アプリを実装するのはより困難です。動的なスクリプトの読み込みやブラウザの履歴を処理している場合、難易度はさらに高くなります。

2) 読み込み速度を改善するためのテクニックは何千もあります。しかし、それらのほとんどは、適切なキャッシングと水平方向のスケーリングに基づいています。

于 2012-11-28T09:33:39.063 に答える
0

APIを介してJSONを提供し、Backbone.js + jQueryなどのクライアント側フレームワークを使用してページをレンダリングするノードレイヤーに焦点を当てる必要があると思います。UI の重い作業のほとんどを、サーバーではなくクライアントにプッシュします。

于 2012-11-28T09:53:21.560 に答える