2011-02-09 31 views
2

こんにちは、SessionStateサーバーとしてSQL Serverを使用し、2週間にタイムアウトを増やすことには欠点がありますか?私の目標は、Webサーバのメモリを最小限に抑えながら、可能な限り長くログインさせることです。Sql SessionStateサーバーとタイムアウト

答えて

1

ここで少し混乱しているコンセプトがいくつかあると思います。

SessionStateと「ログイン」は、2つの異なることを意味します。

SessionStateは、環境内の「Session」オブジェクトに格納されているオブジェクト/データを表します。ユーザーのログインは、通常、ASP.NET Membershipシステムを使用して制御されます。永続的なログイン(Remember Me)を持つユーザーを持つことはできますが、セッションは20分後にタイムアウトします。システムは引き続きそれらを覚えていますが、セッション中にユーザーに「キャッシュされた」データはなくなる可能性があります。

質問に直接お答えください。はい、SQLセッション状態のこのタイプのアプローチには多くの問題があります。セッションに入れられた値のサイズとトラフィックによって多かれ少なかれます。

  • この情報は、DB側のメモリだけを占有しますが、ハードディスクのメモリは増えますが、パフォーマンスが低下するにつれて、この情報は増加します。セッションの放棄だけで大量のデータがキャッシュされる可能性があります。

  • セッションアイテムの数が増えると、セッションのパフォーマンスが低下し、SQL Serverシステムの負荷が高くなります。

  • サーバーのサイズ、SQL Serverのライセンス、およびトラフィックに応じて、DBまたはハードウェアに制限があり、その間セッションを保存できないという問題が発生する可能性があります。

+0

ご意見ありがとうございました。これは単なる考えであり、おそらくこの方法を追求しないでしょう。しかし、セッションフットプリントは小さく、リソースは豊富です。永続的なログインを忘れました。 –

1

セッションに保存する情報は何ですか?彼らはサーバーリソースを消費し、2週間それらを生き続ける一般的な習慣ではありません。

クッキーを保存して、ユーザーがログインしたことをマークし、再び戻ったときにセッションデータを読み込むことができます。

関連する問題