Moodle で e ラーニングコースを提供する上で有用なプラグイン紹介 (PHP の違いによる速度評価 ) AXIES 2016 年度 年次大会 オープンソース技術部会 株式会社ヒューマンサイエンス
株式会社ヒューマンサイエンスについて 会社情報 設立 1985年3月16日 社員数 110名 1985年マニュアル開発で創業 独立系制作会社 資本金 3000万円 年商 12億4088万円 2015年度実績 主要サービス LMSの導入 運用 eラーニング 教育 企画 制作 運用 翻訳 ITマニュアル 医療医薬文書 他 テクニカルライティング マニュアル 各種セミナー 2
オープンソースの LMS の導入 運用サービス 活用設計 利用方法を想定し Moodle / Totara を設定 Moodle / Totara 構築 サーバスペックを計算し Moodle / Totara を構築 外部認証連携 カスタマイズ LDAP(OpenLDAP AcitiveDirectory 等 ) Shibboleth 認証 ( 学認 ) と連携 標準機能では実現できない機能を追加開発 ( メールプラグイン 映像モジュール等 ) パフォーマンスチューニング 利用状況を想定し 負荷試験を実施 ミドルウェアなどのパラメータをサーバスペックに合わせて調整 使い方レクチャー サポート 管理者 教員 運用者向けの使い方レクチャー 導入後も使い方などのお問い合わせに対応 バージョンアップ 年度更新処理 ( 学校様向け ) 3
オープンソースのLMSの導入 運用実績 対応実績例 LMSの導入 構築 オンプレミス環境からクラウド環境へ移行 動画配信 セキュアURL eポートフォリオとの連携 ビデオプラグイン HSビデオ 利用 使い方サポート 運用保守 日本大学 理工学部様 国立大学法人 滋賀大学様 学校法人 国際医療福祉大学様 全学3,000人 全学3,000人 国立大学法人 九州工業大学様 放送大学学園 放送大学様 国立大学法人 愛媛大学様 国立大学法人 熊本大学様 オンライン授業システム 約1,000人 Web 通信指導システム 約100,000人 教員免許更新講習システム 約4,000人 全学10,000人 その他 大学 企業への導入 運用実績も多数あります 4
講師紹介 名前 : 本田宏 ( ほんだひろし ) 2008 年からコンサルタント プロジェクトマネージャーとして moodle 導入 基本 運用手順提案 カスタマイズおよびプラグインの開発に携わる 前職では5 年間 セールスエンジニアとして大学のAV 教室の設計 施工 CALL 教室の設計 ソフトウェア導入設定 設計開発 Windows Linuxサーバ構築 VPN 環境構築に従事 2013 年 moodle 無料 Webセミナー moodle1.9 系からバージョンアップした方がいいの? AXIES*2012, 2013 にて講演 ワークショップに参加 - 日本の管理者がMoodleへ希望する機能 - 利用制限と完了トラッキングの使い方入門 - moodleのきほん - Apache PHP PostgreSQLのセキュリティを意識した設定 *AXIES= 大学 ICT 推進協議会 その他特定のお客様向けに使い方レクチャーを実施 電子情報通信学会正会員 5
目次 eラーニングシステム eラーニングシステムのみで完結するにはプラグイン紹介コースフォーマットプラグインビデオ活動モジュールスケジュールメールブロックモジュールその他実際に開発したプラグイン実行環境の違いによるmoodle3.1 実行速度比較 (PHP5.6 PHP7.0) 試験環境負荷試験シナリオ比較結果まとめ 6
e ラーニングシステム e ラーニングシステム 対面授業との組み合わせで利用 授業の前後のサポート 授業中での利用 e ラーニングシステムのみで完結 資料配布 テストなど 今回はこちらの紹介 7
e ラーニングシステムのみで完結するには 対面授業を再現しない 利用制限を多用しない 最終試験のみ利用など 学習コンテンツとテストを分けると良い レポート課題より自動採点できる機能を使う システム連携できるものは 可能な限り行う 8
アドオン紹介 9
コースフォーマット Course formats: Collapsed Topics https://moodle.org/plugins/format_topcoll トピックの数が多くなったとき折りたたむことができるため コンテンツへのアクセスがしやすい 10
ビデオ活動モジュール HS ビデオ ( 弊社開発プラグイン ) mp4 flvファイル対応 字幕ファイル対応 (srt vtt 形式準拠 ) ストリーミングサーバ対応 (rtmp http https) 閲覧状況記録 ビデオの時間を 100% とした時 何 % 見たか記録 クライアントのIP 制限 ( ブラックリスト ホワイトリスト ) PC 用とモバイル用ファイル2つ指定可能 全画面表示 11
スケジュールメールブロック 一斉メール配信 ( 弊社開発プラグイン ) 指定した日時に条件を満たしたユーザにメールを送るプラグイン 指定できる条件 コース完了 ( 完了 未完了 ) 活動完了 ( 小テスト 課題 フォーラム )( 完了 未完了 ) 過去何日間アクセスしてない人 (1~30 日 ) 指定できる対象 コース受講者 グループ Moodle システム全体 同時に配信するメールを指定可能 12
その他 お問い合わせブロックモジュール 受講者がコース ( 科目 ) や moodle の使い方をフォームから質問できる 事務局が問い合わせブロックから返信をすることができる 添付ファイルが利用可能 質問 回答は登録されているメールに送られる 13
実際に開発したプラグイン 学務 ( 教務 ) システム連携プラグイン コース作成 教師登録 学生登録 受講ロックなど 成績連携プラグイン ポータルサイトに成績情報を渡すプラグイン (WebAPI) 教務システムに成績情報を渡すプラグイン (CSV) 受講状況確認プラグイン 受験票発行プラグイン ページモジュール WebAPI 外部システムからコース内にページモジュールを設置 編集 削除できる 14
実行環境の違いによる Moodle3.1 実行速度比較 (PHP5.6 PHP7.0) 15
紹介資料公開の目的 Moodle2 系の LTS(2.7 系 ) が 2017 年 5 月でサポート終了 Moodle3 系が PHP7 に対応した Moodle3.1(LTS) 以上にバージョンアップする時どうするか? Moodle はバージョンアップするが 合わせて PHP もバージョンアップする? しない? このような判断に迷ったときに参考となる資料です 16
試験環境 IBM SoftLayer 上でサーバ構築 Web サーバ 1 台 DB サーバ 1 台 jmeter サーバ 1 台で試験を行う Web サーバスペック ( 仮想サーバ ) CPU:8 コアメモリ :4GB SSD:25GB( 標準 ) NIC:100Base OS: CentOS 7 DB サーバスペック ( 仮想サーバ ) CPU:8 コアメモリ :6GB SSD:25GB ( 標準 ) NIC:100Base OS: CentOS 7 Jmeter サーバスペック ( 仮想サーバ ) CPU:2 コアメモリ :2GB SSD:25GB ( 標準 ) NIC:100Base OS: CentOS 7 PHP 以外のミドルウェア Web サーバ :Apache2.4 系 DB サーバ :PostgreSQL9.5 系 17
負荷試験シナリオ 授業中に使うことを想定 実際の利用時より厳しい条件設定とする 負荷試験シナリオ 1. トップページを表示 2. ログインページを表示 3. ログイン処理 ( ローカルログイン ) 4. トップページを表示 ( ログイン済み ) 5. コーストップを表示 6. 小テストをクリック 7. 小テスト受験開始 ( 多肢選択問題 20 問 ) 1. ポアソンタイマー (Lambda 5000ms, Constant Delay Offset 3000ms) 8. 小テスト要約確認 1. ポアソンタイマー (Lambda 5000ms, Constant Delay Offset 3000ms) 9. 小テスト正答画面表示 10. コーストップ 11. ログアウト 12. トップページ表示 18
比較結果 中央値 同時セッション1 中央値 同時セッション10 1600 3500 1400 3000 1200 2500 1000 2000 800 1500 600 1000 400 500 200 0 0 Average Median 90%Line 95%Line PHP56 99%Line Min Max Average Median PHP70 90%Line 95%Line PHP56 99%Line Min Max PHP70 中央値 同時セッション数100 中央値 同時セッション50 18000 35000 16000 30000 14000 25000 12000 20000 10000 8000 15000 6000 10000 4000 5000 2000 0 0 Average Median 90%Line 95%Line PHP56 99%Line PHP70 Min Max Average Median 90%Line 95%Line 99%Line Min Max PHP70 19
まとめ 速度比について PHP7.0 の方が PHP5.6 に比べおよそ 4~5 倍速いことが分かった 同時セッション数の変化による傾向について 同時セッション数 1の時は PHP5.6 PHP7.0ともに大きな差は見られなかった 同時セッション数の増加に伴う傾向 PHP5.6の方がレスポンス低下が速かった PHP7.0は同時セッション数 100まで 計測することができた 処理効率が良くなったためと思われる 20
PHP5.6でmoodle2.7とmoodle3.1の速度比較 おまけ 中央値 同時セッション数1 中央値 同時セッション数10 600 600 500 500 400 400 300 300 200 200 100 100 0 中央値 同時セッション数50 4000 3000 2000 1000 0 Average Median 90%Line 95%Line 99%Line m27 Min Max 0 Average m31 Median 90%Line 95%Line 99%Line m27 中央値 同時セッション数100 Min Max Average Median 90%Line 95%Line 99%Line m31 m27 7000 16000 14000 12000 10000 8000 6000 4000 2000 0 10000 6000 8000 5000 4000 6000 3000 4000 2000 2000 1000 0 0 m27 m31 中央値 同時セッション数200 12000 Min Max 中央値 同時セッション数150 8000 Average Median 90%Line 95%Line 99%Line Min Max m31 Average Median 90%Line 95%Line 99%Line m27 m31 Min Max Average Median 90%Line 95%Line 99%Line m27 Min Max m31 21
株式会社 ヒューマンサイエンス 本社 / 東京都新宿区西新宿 2-7-1 TEL 03-5321-3111 FAX 03-5321-3112 URL:http://www.science.jp/ 教育ソリューション部システムユニットチームマネージャー本田宏 E-mail: h-honda@science.co.jp