Re: 大規模サイトにおけるアンケートレポートの集計

2013年2月16日 at 5:19

concrete5のアンケート機能は、実は裏側はフォーム機能と一緒で、項目を自由に追加削除できるかわりに、その中身はかなり正規化されまくってます。
そのため、通常の一覧では5、6個のテーブルを結合してデータを表示させているためにかなり重くなります。
2000件程あるという事ですから、その処理量はさらにすごいと思います。

まず試すべき事はMySQLのクエリキャッシュの設定を適正な設定にする事です。
あとはAPCの導入ですね。

それでもダメな場合は、DBサーバを増強するか、アンケート結果を表現するMySQLのviewを作成し管理画面でそれを参照する様にカスタマイズすると良くなると思います。

それでもダメならクソ早いアンケートブロックを0から書くしかないですね...

Re: 大規模サイトにおけるアンケートレポートの集計

2013年2月18日 at 11:11
hissyさん、taoさん、ご返答ありがとうございます。

データベースについては現在InnoDBを利用しており、既に最適化はしている状態です。

クエリキャッシュは過去にも増やしたことがあるのですが、改善が見られないので、これ以上の効果は見込めないように感じます。

APCについては導入自体はできそうです。
phpコードのキャッシュを行うモジュールというのは理解しましたが、導入に際して注意事項などあればご教示いただきたいです。
APCの利用においてはアンケートブロックやview.phpファイルのオーバーライドなどカスタムを行う必要はないという認識で間違いないでしょうか?