パフォーマンスFAQ

提供:MoodleDocs
移動先:案内検索

同時ユーザ をどのように定義しますか?

ハードウェアとパフォーマンスフォーラムで繰り返し強調されているように、特定の時点でのサーバの負荷は、同時ユーザの数によって異なります。ユーザアカウントの総数やログインしているユーザの数ではありません。同時ユーザ という用語は、サーバがアクティブに何かを実行しているユーザを意味するために使用されます。 PHPで記述されたウェブページを処理したり、データベースにクエリを実行したり、単にファイルを転送したりすることができます。 (Wikiペディア[1]も参照してください)。厳密に言えば、アクティブなWebサーバプロセス(それぞれがメモリを消費する)の数とデータベース接続の数を意味します。

同時ユーザ が有用な指標ではないのはなぜですか?

新しいサイトまたは新しいハードウェアを検討する場合、'同時ユーザ'(より適切な用語は '同時リクエスト')がいくつあるかわからないため、このメトリックはあまり役に立ちません。

たとえば、登録ユーザが10,000人で、負荷のピーク時にそれらのユーザの約1,000人がシステムを使用すると推定した場合、'同時ユーザ' の数を取得する簡単な方法はありません。

  • それはユーザが何をしているかによって異なります(フォーラムに貢献している場合、かなり頻繁にリクエストを行いますが、投稿を書くために長い休止があります。PDFをダウンロードしている場合、リクエストは1つだけですが、時間がかかります時間;彼らがクイズをしている場合、彼らは非常に頻繁に要求をします)。
  • システムパフォーマンスにも依存します。システムが0.1秒で通常のページを提供できる場合、1秒以内に10人がリクエストを行う場合、これは平均1人の同時ユーザです。システムがページを提供するのに1秒かかる場合、同じ使用パターンでは平均10人の同時ユーザが発生します。

さらに、同時ユーザ が大きなファイルをダウンロードしている可能性があるため、同時ユーザの数は需要の正確な測定値ではありません。これは、ネットワーク接続の速度に基づいて転送に時間がかかります。これはサーバに要求を課しますが、サーバは、ネットワーク接続が遅い10人の同時ユーザに10個の大きなPDFファイルを送信することに簡単に対処できる可能性がありますが、10人のユーザが継続的に個別のPHP要求を行っていると苦労する可能性があります。小テストなどの複雑なページ。

より良い指標は何でしょうか?

1秒あたりのピークリクエスト(Webログ、mdl_log行などから)は、サーバの需要を概算するためのより良い方法ですが、使用パターンが不明な新しいサーバでこれを解決することは依然として非常に困難です。

'n' の同時ユーザ用にどのハードウェアを購入する必要がありますか?

まず、上記を参照して、'n' をほぼ正しく表現していることを確認してください。残念ながら、答えは 状況によって異なります です。これは主に、選択したオペレーティングシステム、ソフトウェア構成(特に、Webサーバとデータベースの調整)、およびユーザが行うことによって異なります。考えられる最悪のシナリオは、大規模なクラスがすべて、時間指定のクイズをまったく同時に開始することです。幸いなことに、ユーザは何かを読んで座っていても、サーバの負荷はまったく発生していません(次の活動/ページをクリックするまで)。非常に大まかに言えば、最悪の場合、Moodleサイトはメモリ1GBあたりわずか10〜20人の同時ユーザしか処理できない可能性があります。 Moodleは大規模なアプリケーションであり、プロセスごとに50MB以上(場合によってはそれ以上)のRAMを簡単に使用できます。非常に大規模なサイトを計画している場合は、最初にパイロットを実行して、使用する測定値またはリソースを取得することを強くお勧めします。

将来のMoodleユーザは、必要な並行性を大幅に過大評価する傾向があります。これを間違えると、非常に費用のかかる間違いになる可能性があります。

パフォーマンスを向上させる最も簡単な方法は何ですか?

より多くのメモリを購入!

Moodleサイトのベンチマークを行うにはどうすればよいですか?

もちろん、システムの一部を個別にベンチマークすることもできます。オペレーティングシステムから見たハードウェア(CPU、ディスクアクセスなど)、Webサーバのパフォーマンス、データベースサーバのパフォーマンス、PHP操作での実行などです。詳細については、パフォーマンスの推奨#ベースラインベンチマークを取得する

しかし、これらの結果から同時ユーザの最大数を推測する簡単な公式はありません。球場の数値を計算するMoodleコミュニティの間を循環するPHPスクリプトパフォーマンスの観点-小さなスクリプトがあります。現在のバージョンは[2]に添付されています。

警告:本番サーバでこのスクリプトを実行すると、望ましくない副作用が発生する可能性があることに注意してください。テストサイトで実行することを強くお勧めします。

PHPアクセラレータとは何ですか?

WikiペディアPHPアクセラレータを参照してください。

利用可能なソフトウェアは、パフォーマンスの推奨#PHPのパフォーマンスに記載されています。

ここにいくつかのユーザ提案がありますPHPアクセラレータの更新

Moodleをクラスター化するにはどうすればよいですか?

パフォーマンスの推奨#スケーラビリティを参照してください

Moodleを複製するにはどうすればよいですか?

Mirroring_Moodle

MOODLEを複製する方法?? !!

私のサイトは非常に遅いです、どうすればいいですか?

まず、どれだけ遅いか を調べます。 (テーマ-ここでのトリック)。

次の質問は、パフォーマンスが正常なのか、何かが誤動作しているのかということです。誤動作する可能性のあるものはたくさんあります。

  • ハードウェア
  • クラッシュしたファイルシステム、特にネットワークファイルシステム
  • システムのメモリリークまたはその他のクラッシュ
  • Moodleのバグ
  • 破損したデータベース
  • ネットワークの問題(DNS、ファイアウォールなど)

または、特定の状況下でパフォーマンスが 正常 である可能性があります。

  • 専用サーバまたは共有(仮想)サーバを使用していますか?
  • RAM、処理能力はどれくらいありますか?
  • 使用しているソフトウェアスタックは何ですか? (UnixまたはWindows、ApacheまたはIIS、MySQL、PostgreSQLまたはSQL-Server、...?)
  • サポートできる同時ユーザ数
  • どのモジュール/活動を使用していますか? パフォーマンスの推奨#異なるMoodleモジュールのパフォーマンスを確認してください

パフォーマンスの推奨#ベースラインベンチマークを取得する、公開されている数値と比較します。

Nユーザの要件は何ですか?

10Kの同時ユーザ向けのmoodleセットアップ

インストールは何人のユーザをサポートしますか?

これは、上記と同じ質問をする別の方法です。上に移動してください。

最高のウェブサーバは何ですか?

それはあなたが誰に尋ねるかによります。 ApacheはUnixとLinuxでほぼ普遍的です。しかし、Nginxは最新のApacheバージョンを実行しており、勢いを増している最後のカップル年の。 IISはWindowsServerにネイティブですが、Apacheも使用できます。いつものように、利用可能な最新バージョンが最高のパフォーマンスを提供する可能性があります。他にも ニッチ なWebサーバがあります。あなたがそれらの1つに興味があるなら、あなたはそれについてすでに知っているでしょう。

ここにいくつかの最新のWebサーバベンチマークがあります。

64ビットにするべきですか、それとも32ビットでいいですか?

最近のほとんどのサーバはとにかく64ビットになります。デスクトップでは、選択肢があれば、32ビットの方がおそらくサポートされています。

どのホスティングプロバイダーをお勧めしますか?

Moodle Partnersは、Moodle HQによって承認されており、Moodleに関する幅広い専門知識を持ち、包括的なサポートを提供できます。ただし、予算が厳しい場合は、(尋ねる価値はありますが)最も安価なソリューションになる可能性は低くなります。安価な「共有ホスティング」は、Moodleを適切に実行するのに十分なリソースを提供しない可能性があります。他にも多くのオプションがあり、それは本当にあなたのニーズに依存します。 1つの議論については、 http://moodle.org/mod/forum/discuss.php?d=99405 を参照してください。

関連項目

Moodleフォーラムディスカッションの使用