fixedpoint.jp


CGI Session with memcached (2007-08-10)

ユーザーの規模が大きかったり UI を重視したりする Web アプリケーションに対しては、常にパフォーマンスを求める声が上がります。特に、サーバの負荷が大きくなりすぎて本来の機能が利用できないという事態に直面した場合、アプリケーション内部の設計を考え直すことになります。どんな改善策があるのでしょうか? 例えば memcached は負荷を分散するため、あるいは処理速度を上げるために多くの Web アプリケーションで利用されています。

memcached でできること:

このため再利用する頻度の高いデータを送受信するほど効果的です。大規模なアプリケーションでは、この仕組みを SQL クエリ結果のキャッシュなどに用いています(データベースに対するアクセスは相対的に高価だという認識があるからです):

最近では多くの言語に memcached と通信するためのライブラリがあります。Gauche でも是非使ってみたかったので Gauche-memcache を開発しています。

残念ながら手元に「負荷分散しなくてはならない人気アプリケーション」がなかったので、試しに Gauche-cgi-ext と合わせてCGI セッションに応用してみました。

他のセッション実装より実際に効率的になっているかどうかは今後の課題です。


© 2006-2023 fixedpoint.jp