Win2Kserver+IIS5+php521+Moodle1.9という構成で利用しています。
最近のMoodleの利用に際し、どうもレスポンスが悪い気がします。(深夜一人でのアクセスでも。)
サーバー環境は1.5の頃とあまり変わっていません。(メモリ容量等も実メモリ1Gほど)
phpのeAcceleratorも今回から稼働(たぶんしていると思う)させました。
1.9にするのを機にMySQLをmysql 5.0.51a-win32にしました。このインストールの際に、あまり何も考えず、デフォルトのストレージエンジンをInnoDBにしていたようなのですが、本家ではMyISAMの方がいいという記述も見かけました。
あるいはMySQLの変数設定等でメモリの割り当てを適正にしないとパフォーマンスが悪い...といった記述も見かけます。
正直、これらのMySQLについての設定値が複雑でよくわかっていません。それで、大きく2点に分けてアドバイスをいただきたいのですが、
- InnoDBにすべきかMyISAMにすべきか。
現在moodleデータベース内では、二つのエンジンタイプのテーブルが混在しています。これが最初からか、1.6->1.9にダンプを戻した際にInnoDBになったのかよくわかっていません。
moodleの管理設定で、MyISAMからInooDBに変換するスクリプトはあったのですが、以前やってみた際、途中にエラーでとまってしまった記憶があります。それと、InnoDBからMyISAMへの変換スクリプトはなさそうですが、phpMyAdminでは、テーブルの操作項目として、、簡単にプルダウンメニューからストレージエンジンを選択できます。試しにあまり使っていない、mdl_hotpotを変えてみたら、Alterできました。もし、すべてのテーブルをMyISAMにすべきならこの方法で変えてしまってよいものでしょうか。テーブルが壊れると怖いので。 - MySQLの適正な設定値は?
MySQLのインストールウィザードであまり深く考えず設定しました。添付ファイルはphpMyAdminのサーバーの変数と状態(ランタイム情報)を表示させ、それをWordに貼り付けたものです。
コメントをいただけたら幸いです。