パフォーマンスに関するよくある質問

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

ハードウェアとパフォーマンスのフォーラムで繰り返し強調されてきたように、特定の時間におけるサーバーの負荷は同時ユーザーの数によって異なります。ユーザーアカウントの総数やログインユーザー数には関係ありません。 「同時ユーザー」という用語は、サーバーが積極的に何かをしているユーザーを意味します。 PHPで書かれたWebページを処理したり、データベースに問い合わせたり、単にファイルを転送したりすることがあります。 (Wikipedia Concurrencyも参照)。厳密に言えば、アクティブなWebサーバープロセスの数(それぞれがメモリを消費する)とデータベース接続の数を意味します。

「同時ユーザー」はなぜ便利な指標ではないのですか?

新しいサイトや新しいハードウェアを検討する場合、この数はあまり便利ではありません。「同時ユーザー」の人数(より良い用語は「同時リクエスト」の可能性があります)がわからないためです。

たとえば、10,000人の登録ユーザーがいて、ピーク負荷時に約1,000人のユーザーがシステムを使用することになると見積もった場合、「同時ユーザー」の数を取得する簡単な方法はありません。

  • それはユーザーがしていることによります(彼らがフォーラムに貢献しているなら彼らはかなり頻繁にリクエストをしますが投稿を書くために長い間休止します;彼らがPDFをダウンロードしているなら彼らはただ一つのリクエストをしますが長い時間がかかります;もし彼らが小テストをしているのなら、彼らは非常に頻繁にリクエストをするでしょう)。
  • システムパフォーマンスにも依存します。あなたのシステムが0.1秒で典型的なページを処理することができるならば、あなたが1秒以内に要求をしている10人の人がいるならこれは平均1同時ユーザーです。システムが1ページの配信に1秒かかる場合、同じ使用パターンで平均10人の同時ユーザーが表示されます。

さらに、「同時ユーザー」は大きなファイルをダウンロードしている可能性があるため、同時ユーザーの数はそれほど正確な需要の尺度ではありません。これはサーバーに要求を課しますが、遅いネットワーク接続で10人の同時ユーザーに10個の大きなPDFファイルを送信することにサーバーは容易に対処することができるかもしれません。小テストなどの複雑なページ。

より良い測定基準は何か?

1秒あたりのピーク要求数(Webログ、mdl_log行などから)は、おそらくサーバーの需要をおおまかに見積もるためのより良い方法です - しかし、未知の使用パターンを持つ新しいサーバーに対してこれを解決することはまだ非常に難しいです。

n人の同時接続ユーザーにはどのハードウェアを購入すればよいですか

最初に上の部分を見て、あなたがどこかに正しく 'n'を表現していることを確認してください。残念なことに、答えは「それは依存します」です。それは主にあなたが選んだオペレーティングシステム、あなたのソフトウェア構成(特にウェブサーバーとデータベースのチューニング)そしてユーザーが何をすることになるかに依存するでしょう。考えられる最悪のシナリオは、クラス分けされた大規模なクラスで、すべて同時に授業を開始することです。幸いなことに、ユーザーが読んでいることは、サーバーの負荷がまったく発生していないことです(次の活動/ページをクリックするまで)。非常に大まかに言って、最悪の場合、あなたのMoodleサイトは1GBのメモリあたり10-20人の同時ユーザーしか扱えないかもしれません。 Moodleは大規模なアプリケーションで、プロセスごとに50MB以上(場合によってはさらに多く)のRAMを簡単に使用できます。非常に大規模なサイトを計画している場合は、最初にパイロットを実行して、使用されている測定やリソースを取得することを強くお勧めします。

将来のMoodleユーザは、必要な同時実行性を大幅に過大評価する傾向があります。これを間違えると、非常に高価なミスになる可能性があります。

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

もっとメモリを買おう!

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

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

しかし、これらの結果から最大同時ユーザー数を推測する簡単な方法はありません。 PHPスクリプト、 パフォーマンスパースペクティブがあります - ちょっとしたスクリプトで、野球場の数字を計算するMoodleコミュニティの周りを回っています。現在のバージョンは2011年3月25日の投稿に添付されています。

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

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

Wikipedia PHPアクセラレータを参照してください。

利用可能なソフトウェアはPerformance_recommendations#PHP_performanceで文書化されています。

いくつかのユーザ提案がここにあります。PHPアクセラレータのアップデート

どうやってMoodleをクラスタリングするのですか?

Performance_recommendations#スケーラビリティを参照してください。

どうやってMoodleを複製するのですか?

ミラーリング_ムードル

MOODLEを複製する方法?

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

まず、「どのくらい遅い」かを調べます。 (テーマトリックはこちら)

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

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

あるいは、あなたのパフォーマンスは与えられた状況の下では「正常」である可能性があります。

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

Performance_recommendations#ベースラインベンチマーク取得し、それを公表されている数値と比較します。

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

10K同時ユーザー用のMoodleセットアップ

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

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

最高のWebサーバーは何ですか?

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

これが最近のWebサーバーのベンチマークです。

私は64ビットに行くべきですかそれとも32ビットは大丈夫ですか?

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

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

Moodle PartnersはMoodle HQの承認を受けており、Moodleに関する幅広い専門知識を有しており、包括的なサポートを提供することができます。ただし、予算が限られている場合は、最も安い解決策になることはほとんどありません(ただし、検討する価値があります)。安い '共有ホスティング'はMoodleを適切に運営するのに十分なリソースを提供しないかもしれません。他にもたくさんの選択肢があり、それは本当にあなたのニーズ次第です。 1つの議論についてはhttps://moodle.org/mod/forum/discuss.php?d=99405を参照してください。

関連情報

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