「パフォーマンス」の版間の差分

提供:MoodleDocs
移動先:案内検索
31行目: 31行目:
* [http://moodle.org/mod/forum/discuss.php?d=25616&parent=120770 55名の学生が同時に'''小テスト'''を使用する場合のパフォーマンスに関する報告 - 英文]
* [http://moodle.org/mod/forum/discuss.php?d=25616&parent=120770 55名の学生が同時に'''小テスト'''を使用する場合のパフォーマンスに関する報告 - 英文]
* Moodleの'''cron'''タスクは、スクリプト''cron.php''を呼ぶことで動作します。このスクリプトが、HTTP経由で呼ばれた場合 ( 例 wgetまたはcurlを使用 )、大規模なMoodleサイトでは大量のメモリを消費します。phpコマンドを使用して直接呼ばれた場合 ( 例 ''php -f /path/to/moodle/directory/admin/cron.php'')、効率は大幅に改善されます。
* Moodleの'''cron'''タスクは、スクリプト''cron.php''を呼ぶことで動作します。このスクリプトが、HTTP経由で呼ばれた場合 ( 例 wgetまたはcurlを使用 )、大規模なMoodleサイトでは大量のメモリを消費します。phpコマンドを使用して直接呼ばれた場合 ( 例 ''php -f /path/to/moodle/directory/admin/cron.php'')、効率は大幅に改善されます。
* Having too many filters active can have serious effects on server load, especially on lower-end systems. The number of active filters has a direct effect on the perceived latency of your site; that is the time taken for each page impression. For best performance, leave the text cache enabled and do not "Filter all strings" unless you have a specific need. If in doubt [[Performance profiling|profile the performance]], and see how your changes affect the processing time.
* 多くのフィルタを有効にする場合、サーバの負荷 ( 特にスペックの低いサーバ ) に重大な影響を及ぼします。有効にされているフィルタの数は、あなたのサイトのレスポンスに関して直接影響を、すなわち各ページの表示に要する時間に関して影響を及ぼします。パフォーマンスを上げるため、管理 >> 設定 >> フィルタ の「テキストキャッシュ保存時間」を「No」以外に設定して、特に必要がない場合は「すべての文字をフィルタする」を「No」にしてください。設定が疑わしい場合、[[Performance profiling|パフォーマンスのプロファイリング]]を行って、あなたの変更内容がプロセスタイムにどのように影響するのか確認してください。


==関連情報==
==関連情報==

2006年7月22日 (土) 21:21時点における版

鋭意翻訳中です。

少ないユーザでも、スケールアップした数千名のユーザでも、Moodleを快適に稼動させることが可能です。パフォーマンスに関係する要素は、基本的にどのPHPベースのデータベース主導型システムとも同じです。 また、( アプリケーションレイヤと明確に分離された ) Moodleの設計により、強力に拡張性のあるセットアップを行うことが可能です。( 大規模なMoodleインストール事例をご覧ください。)

大規模なサイトでは、通常ウェブサーバとデータベースサーバを分離します。しかし、小規模なサイトでは、サーバを分離することは通常必要ではありません。

例えば、1台以上のウェブサーバを使用して、Moodleをロードバランスした環境で使用することも可能です。ロードバランス用に分離された複数のウェブサーバでは、同一のデータベースおよび同一のファイル保存エリアを参照するようにしてください。しかし、ロードバランス環境でない場合、アプリケーションレイヤとデータベースの分離で十分にクラスタ化することができます。同様に、データベースをクラスタ化することも可能です ( 例 MySQLクラスタ )。

ウェブサーバのパフォーマンス

  • あなたのウェブサーバの「RAM」の容量はパフォーマンスに関する重要な要素です - 可能な限り多く設置してください ( 例 4GB)。
  • LinuxまたはUnixがサーバに対するMoodle推奨「オペレーティングシステム」です。LinuxやUnixは、高負荷時にMac OSXやWindowsサーバよりも快適に動作します。
  • CPUの負荷を軽減するため、Turck MMCacheまたはThe ionCube PHP Acceleratorのような、PHP acceleratorの利用を強くお勧めします。
  • PHPをApacheモジュールとしてインストールすると、パフォーマンスは ( CGIよりも ) 良くなります。
  • Unix/Linuxシステムでは、( PHPベースのzipライブラリよりも ) システムのzip/unzipコマンドの使用を許可することで、パフォーマンスが大きく改善されます - 管理/設定/詳細設定へアクセスして、適切な実行ファイルのパスを入力してください。( 同様に、duのパスを入れることで、Moodleのディレクトリコンテンツのリスティングスピードが改善されます。)
  • セキュアウェブコネクション ( https ) を使用することで、ウェブサーバおよびクライアントに高い負荷がかかります - 特に効果的にキャッシングが使用されないため、ファイルのリクエスト数が劇的に増加する場合があることに注意してください。この理由から、すべてのMoodleページにhttpsを使用することは、お勧めできません。Moodle詳細設定ページにて、ログインページのみhttpsを利用できるよう設定できます。
  • メモリの使用量が大幅に軽減されるため、Apacheの代わりに、軽いウェブサーバ lighttpdfastCGIの利用でパフォーマンスを良くすることができます。1つのapacheプロセスは、lighttpdfastCGIのすべてのプロセスより多くのメモリを必要とします。管理者が作業に時間を必要とするため、あなたが十分なハードウェアを用意できる場合、これは最良の方法ではないと思われます。
  • httpd.confのMaxRequestsPerChildを20-30くらいに下げることを考えてください。( この値を低く設定し過ぎた場合、パフォーマンスの向上よりシステムのオーバーヘッドが増すことになります )。 php.iniのmemory_limitを少なくとも16Mに下げることも考えてください。 ( Rory Allford氏による推奨 )

データベースのパフォーマンス

各Moodleモジュールのパフォーマンス

Moodleの活動モジュールフィルタおよび他のプラグインは有効/無効にすることができます。不要な場合 ( 必須ではありませんが )、必要に応じていくつかの機能 ( チャット等 ) を無効にしてください。各モジュールに関するノート:

  • チャットモジュールは、メインサーバに対して頻繁にHTTPリクエストする点において、大食いだと言われています。管理 >> 設定 >> モジュール管理 >> チャット で、chat_normal_updatemodeを「Streame」にするか、chat_methodを「Chatサーバデーモン」にすることでサーバに対する負荷を軽減することができます。
  • 55名の学生が同時に小テストを使用する場合のパフォーマンスに関する報告 - 英文
  • Moodleのcronタスクは、スクリプトcron.phpを呼ぶことで動作します。このスクリプトが、HTTP経由で呼ばれた場合 ( 例 wgetまたはcurlを使用 )、大規模なMoodleサイトでは大量のメモリを消費します。phpコマンドを使用して直接呼ばれた場合 ( 例 php -f /path/to/moodle/directory/admin/cron.php)、効率は大幅に改善されます。
  • 多くのフィルタを有効にする場合、サーバの負荷 ( 特にスペックの低いサーバ ) に重大な影響を及ぼします。有効にされているフィルタの数は、あなたのサイトのレスポンスに関して直接影響を、すなわち各ページの表示に要する時間に関して影響を及ぼします。パフォーマンスを上げるため、管理 >> 設定 >> フィルタ の「テキストキャッシュ保存時間」を「No」以外に設定して、特に必要がない場合は「すべての文字をフィルタする」を「No」にしてください。設定が疑わしい場合、パフォーマンスのプロファイリングを行って、あなたの変更内容がプロセスタイムにどのように影響するのか確認してください。

関連情報