レンダリングをクライアント側に移動することで、Webサイトのパフォーマンスを向上させることを考えています。現在のスタックは次のとおり(router, sphinx, db) + HTML
です。これを次のように変更することを考えています(router, sphinx, db) + JSON
。
すべてのクライアントはi7プロセッサーを実行しており、クライアント側のレンダリングパフォーマンスについてはあまり気にしません。また、resful JSON APIに接続する準備ができているクライアント側アプリもあります(これは、クライアント側とサーバー側のレンダリングについては説明しません)。
1)サーバーでのレンダリングには約20%の時間がかかります(80%はルーティング、スフィンクス、データベースに使用されます)。JSONの出力はHTMLの出力にかかる時間の約半分だと聞いていたので、10%改善され、その10%がデータ処理に入る可能性があると思います。私はそれについて正しいですか?
2)1台のサーバーが10%向上すると、100台の物理サーバーを備えた大規模アプリで同じパフォーマンスを得るには、必要なサーバーが10%少なくなります。この場合は100台ではなく90台です。これは正しいですか?
3)他の形式の代わりにJSONを出力するために、Rubyで最高のパフォーマンスを得るにはどうすればよいですか?
4)毎日のシナリオで、HTMLの代わりにJSONを出力した場合、パフォーマンスに関してどのような違いが生じる可能性がありますか?