2011-03-14 4 views
5

cookieStoreからActiveRecord SessionStoreへのパフォーマンスペナルティの切り替えはどのくらいですか?ActiveRecord SessionStoreのパフォーマンス

デフォルトでは、Ruby on RailsはCookieStoreを使用します。しかし、クライアントがクッキーを有効にする必要があるという欠点があります。

アクティブなセッションストアに切り替えると、その問題が解決されたようです。私は切り替えを検討している。

ActiveRecord SessionStoreを使用すると、パフォーマンスが悪化することがあります。しかし、何が悪いですか?ユーザーはこれに気付くのでしょうか、それとも数ミリ秒かかるのでしょうか?誰もが2つのオプションを比較したベンチマーク結果を見たことがありますか?

ActiveRecord SessionStoreに切り替える理由はありますか?

答えて

4

さらに悪いことは、クライアント側のクッキーにまっすぐ行くのではなく、答えを計算する必要があるデータベースを照会する必要があることです。

しかし、それは本当に悪いですか?ほとんどの場合、パフォーマンスの差はごくわずかです。

長所: アフィニティー

Webアプリケーションは、これまでのデータベースにあなたのセッションを移動し、複数のサーバーに展開した場合、あなたがserver affinityなしでサーバーを実行できるようにすることができます。

セキュリティ - クライアント側でのみセッションIDを保存するため、ユーザーがクライアント側からデータを操作する機会が減ります。

短所

パフォーマンス - 代わりに、データベースを照会の、あなただけのクライアント側からのセッション/ Cookieデータを読み取ることができます。

+0

偉大な、私はそれを試してみましょう。 –

4

しかし、ARセッションストアもCookieに依存しています。セッションストアのセッションIDはそこに保存されます。

私が知る限り、Railsセッションをクッキーを無効にして動作させる方法はありません。

+0

はい、あなたは正しいですが、質問は関連性がありませんでした。実際にクッキーなしでセッションを有効にするソリューションを探していました。それは不可能。私はアプリに、彼らが拒否されたときにクッキーを許可するという通知を追加しました。ありがとう! –