WEBシステム開発・デザイン制作などすべての作業を一貫してご提供しております。(大阪・東京近辺)

WEBシステム開発/運用途中で重くなったシステムを高速化/PHP/memcached

運用開始時はサクサクと動作していたシステムも、データベースの情報が
蓄積されていく段階で、だんだんと処理能力が低下して遅くなってしまいます。

設計段階で、ハード面を強化しておけばいいのですが
初期段階は予算の関係上、ハード面の出費が抑えられている場合が御座います。

後々、スペックの高いサーバーへ移行するとなると移行に伴うコストが馬鹿になりません。

ある程度は、各種サーバーソフト(apache,データベース)のチューニングで
対応できますが、それでも改善されない場合は
開発したアプリケーションの見直し(SQLの最適化)を行います。

ただ、オープンソフトをゴリゴリとカスタマイズしてしまうのは
今後のバージョンアップを考えれば・・・。

PHPなどで作られたアプリケーションを
簡単に高速化を行う場合は、キャッシュ機能を使えばいいでしょう。

キャッシュと言っても
いろいろな種類が存在していて

ただ単にPHPのコードをキャッシュするのであれば

APC
Pear::Cache_Lite

を使うので十分ですが

データベースのアクセスを減らす事が目的なら

memcachedを使えばいいでしょう。

データベースからの結果を、memcachedに追加しておけば
次回からはメモリ上からデータを取得する事が可能です。

100万件以上の情報を、複雑なSQLで取得する場合でも高速に実行されます。

ただやはり、オープンソースにmemcachedを導入するには
それなりの労力が必要になりますが・・・

定期的にオープンソースへmemcachedを対応させたパッチを公開していきたいと思います。

導入は簡単なので、いろいろと試してみてください。

# yum -y install memcached
# /etc/rc.d/init.d/memcached start
# chkconfig memcached on

# pecl install memcache

[php.ini]
extension=memcache.so