2007年12月5日(水曜日)

XOOPS Cubeで大量アクセスを捌くには

カテゴリー: - gusagi @ 23時25分25秒

gusagiです。
自分のサイトのブログで、ここ二日ほどウェブシステムの負荷分散について書いています。
向こうの記事は、XOOPS Cubeに限定しないで書いていますが、こちらではXOOPS Cubeで大量アクセスを捌く方法について書いてみようと思います。

XOOPS Cubeは、セッション情報もテンプレートソースも全てDBが持っています。
これ自体は、個人的にはスケールアウトし易い構成だと思います。
XOOPS_ROOT_PATH配下(d3モジュールを利用している場合は、XOOPS_TRUST_PATHも)を別のサーバにコピーして、mainfile.phpに多少手を加えれば、複数台のサーバでも同じ情報にアクセスが出来るからです。

ただし、これはあくまで机上の空論だったりします。
一番大きな問題点は、セッションやテンプレートまでDBが受け持っているということは、DBに対する負荷が大きいということです。
ユーザがアクセスする度にDBに更新処理が走ってしまうので、一気に多くのユーザがアクセスしてきた場合には、DBに掛かる負荷が跳ね上がります。

そこで、私が考える一番簡単なスケールアウトは、WEBサーバとDBサーバの分離になります。
DBサーバは、文字通りデータを扱うだけとし、コンテンツの取得や、ファイルの検索などは全てWEBサーバに任せます。
これは、既存のDBのバックアップとリストアを行ったあとで、mainfile.phpにある定数"XOOPS_DB_HOST"の値を書き換えるだけで作業は終わるでしょう。
ただし、この作業を行っている間は、DBに対する更新処理が行われないようにしておいた方がよいでしょう。
手っ取り早い方法は、.htaccessによるアクセス制御あたりでしょう。


RSS feed for comments on this post.

ƤˤϡޤȤդƤޤ

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.010 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.