Zum Hauptinhalt springen
Version: 1.x

Server-Performance

Die Server-Performance wirkt sich direkt auf die Geschwindigkeit und Reaktionsfähigkeit Ihrer WCPOS-Anwendung aus. Das POS führt viele REST-API-Aufrufe aus, daher ist die Server-Antwortzeit der wichtigste Engpass — die POS-Geschwindigkeit hängt stark von der Hosting-Qualität ab. Dieser Leitfaden hilft Ihnen dabei, die Server-Performance mithilfe der integrierten Metriken und Fehlerbehebungstechniken zu überwachen, zu diagnostizieren und zu optimieren.

Mindestanforderungen an den Server

Für ein reaktionsschnelles POS im Produktivbetrieb empfehlen wir mindestens:

CPU: 4+ CPU-Kerne
RAM: 4 GB oder mehr
PHP: PHP 7.4+ (8.x empfohlen)
Datenbank: MySQL 8.0+ oder MariaDB 11.x
Speicher: SSD oder NVMe
SSL: HTTPS ist erforderlich — die WooCommerce REST API funktioniert nicht ohne
Shared Hosting reicht oft nicht aus

Shared Hosting hat häufig zu wenige PHP-Worker und zu wenig Arbeitsspeicher für POS-Workloads, die viele gleichzeitige API-Aufrufe ausführen. Für den produktiven POS-Einsatz wird ein VPS oder ein verwalteter WordPress-Host dringend empfohlen. Beim verwalteten Hosting von WordPress.com sind ebenfalls Kompatibilitätsprobleme mit der REST API bekannt (manche Nutzer sehen nur 9–10 Produkte aus großen Katalogen) — für volle Kompatibilität wird selbst gehostetes WordPress.org empfohlen.

Von der Community validierter Optimierungs-Stack

Nutzer berichten von der besten POS-Performance mit dieser Kombination:

  • MariaDB 11.4 (schneller als MySQL für WooCommerce-Workloads)
  • HPOS aktiviert (siehe unten)
  • LiteSpeed oder Redis Objekt-Caching
  • NVMe-Speicher
  • PHP OPcache aktiviert

503-Fehler

503-Fehler sind immer serverseitig

Ein 503 Service Unavailable ist kein POS-Fehler — er bedeutet, dass der Server die Anfrage nicht verarbeiten konnte. Überprüfen Sie:

  1. Serverlast und verfügbare Ressourcen
  2. PHP-Worker (sie könnten erschöpft sein)
  3. PHP-Speicherlimit — erhöhen Sie es auf 256 MB oder mehr
  4. Die Serverprotokolle Ihres Webhosts (kontaktieren Sie Ihren Host; er sieht, was die Anwendung nicht sehen kann)

WooCommerce-Versionskompatibilität

Ein WooCommerce-Update kann gelegentlich das POS beeinträchtigen. Aktualisieren Sie WooCommerce immer zuerst auf einer Staging-Site und halten Sie WCPOS aktuell, damit es die neuesten Kompatibilitätskorrekturen enthält.

Bekannte Probleme:

  • WooCommerce 10.5.0 — beeinträchtigte das Laden von Produkten im POS (Symptom: nur ~10 Produkte werden angezeigt; Barcode-Scannen und Suche funktionieren nicht mehr) und führte einen experimentellen Produkt-Cache ein, der zu Postmeta-Aufblähung und Speichererschöpfung führen kann. Lösung: Aktualisieren Sie WCPOS auf die neueste Version (sie enthält die Korrektur und eine Bereinigungsmigration) oder setzen Sie WooCommerce auf 10.4.3 zurück.

Wenn ein WooCommerce-Update das POS beeinträchtigt, setzen Sie WooCommerce auf die vorherige Version zurück (über den Tab Erweitert auf der WordPress.org-Seite des Plugins) und melden Sie es.

Servermetriken verstehen

WCPOS sammelt automatisch Serverleistungsmetriken bei jedem Datenabrufvorgang (Produkte, Bestellungen, Kunden usw.). Sie können diese Metriken im Bildschirm Protokolle einsehen.

Typische Servermetriken

{
"total": "24692",
"execution_time": "76.64 ms",
"server_load": "[15.20605469,16.16357422,16.76806641]"
}

Aufschlüsselung:

  • total - Anzahl der verarbeiteten Datensätze (24.692 Produkt-IDs)
  • execution_time - Zeit, die benötigt wurde, um den Vorgang abzuschließen (76,64 Millisekunden)
  • server_load - Serverlastdurchschnitt für 1, 5 und 15 Minuten

Erklärung der Serverlast

Die Serverlast stellt die durchschnittliche Systemauslastung über verschiedene Zeiträume hinweg dar:

  • Erster Wert - Durchschnitt über 1 Minute (15,21)
  • Zweiter Wert - Durchschnitt über 5 Minuten (16,16)
  • Dritter Wert - Durchschnitt über 15 Minuten (16,77)

Lastinterpretation

Die Werte der Serverlast können irreführend sein und sollten sorgfältig interpretiert werden:

Lastwerte können irreführend sein

Die Serverlastdurchschnitte korrelieren nicht immer direkt mit der Leistung. Ein Server mit hohen Lastwerten (15+) kann dennoch sehr reaktionsschnell sein, wenn er über ausreichende Ressourcen verfügt und gut optimiert ist. Konzentrieren Sie sich eher auf die Ausführungszeiten als nur auf die Lastwerte.

Allgemeine Richtlinien:

  • Last im Verhältnis zu CPU-Kernen - Eine Last von 8,0 auf einem 8-Kern-Server bedeutet volle Auslastung
  • Anhaltend vs. vorübergehend - Kurze Spitzen sind normal, eine anhaltend hohe Last kann auf Probleme hinweisen
  • Leistung ist wichtiger - Ein reaktionsschneller Server mit hoher Last ist besser als ein langsamer Server mit niedriger Last

Worauf zu achten ist:

  • Ausführungszeiten erhöhen sich im Laufe der Zeit
  • Last wächst konstant ohne Erklärung
  • Sowohl hohe Last ALS AUCH langsame Ausführungszeiten zusammen

Leistungsbenchmarks

Richtlinien zur Ausführungszeit

VorgangGutAkzeptabelSchlechtKritisch
Produktabruf< 100 ms100-500 ms500 ms-2 s> 2 s
Bestellung erstellen< 200 ms200-800 ms800 ms-3 s> 3 s

Überlegungen zur Datensatzanzahl

Die Ausführungszeit sollte vernünftig mit der Datensatzanzahl skalieren:

// Good scaling examples
{"total": "100", "execution_time": "15.2 ms"} // 0.15ms per record
{"total": "1000", "execution_time": "89.4 ms"} // 0.09ms per record
{"total": "10000", "execution_time": "234.1 ms"} // 0.02ms per record

// Poor scaling examples
{"total": "100", "execution_time": "500.0 ms"} // 5.0ms per record
{"total": "1000", "execution_time": "8000.0 ms"} // 8.0ms per record

Diagnostizieren von Leistungsproblemen

Schritt 1: Protokolle überwachen

  1. Öffnen Sie Protokolle aus dem Navigationsbereich
  2. Führen Sie den langsamen Vorgang aus (Produkte synchronisieren, Bestellung erstellen usw.)
  3. Suchen Sie den entsprechenden Protokolleintrag
  4. Erweitern Sie den Kontext, um die Metriken anzuzeigen

Schritt 2: Die Metriken analysieren

Hohe Ausführungszeit + Hohe Serverlast = Serverressourcenproblem

{
"total": "5000",
"execution_time": "3500.0 ms",
"server_load": "[12.45, 11.23, 10.87]"
}

Lösung: Serverressourcen erhöhen oder Serverkonfiguration optimieren

Hohe Ausführungszeit + Normale Serverlast = Plugin-/Datenbankproblem

{
"total": "1000",
"execution_time": "2800.0 ms",
"server_load": "[1.23, 1.45, 1.67]"
}

Lösung: Langsame Plugins identifizieren oder Datenbankabfragen optimieren

Normale Ausführungszeit + Hohe Serverlast = Allgemeine Serverüberlastung

{
"total": "2000",
"execution_time": "150.0 ms",
"server_load": "[8.90, 9.12, 8.45]"
}

Lösung: Serverlast durch andere Prozesse reduzieren oder Ressourcen aufrüsten

Häufige Leistungsprobleme

1. Unzureichende Serverressourcen

Symptome:

  • Konstant hohe Serverlast (> 4.0 auf den meisten Servern)
  • Lange Ausführungszeiten über alle Vorgänge
  • Häufige Timeouts

Lösungen:

  • CPU aufrüsten - Mehr Kerne bewältigen gleichzeitige Anfragen besser
  • RAM erhöhen - Reduziert die Festplatten-I/O und verbessert das Caching
  • SSD-Speicher verwenden - Verbessert die Datenbankleistung erheblich
  • PHP-Einstellungen optimieren - memory_limit, max_execution_time erhöhen

2. Langsame Datenbankabfragen

Symptome:

  • Hohe Ausführungszeiten bei normaler Serverlast
  • Besonders langsames Abrufen von Produkten/Bestellungen
  • Datenbankbezogene Fehlercodes in den Protokollen

Lösungen:

  • WooCommerce HPOS aktivieren - Die größte einzelne Verbesserung der Datenbankleistung
  • Objekt-Caching verwenden - Redis oder Memcached, wenn von Ihrem Host verfügbar
  • WordPress aktuell halten - Kernaktualisierungen enthalten oft Datenbankoptimierungen
  • Beitragsrevisionen begrenzen - define('WP_POST_REVISIONS', 3); zu wp-config.php hinzufügen

3. Plugin-Interferenzen

Symptome:

  • Plötzlicher Leistungsabfall nach Plugin-Updates
  • Bestimmte Vorgänge sind viel langsamer als andere
  • Hohe Ausführungszeiten bei normaler Serverlast

Fehlerbehebung:

  1. Auf der Staging-Umgebung testen - Deaktivieren Sie alle Plugins außer WooCommerce und WCPOS
  2. Basislinie messen - Ausführungszeiten mit minimalen Plugins aufzeichnen
  3. Allmählich aktivieren - Fügen Sie Plugins nacheinander hinzu, um die Übeltäter zu identifizieren
  4. Plugin-Hooks überprüfen - Suchen Sie nach Plugins, die in WooCommerce-Aktionen eingehängt sind

Häufig problematische Plugins:

  • Schwere SEO-Plugins während Produktvorgängen
  • Komplexe Bestandsverwaltungssysteme
  • Echtzeit-Analyse-/Tracking-Plugins
  • Schlecht programmierte benutzerdefinierte Plugins

4. WordPress-/WooCommerce-Konfiguration

Symptome:

  • Inkonsistente Leistung
  • Speicherspezifische Fehler in den Protokollen
  • Langsames Admin-Dashboard

Optimierungs-Checkliste:

  • PHP-Version - Verwenden Sie PHP 8.0+ für bessere Leistung
  • WooCommerce HPOS - Aktivieren Sie die Hochleistungs-Bestellablage (siehe unten)
  • WordPress-Caching - Aktivieren Sie Objekt-Caching, wenn verfügbar
  • WooCommerce-Einstellungen - Optimieren Sie die Produktbildgrößen

WooCommerce Hochleistungs-Bestellablage (HPOS)

Größter Leistungsgewinn

HPOS ist eine der bedeutendsten Leistungsverbesserungen, die Sie für WooCommerce vornehmen können. Es speichert Bestellungen in benutzerdefinierten Datenbanktabellen anstelle der WordPress-Posts-Tabelle, was die Leistung für Geschäfte mit vielen Bestellungen erheblich verbessert.

Vorteile:

  • Schnellere Bestellabfragen - Bestellungen werden in einer optimierten Datenbankstruktur gespeichert
  • Reduzierte Datenbankbelastung - Trennt Bestellungen von Beiträgen/Seiten
  • Bessere Skalierbarkeit - Bewältigt große Bestellmengen effizient
  • Verbesserte Admin-Leistung - Schnellere Bildschirme für das Bestellmanagement

So aktivieren Sie es:

  1. Gehen Sie zu WooCommerce > Settings > Advanced > Features
  2. Aktivieren Sie "High-performance order storage"
  3. Befolgen Sie den Migrationsprozess

Mehr erfahren:

Beste Praktiken für die Serverüberwachung

1. Regelmäßige Leistungsprüfungen

  • Wöchentliche Überprüfungen - Überprüfen Sie die Protokolle auf Leistungstrends
  • Basislinienmessungen - Normale Ausführungszeiten aufzeichnen
  • Spitzenzeiten überwachen - In verkehrsreichen Zeiten überwachen

2. Leistungswarnungen festlegen

Überwachen Sie diese Warnzeichen:

  • Ausführungszeiten konstant > 1000 ms
  • Serverlast > 5,0 über längere Zeiträume
  • Häufige Timeout-Fehler in den Protokollen

3. Kapazitätsplanung

Verfolgen Sie Wachstumstrends:

  • Wachstum der Datensatzanzahl - Produkte, Bestellungen, Kunden
  • Leistungsabfall - Wie die Ausführungszeit skaliert
  • Ressourcenauslastung - CPU, Speicher, Festplattennutzung

Strategien zur Serveroptimierung

1. WordPress-/WooCommerce-Best-Practices

HPOS aktivieren:

  • Die mit Abstand wirkungsvollste Leistungsverbesserung für WooCommerce
  • Siehe den obenstehenden Abschnitt HPOS für Details

PHP-Konfiguration (fragen Sie Ihren Host):

memory_limit = 512M
max_execution_time = 300
max_input_vars = 3000

WordPress-Konfiguration:

// In wp-config.php - limit post revisions
define('WP_POST_REVISIONS', 3);

// Enable WordPress debug logging if needed
define('WP_DEBUG_LOG', true);

2. Optimierungen auf Hosting-Ebene

Objekt-Caching:

  • Fragen Sie Ihren Host nach der Verfügbarkeit von Redis oder Memcached
  • Viele verwaltete WordPress-Hosts bieten dies automatisch an

PHP-Version:

  • Verwenden Sie PHP 8.0+ für signifikante Leistungsverbesserungen
  • Die meisten Hosts erlauben einen einfachen Wechsel der PHP-Version

Serverressourcen:

  • Stellen Sie sicher, dass ausreichend RAM vorhanden ist (mindestens 1 GB, idealerweise 2 GB+)
  • SSD-Speicher bietet eine wesentlich bessere Datenbankleistung als herkömmliche Laufwerke

Hosting-spezifische Hinweise

Einige Hosts und CDNs müssen konfiguriert werden, damit das POS die WooCommerce REST API erreichen kann:

Host / DienstProblemLösung
GoDaddyDie Website-Firewall blockiert /wp-json/-REST-API-Aufrufe (Fehler wie "Received 'undefined'")Website Security > Firewall > Settings > Access Control > Allow URL Paths/wp-json/ hinzufügen
WP EngineREST API muss explizit aktiviert werdenAktivieren Sie die REST API; setzen Sie API-Endpunkte bei Bedarf in deren Firewall auf die Whitelist
CloudflareKann REST-API-Anfragen blockieren und API-Antworten zwischenspeichernÜberprüfen Sie die Firewall-Regeln; fügen Sie eine Page Rule hinzu, um den Cache zu umgehen für /wp-json/*
WordPress.comKompatibilitätsprobleme bei REST API / Produktladen (nur 9–10 Produkte werden angezeigt)Verwenden Sie selbst gehostetes WordPress.org für volle Kompatibilität
Shared HostingZu wenige PHP-Worker / wenig Speicher für gleichzeitige POS-AufrufeWechseln Sie zu einem VPS oder verwalteten WordPress-Host

Sicherheits-Plugins (Wordfence usw.) können die REST API auf ähnliche Weise blockieren — die vollständige Liste und Lösungen finden Sie unter Plugin-Konflikte.

HTTP 414 — URI Too Long

Große Warenkörbe oder das in der Checkout-URL enthaltene Zugriffstoken können das URL-Längenlimit des Servers überschreiten (die Checkout-Anfrage verwendet GET). Dies kann browserspezifisch sein und durch den Browser-Cache verschlimmert werden.

Workaround: Leeren Sie zuerst den Browser-Cache und erhöhen Sie dann das URL-Längenlimit des Servers:

  • Apache: LimitRequestLine 65536 in httpd.conf
  • Nginx: large_client_header_buffers 4 65536; in nginx.conf
  • Wenn Sie keinen Zugriff auf die Konfiguration haben, bitten Sie Ihren Hosting-Anbieter, dies anzupassen.

Wann Sie Hilfe suchen sollten

Wenden Sie sich an Ihren Hosting-Anbieter oder einen WordPress-Entwickler, wenn:

  • Serverlast trotz Optimierungsbemühungen konstant > 8.0 ist
  • Ausführungszeiten > 5000 ms für einfache Vorgänge auftreten
  • Speicherfehler häufig in den Protokollen auftreten
  • Datenbankabfragen konstant > 2 Sekunden dauern

Geben Sie ihnen folgende Informationen:

  • Servermetriken aus Ihren Protokollen
  • Liste der aktiven Plugins
  • Serverspezifikationen (CPU, RAM, Speichertyp)
  • WordPress- und WooCommerce-Versionen