WEB cacheシステムはトップ画面生成の時間短縮に利用できます。
物販系のサイトでは常用される手法です。
PCパーツの物販サイトでは”Oracle web cache”を導入し
サイトの表示遅延が一週間で解決できた実績があります。
http://itpro.nikkeibp.co.jp/prembk/SI/JIREI/20050117/154825/
オープンソースで提供されているソフトの名称が”MemCached”となります。
具体的に説明しますと、以前はトップ画面にまちログ最新更新5件表示がありました。
(現在でも口コミ最新5件表示の項目があります)
最新更新表示むけにDBに対しselect句のクエリーを投入する毎に
DB内部では “Copying to tmp table”の動作を実施します。
内部的にテンポラリテーブルをディスクに作成、一時保管する挙動をリクエストのたびに実施することになります。
トップ画面作成にはこの問合せが連続投入されるため、DBの直接負荷原因となっていました。
下記のように構成を変更すれば改善が見込めます。
こちらはwrite-thrugh-cacheの簡単な説明となります
【書き込み時】
同じデータをDBとキャッシュの2箇所に書き込みます
www —> MemCached
www —> DB
【読込み時】
読込み時には最初にキャッシュから読込み、データが無い場合のみDBから読込みます。
www <— MemCached
MemCacachedにデータが存在しない場合には
www <— DB
ライブドアデータホテルの営業より
wwwサーバ6台に40MB程度のキャッシュをのせたmemcachedを使用するだけで
大幅改善するのではないかというお話をいただいています。
ライブドアのポータルサイトでもmemcachedを使用しているため運用保守には問題ありません。
下記のような15件毎の整列表示にも効果があると思われます。
http://www.toshimaku-town.com/kuchikomi/
効果的に使えば相当なDB負荷の軽減とコンテンツ全体のスピードアップが見込まれますので、サイト環境のどの場面で利用したらよいかを、一緒に考えて意見してもらえるとありがたいです。
◆memcachedとは(引用)
memcachedとはその名の通り、データをメモリ上に保持するキャッシュサーバで、アクセス数の多いWebサイトにおいてデータベースの負荷を減らすために利用されることが多い。
データをディスクに書き出さず、保持するデータもキーと値のみと非常にシンプルであるため動作は高速だが、memcachedを終了するとデータが失われてしまうという問題がある。
そのためmemcachedには消失しても問題のないデータのみを格納するようシステム設計を行う必要がある。
なお、memcached互換のキャッシュサーバとして、データをディスクに永続化する機能を備えたmemcachedbや、レプリケーション機能を備えたrepcachedがある。
◆memcachedでできること
・セッション管理
・write-thrugh-cache によるDBのレプリケーション遅延対策



