最近、パンデミックの最中、そしてオンラインへの移行に関連して、オンライン教育の問題はますます深刻になっています。HabrのWebサイトには、基本的なmoodleベースのシステムをインストールするための資料があります。このノートでは、ポータルがすでにある程度の負荷で動作している場合に備えて、本番用にサーバーをセットアップした経験を共有したいと思います(クラスター化やハードウェア構成の変更を行わずに、ソフトウェアをセットアップする方法について説明します)。ポータルのパフォーマンス低下の原因となる可能性のあるボトルネックの問題を解決するための例が提供されています。
1. Apache modXSENDファイル
説明はドキュメントページに記載されていますが、必要な理由は moodleは、それらへのアクセス権に応じて、静的ファイルを動的に配布します。これらの種類の追加は、パフォーマンスを適切に向上させることができます。X-Sendfileの詳細については、記事を参照してください。
このオプションはApache2設定で有効になっています-moodleデータのあるディレクトリを指定します
XSendFile On
XSendFilePath /data/localcache/
XSendFilePath /data/filedir/
2.php-fpmを使用する
この推奨事項は、多かれ少なかれ重要なすべてのLAMPプロジェクトに適しています。
基本パラメーター(接続数、サーバーで実行中およびアイドル状態のプロセスの最大数など)から増やすことができます。
たとえば、service config fpm / pool.d /www.confの場合
pm.max_children = 20
pm.start_servers = 10
3.ベースphp.ini値の変更
max_input_vars ( ). , . , , , .
max_input_vars = 1000000
upload_max_filesize = 512M
max_execution_time = 600
memorylimit = 512M
post_max_size = 512M
max_input_time = 300
moodle Linux , php. opcache . Memcached ( ) .. , .
5.
moodle . - , , (- ). . .
- transport
* smtp:my.pochta.ru
6. Mysql
, MYSQL. MYSQL , . mysqltunner.
- , .
query_cache_size = 16M
innodb_buffer_pool_size = 3500M
tmp_table_size = 68M
max_heap_table_size = 68M
join_buffer_size = 256K
table_open_cache =400
, , ( du). - . https://docs.moodle.org/310/en/System_paths
8.
. .
, - moodle .
!
.