Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:server:performance [03.07.2018 20:46] – [Caching für PHP-Skripte] adminde:server:performance [03.06.2021 12:40] (aktuell) – [Datenbank entlasten] admin
Zeile 3: Zeile 3:
 Für gewöhnlich ist einer Standard-Konfiguration des Webservers für SoSci Survey vollkommen ausreichend für 500 oder 1000 Interviews pro Stunde. Wenn allerdings nur schwache Hardware (z.B. ein Laptop als mobiler Befragungsserver) zur Verfügung steht oder wenn eine größere Anzahl von Interviews parallel läuft, muss die Konfiguration des Webservers ein wenig optimiert werden. Für gewöhnlich ist einer Standard-Konfiguration des Webservers für SoSci Survey vollkommen ausreichend für 500 oder 1000 Interviews pro Stunde. Wenn allerdings nur schwache Hardware (z.B. ein Laptop als mobiler Befragungsserver) zur Verfügung steht oder wenn eine größere Anzahl von Interviews parallel läuft, muss die Konfiguration des Webservers ein wenig optimiert werden.
  
-Welche Maßnahme am besten hilft, hängt davon ab, welcher Flaschenhals konkret Probleme verursacht. Die größte Leistungssteigerung in Hinblick auf Prozessorlast und Antwortzeit liefert typischerweise die Aktivierung eines Opcode-Caches (z.B. APC) für PHP.+Welche Maßnahme am besten hilft, hängt davon ab, welcher Flaschenhals konkret Probleme verursacht. Wenn ein Server viele parallele Anfragen bearbeiten soll, ist der Webserver ''nginx'' deutlich sparsamer mit dem RAM als ''apache2''.
  
  
-===== OPCache für PHP-Skripte ===== +===== Schreibcache akivieren =====
- +
-Falls Sie ein PHP __vor__ Version 5.5 einsetzen, ist die Installation eines ByteCode/OPCode Cache sinnvoll: [[:de:server:apc]] +
- +
-Falls Sie PHP ab Version 5.5 einsetzen und die Installationsroutine warnt, dass kein OpCode Cache aktiv ist: Aktivieren Sie das Modul ''opcache'' in der PHP-Konfiguration, z.B. durch Ergänzung der folgenden Zeile in der PHP.INI (Windows). +
- +
-<code> +
-zend_extension=php_opcache.dll +
-</code> +
- +
- +
-===== Datenbank entlasten =====+
  
 SoSci Survey verwendet einen Caching-Mechanismus für alle Fragen und Items, sodass diese nicht ständig aus der Datenbank geladen werden müssen. Zudem wird die nächste Fragebogen-Seite bereits abgeschickt, bevor die Antworten in die Datenbank geschrieben wurde -- dadurch muss der Teilnehmer nicht unnötig lange warten. SoSci Survey verwendet einen Caching-Mechanismus für alle Fragen und Items, sodass diese nicht ständig aus der Datenbank geladen werden müssen. Zudem wird die nächste Fragebogen-Seite bereits abgeschickt, bevor die Antworten in die Datenbank geschrieben wurde -- dadurch muss der Teilnehmer nicht unnötig lange warten.
Zeile 24: Zeile 13:
  
 Für die Leistung ist es wichtig, dass die Datenbank die Indizes im RAM-Speicher vorhalten kann und nicht ständig auf die Festplatte zugreifen muss. Falls die Installation sehr viele Interviews (ca. ab 500.000) vorhält, ist eine Anpassung der Speicherkonfiguration sinnvoll ([[prepare1#mysql_konfiguration|Vorbereitung des Servers I: MySQL-Konfiguration]]). Für die Leistung ist es wichtig, dass die Datenbank die Indizes im RAM-Speicher vorhalten kann und nicht ständig auf die Festplatte zugreifen muss. Falls die Installation sehr viele Interviews (ca. ab 500.000) vorhält, ist eine Anpassung der Speicherkonfiguration sinnvoll ([[prepare1#mysql_konfiguration|Vorbereitung des Servers I: MySQL-Konfiguration]]).
- 
- 
-===== Persistente Datenbank-Verbindung ===== 
- 
-PHP (und damit auch SoSci Survey) startet für jede Anfrage ein neues Skript. Das bedeutet, nach jedem Klick auf "Weiter" und bei jedem eingefügten Item wird ein neues PHP-Skript gestartet. Und jedes Script muss sich zunächst mit der Datenbank verbinden. 
- 
-Diese Verbindung kostet Zeit, die man sich eigentlich sparen könnte, denn das vorige Skript kann die Datenbank-Verbindung einfach geöffnet lassen. Diese Technik wird als persistente Datenbankverbindung bezeichnet und kann in der Installationsroutine von SoSci Survey einfach aktiviert werden. Rufen Sie dafür ''/admin/install.php'' im Browser auf. 
- 
-Allerdings haben persistente Verbindungen eine Schattenseite: Wenn der Webserver viele Prozesse parallel startet, können diese alle Verbindungen zur Datenbank belegen. Deshalb muss man sicherstellen, dass die Datenbank mindestens so viele parallele Verbindungen akzeptiert, wie der Server parallele Verarbeitungsinstanzen (Threads) startet. Ist das nicht gewährleistet, werden Anfragen an die Datenbank bei hoher Serverlast mit Fehlern quittiert. Die entsprechenden MySQL-Variablen werden bereits in der [[start#mysql-einstellungen|Installationsanleitung]] erläutert. 
- 
-Stellen Sie außerdem sicher, dass der Webserver Verbindungen nicht zu lange offen hält. Zwei Sekunden sind für SoSci Survey vollkommen ausreichend. Die Bearbeitungszeit für eine Fragebogen-Seite beträgt normalerweise 1-2 Minuten -- so lange kann und will man die Verbindung ohnehin nicht offen halten. Und dann kann man sie auch gleich wieder für andere Nutzer freigeben. 
  
  
de/server/performance.1530643609.txt.gz · Zuletzt geändert: 03.07.2018 20:46 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki