Hinweis: Sie sind auf den Seiten der Moodle 3.1 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Geschwindigkeit FAQ.

Geschwindigkeit FAQ: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
{{Geschwindigkeit}}
{{Geschwindigkeit}}


{{Zum Übersetzen}}
==Was ist mit "gleichzeitige Nutzer/innen" gemeint?==
==Was ist mit ''gleichzeitige Nutzer/innen'' gemeint?==
Wie in zahlreichen Beiträgen im Diskussionsforum [http://moodle.org/mod/forum/view.php?f=94 Hardware and performance] auf moodle.org betont ist, hängt die Serverlast zu einem bestimmten Zeitpunkt von der Zahl der gleichzeitigen Nutzer/innen ab. Sie hängt '''nicht''' von der Zahl der registrierten oder zu einem Zeitpunkt in Moodle angemeldeten Nutzer/innen ab. Der Begriff "gleichzeitige Nutzer/innen" bezeichnet Nutzer/innen, für die der Server zu einem bestimmten Zeitpunkt aktiv etwas tut: eine Webseite verarbeiten, die in PHP geschrieben ist, eine Datenbankabfrage durchführen, eine Datei ausliefern usw., siehe auch diesen Wikipedia-Artikel zu [http://de.wikipedia.org/wiki/Nebenl%C3%A4ufigkeit Nebenläufigkeit]. Streng genommen handelt es sich um die Zahl der aktiven Werbserverprozesse (von denen jeder einzelne Speicher verbraucht) und die Zahl der Datenbankverbindungen.
As has been repeatedly stressed in the [http://moodle.org/mod/forum/view.php?f=94 Hardware and performance] forum, the load on the server at a particular time depends on the number of concurrent users. Not on the total number of user accounts and not on the number of users logged-in. The term "concurrent users" is used to mean those users for whom the server is actively doing something . It may by processing a webpage written in PHP, querying the database or simply transferring a file. (see also Wikipedia [http://en.wikipedia.org/wiki/Concurrency_(computer_science) Concurrency]). Strictly speaking we mean the number of active web server processes (each of which consume memory) and also the number of database connections.


=== Warum ist ''gleichzeitige Nutzer/innen'' kein geeignetes Maß für Geschwindigkeitsabschätzungen? ===
=== Warum ist ''gleichzeitige Nutzer/innen'' kein geeignetes Maß? ===
Sie wissen in der Regel nicht, wie viele Nutzer/innen (besser: wie viele Anfragen) gleichzeitig auf den Server zugreifen. Wenn Sie z.B. 10000 registrierte Moodle-Nutzer/innen haben, dann kann es zu Spitzenzeiten passieren, dass 1000 Nutzer/innen mit Moodle arbeiten, Sie aber dennoch nicht abschätzen können, wie viele zu einem bestimmten Zeitpunkt eine Anfrage an den Server stellen.
*Es hängt davon ab, was die Nutzer/innen in Moodle tun: Wenn sie z.B. einen Forumsbeitrag schreiben, vergeht einige Zeit für Lesen und Schreiben zwischen zwei aufeinanderfolgenden Anfragen; wenn sie ein PDF herunterladen, kann die Verarbeitung einer einzelnen Anfrage sehr lange dauern; bei einem Testversuch werden sie viele Anfrage innerhalb kurzer Zeit haben.
*Es hängt auch von der Geschwindigkeit des Systems ab. Wenn Ihr System eine typische Seite in 0.1 Sekunden verarbeitet und 10 Personen innerhalb einer Sekunde eine Anfrage stellen, dann bedeutet das im Schnitt 1 gleichzeitige Anfrage. Wenn Ihr System jedoch 1 Sekunde zur Verarbeitung der Seite benötigt, dann bedeuten 10 Personen innerhalb einer Sekunde 10 gleichzeitige Anfragen.


When considering a new site or new hardware, this metric is not very useful because you have no idea how many 'concurrent users' (a better term might be 'concurrent requests') you will have.
Ein weiterer Grund dafür, dass die Zahl der gleichzeitigen Nutzer/innen ein ungeeignetes Maß ist, ist folgendes Beispiel: "Gleichzeitige Nutzer/innen" können eine große Datei herunterladen, was eine bestimmte Zeit in Abhängigkeit von der Netzwerkverbindung verbraucht. Es kann sein, dass der Server keine Probleme hat, 10 große PDFs an 10 gleichzeitige Nutzer/innen auszuliefern, während es große Probleme geben kann, wenn dieselben 10 gleichzeitigen Nutzer/innen permanent Anfragen an den Server senden, wenn sie gerade einen Testversuch durchführen.
 
For example, if you have 10,000 registered users and you estimate that, during times of peak load, about 1,000 of those users will be using the system, there is no easy way to obtain the number of 'concurrent users'.
 
* It depends on what the users are doing (if they are contributing to a forum they will make fairly frequent requests but with long pauses to write posts; if they are downloading a PDF they will only make a single request but it will take a long time; if they are doing a quiz they will make very frequent requests).
 
* It also depends on system performance. If your system can serve a typical page in 0.1 seconds then if you have 10 people making a request within a second this is an average of 1 concurrent user. If your system takes 1 second to serve a page then the same usage pattern results in an average of 10 concurrent users.
 
In addition, the number of concurrent users is not a very accurate measure of demand because a "concurrent user" may be downloading a large file, which takes time to transfer based on the speed of their network connection. While this does place a demand on the server, a server may well be able to cope easily with sending out 10 large PDF files to 10 concurrent users with slow network connections, whereas it might struggle if 10 users were continuously making separate PHP requests to a complex page such as quiz.


=== Was ist ein geeignetes Maß für Geschwindigkeitsabschätzungen? ===
=== Was ist ein geeignetes Maß für Geschwindigkeitsabschätzungen? ===
 
Die maximale Zahl der Zugriffe pro Sekunde (protokolliert in den Logdateien des Webservers, Zeilen in der Datenbank-Tabelle <code>mdl_log</code> o.ä.) ist ein geeigneteres Maß, um die Last des Servers abzuschätzen. Für einen Server, der neu aufgesetzt werden soll, sind diese Werte dennoch im Voraus schwer abzuschätzen.
Peak requests per second (either from web logs, mdl_log lines, or similar) is probably a better way to roughly estimate demand on the server - but it is still very difficult to work this out for a new server with unknown usage patterns.


==Welche Hardware benötige ich für ''N'' gleichzeitige Nutzer/innen?==
==Welche Hardware benötige ich für ''N'' gleichzeitige Nutzer/innen?==

Aktuelle Version vom 11. Juni 2012, 09:18 Uhr


Was ist mit "gleichzeitige Nutzer/innen" gemeint?

Wie in zahlreichen Beiträgen im Diskussionsforum Hardware and performance auf moodle.org betont ist, hängt die Serverlast zu einem bestimmten Zeitpunkt von der Zahl der gleichzeitigen Nutzer/innen ab. Sie hängt nicht von der Zahl der registrierten oder zu einem Zeitpunkt in Moodle angemeldeten Nutzer/innen ab. Der Begriff "gleichzeitige Nutzer/innen" bezeichnet Nutzer/innen, für die der Server zu einem bestimmten Zeitpunkt aktiv etwas tut: eine Webseite verarbeiten, die in PHP geschrieben ist, eine Datenbankabfrage durchführen, eine Datei ausliefern usw., siehe auch diesen Wikipedia-Artikel zu Nebenläufigkeit. Streng genommen handelt es sich um die Zahl der aktiven Werbserverprozesse (von denen jeder einzelne Speicher verbraucht) und die Zahl der Datenbankverbindungen.

Warum ist gleichzeitige Nutzer/innen kein geeignetes Maß?

Sie wissen in der Regel nicht, wie viele Nutzer/innen (besser: wie viele Anfragen) gleichzeitig auf den Server zugreifen. Wenn Sie z.B. 10000 registrierte Moodle-Nutzer/innen haben, dann kann es zu Spitzenzeiten passieren, dass 1000 Nutzer/innen mit Moodle arbeiten, Sie aber dennoch nicht abschätzen können, wie viele zu einem bestimmten Zeitpunkt eine Anfrage an den Server stellen.

  • Es hängt davon ab, was die Nutzer/innen in Moodle tun: Wenn sie z.B. einen Forumsbeitrag schreiben, vergeht einige Zeit für Lesen und Schreiben zwischen zwei aufeinanderfolgenden Anfragen; wenn sie ein PDF herunterladen, kann die Verarbeitung einer einzelnen Anfrage sehr lange dauern; bei einem Testversuch werden sie viele Anfrage innerhalb kurzer Zeit haben.
  • Es hängt auch von der Geschwindigkeit des Systems ab. Wenn Ihr System eine typische Seite in 0.1 Sekunden verarbeitet und 10 Personen innerhalb einer Sekunde eine Anfrage stellen, dann bedeutet das im Schnitt 1 gleichzeitige Anfrage. Wenn Ihr System jedoch 1 Sekunde zur Verarbeitung der Seite benötigt, dann bedeuten 10 Personen innerhalb einer Sekunde 10 gleichzeitige Anfragen.

Ein weiterer Grund dafür, dass die Zahl der gleichzeitigen Nutzer/innen ein ungeeignetes Maß ist, ist folgendes Beispiel: "Gleichzeitige Nutzer/innen" können eine große Datei herunterladen, was eine bestimmte Zeit in Abhängigkeit von der Netzwerkverbindung verbraucht. Es kann sein, dass der Server keine Probleme hat, 10 große PDFs an 10 gleichzeitige Nutzer/innen auszuliefern, während es große Probleme geben kann, wenn dieselben 10 gleichzeitigen Nutzer/innen permanent Anfragen an den Server senden, wenn sie gerade einen Testversuch durchführen.

Was ist ein geeignetes Maß für Geschwindigkeitsabschätzungen?

Die maximale Zahl der Zugriffe pro Sekunde (protokolliert in den Logdateien des Webservers, Zeilen in der Datenbank-Tabelle mdl_log o.ä.) ist ein geeigneteres Maß, um die Last des Servers abzuschätzen. Für einen Server, der neu aufgesetzt werden soll, sind diese Werte dennoch im Voraus schwer abzuschätzen.

Welche Hardware benötige ich für N gleichzeitige Nutzer/innen?

Lesen Sie zunächst im vorherigen Abschnitt, was wir unter N gleichzeitigen Nutzer/innen verstehen. Die Antwort auf die Frage lautet leider: "Das hängt davon ab": vom Betriebssystem, von der Software-Konfiguration (insbesondere der Konfiguration des Webservers und des Datenbankservers) und davon, was die Nutzer/innen in Moodle tun. Das schlechteste Szenario ist eine große Gruppe von Teilnehmer/innen, die alle gleichzeitig mit einem Testversuch in Moodle starten. Zum Glück verursachen Nutzer/innen, die nur eine Moodle-Seite lesen, keine Serverlast, solange sie nicht zur nächsten Moodle-Seite weiterklicken. Sehr grob geschätzt kann Moodle nur 10-20 gleichzetige Nutzer/innen pro Gigabyte Speicher verarbeiten. Moodle ist eine große Webanwendung, die schnell mehr als 50 MB (manchmal auch viel mehr) RAM pro Prozess benötigen kann. Wenn Sie eine sehr große Moodle-Site planen, empfehlen wir dringend, erst einen Pilot-Projekt zu starten und ausgiebige Geschwindigkeitstests durchzuführen.

Die Erfahrung zeigt, dass angehende Moodle-Nutzer/innen dazu neigen, die Zahl der gleichzeitigen Nutzer/innen gewaltig zu überschätzen und folglich erheblich höhere Kosten zu kalkulieren.

Was ist der einfachste Weg, die Geschwindigkeit zu verbessern?

Mehr Speicher kaufen!

Wie kann ich einen Benchmark für eine Moodle-Site durchführen?

Sie können Teile des Systems separat benchmarken: die Hardware (z.B. CPU, Festplattenzugriff), Webservergeschwindigkeit, Datenbankservergeschwindigkeit, Ausführung von PHP-Operationen usw. Detaillierte Informationen finden Sie im Artikel Geschwindigkeitsempfehlungen.

Es gibt jedoch keine einfache Formel, um aus den Benchmark-Ergebnissen auf die maximale Zahl der gleichzeitigen Nutzer/innen zu schließen. Es gibt ein PHP-Skript, siehe Performance perspectives - a little script, das in der Moodle-Community zirkuliert und eine grobe Abschätzung liefert. Die aktuelle Version dieses Skripts finden Sie im Anhnag zu diesem Diskussionsbeitrag: posting on 25. March 2011.

Achtung: Wenn Sie dieses Skript auf einem Produktivsystem laufen lassen, kann das unerwünschte Nebeneffekte bewirken. Es wird dringend empfohlen, das Skript nur auf einer Testinstallation laufen zu lassen.

Was sind PHP-Acceleratoren?

Informationen dazu finden Sie unter folgenden Links:

Wie setze ich Moodle als Cluster auf?

Siehe Skalierbarkeit.

Wie vervielfältige ich Moodle?

Siehe dieser Diskussionsbeitrag How to Replicate MOODLE ??!!

Mein Moodle ist sehr langsam, was kann ich tun?

Finden Sie zunächst heraus, "wie langasam" Ihr Moodle ist.

Als nächstes müssen Sie klären, ob es sich tatsächlich um ein Geschwindigkeitsproblem handelt oder ob etwas anderes nicht richtig funktioniert, z.B.:

  • Hardware
  • Korruptes Dateisystem, insbesondere Netzwerk-Dateisysteme
  • Speicherprobleme
  • Bug in Moodle
  • korrupte Moodle-Datenbank
  • Netzwerkprobleme (DNS, Firewall, ...)

Weitere Fragen:

  • Nutzen Sie einen eigenen Server oder einen Shared (Virtual) Server?
  • Wie viel RAM steht zur Verfügung?
  • Welchen Software Stack verwenden Sie? (Unix oder Windows, Apache oder IIS, MySQL, PostgreSQL oder SQL-Server, ...?)
  • Wie viele gleichzeitige Nutzer/innen können Sie unterstützen?
  • Welche Module / Aktivitäten von Moodle nutzen Sie?

Siehe auch Geschwindigkeitsempfehlungen.

Was sind die Server-Anforderungen für N Nutzer/innen?

Siehe dieser Diskussionsbeitrag A moodle setup for 10K simultaneous users.

Wie viele Nutzer/innen unterstützt meine Installation?

This is another way of asking the same question as above. Please move up.

Was ist der beste Webserver?

Das hängt davon ab, wen Sie fragen. Apache ist der am weitesten verbreitete Webserver auf Unix/Linux-Systemen. IIS ist der native Windows-Webserver, aber auch auf Windows-Systemen kann Apache verwendet werden. Immer gilt: Verwenden Sie die aktuellste Version, da sie vermutlich die beste Geschwindigkeit bietet. Es gibt weitere "Nischen-Webserver", wenn Sie sich für diese interessieren, kennen Sie sie vermutlich schon.

Soll ich einen 64-Bit-Server verwenden oder reicht ein 32-Bit-Server?

Die meisten Server heutzutage sind ohnehin 64-Bit-Server. Bei Desktop-Installationen: Wenn Sie die Wahl haben, sind 32-Bit-Systeme wahrscheimlich besser unterstützt.

Welchen Hosting-Provider empfehlen Sie?

Die Moodle-Partner sind vom Moodle Headquarter geprüft, sie verfügen über eine umfassende Moodle-Expertise und können umfangreichen Support anbieten. Sie bieten jedoch nicht immer die billigste Lösung, wenn Ihr Budget knapp bemessen ist (fragen Sie trotzdem nach!). Bei preiswertem "Shared Hosting" kann es passieren, dass nicht genügend Kapazitäten für Moodle bereitgestellt werden. Es gibt ganz verschiedene Möglichkeiten, und es hängt ganz wesentlich von Ihren Anforderungen ab. Siehe auch dieser Diskussionsbeitrag.

Siehe auch

Diskussionsbeiträge im Kurs Using Moodle auf moodle.org: