スマートセッション

パフォーマンスの問題を解決します。



ソースデータ。

私たちはインターネットでサッカーの試合を放送しています。 訪問者:通常の日5,000-10,000、試合日100,000-150,000。



データセンター内



問題

訪問者が大量に流入すると、memkeshへの多数の呼び出しによりローカルネットワークが過負荷になります。 悪化要因 :100Mbitネットワーク、同じサーバー上の両方のプール。



解決策



今日は、負荷を軽減するために使用したスマートセッションのテクノロジーについて説明します。



技術の本質は何ですか


  1. 本当に必要でない場合は、セッションを作成しません。
  2. 変更されていない場合、リポジトリ内のセッションは更新されません。


実際、私たちのサイトは有料です。たとえ1日あたり150,000のユニークなサイトがあったとしても、本当に喜んで支払う人はほとんどいません。 訪問者はおよそ次のように配布されます。





実装


memkeshを使用するため、セッションの標準機能をオーバーロードし、後者をmemkeshに格納できるSessionオブジェクトが既にあります。 さらに、次のことを行います。





出来上がり、ネットワークの負荷も部分的には軽減されます。 その後、一部のブロックのキャッシュをローカルWebサーバーに切り替え、訪問者の減少を安全に待つことができた後、ネットワーク帯域幅を増やしました。



コメントを歓迎します。



UPD :投稿のポイントは、私がどれだけクールかを示すことではありませんが、PCPには些細なことがあり、それらに注意を払うのをやめ、時には考えすぎてパフォーマンスに影響しないこともあります。



All Articles