Die Verwendung von WP All Import, WordPress Importer und ähnlichen Plugins zum Importieren von XML-Dateien, CSV-Dateien, WXR-Dateien und Bildern ist eine typische Aufgabe für Entwickler und Websites mit häufig wechselnden Inhalten. Es kommt jedoch auch häufig vor, dass bei der Verarbeitung dieser Importe Zeitüberschreitungen und Leistungsprobleme der Website auftreten.

In diesem Artikel werden Schritte erläutert, mit denen du dich durch einen herausfordernden Importprozess arbeiten kannst.

Bitte beachte, dass wir nicht garantieren können, dass jeder Importvorgang auf unserer Plattform erfolgreich ausgeführt wird. Wenn der Import bei Kinsta nicht erfolgreich ausgeführt werden kann, empfehlen wir, den Import in einer lokalen Entwicklungsumgebung durchzuführen und anschließend die aktualisierte Database oder Tabelle in deine Website-Database zu importieren.

Warum verursachen Importe Zeitüberschreitungen und Leistungsprobleme?

Es gibt zwei Arten von Zeitüberschreitungen, die bei großen Importvorgängen normalerweise auftreten:

  • PHP timeouts occur if a single PHP process runs for longer than the max_execution_time or max_input_time set in the PHP configuration. When this happens a 502 server error is usually displayed.
  • HTTP timeouts occur when the connection between your browser and the web server is held open for too long. When this happens a 504 gateway timeout error is usually displayed.

Es ist üblich, dass die Website-Leistung auch langsamer ist, wenn ein großer Import ausgeführt wird. Dies liegt daran, dass PHP und MySQL mit dem Importprozess beschäftigt sind. Dies führt dazu, dass der reguläre Datenverkehr zur Seite warten muss, bis PHP und MySQL verfügbar sind, um die angeforderte Seite zu generieren.

Umgang mit PHP-Timeouts

Für Seiten, die auf Kinsta gehostet werden, sind die PHP max_execution_time und max_input_time standardmäßig auf 300 Sekunden eingestellt. Die maximalen PHP-Timeout-Werte, die auf unserer Plattform verfügbar sind, hängen von deinem aktuellen Hosting Plan ab.

Wenn du mit PHP-Timeouts zu kämpfen hast, empfehlen wir dir, mit einem Entwickler zusammenzuarbeiten, um das Problem zu beheben. Anstatt einen Importprozess über eine lange PHP-Anfrage auszuführen, wäre es zum Beispiel besser, den Import direkt auf dem Container mit WP-CLI oder einem lokalen PHP- oder Bash-Skript auszuführen.

Umgang mit HTTP Timeouts

HTTP-Timeouts treten normalerweise nach 60 Sekunden für Websites auf, die bei Kinsta gehostet werden. Aufgrund des Aufbaus unserer Infrastruktur können wir die HTTP-Timeouts nicht verlängern.

Wenn bei dir ein HTTP-Timeout auftritt, solltest du in zwei Schritten versuchen, das Problem zu beheben:

  • Wenn während des Uploads der Importdatei eine Zeitüberschreitung auftritt, wechsel zu einer schnelleren Internetverbindung und wiederhole den Vorgang.
  • Wenn du ein Tool verwendest, das WP-CLI unterstützt z. B. das WordPress-Importer-Plugin, kannst du den Import direkt auf dem Server ausführen und die HTTP-Verbindung vollständig umgehen.

Bitte beachte, dass das Ausführen eines Imports über SSH eine Änderung des Inhalts deiner Website darstellt und nicht in den Rahmen des Support-Teams fällt, der dir zur Verfügung steht. Wenn du mit SSH nicht vertraut bist, musst du entweder lernen, wie man dieses leistungsstarke Tool verwendet, oder mit einem Entwickler zusammenarbeiten, um den Import über SSH zu verarbeiten.

Umgang mit Leistungsproblemen der Website

Wenn der Importvorgang erfolgreich ausgeführt wird und deine Seite während des Vorgangs eine schlechte Leistung erbringt, hast du zwei Möglichkeiten:

  • Plane die Importaktivität für eine Zeit mit wenig Datenverkehr, um die Auswirkungen auf die Besucher deiner Website zu minimieren.
  • Aktualisiere auf einen Plan mit mehr PHP Workers auf deiner Live-Seite. Wenn die Leistungsprobleme darauf zurückzuführen sind, dass PHP nicht in der Lage ist, mehr Anfragen zu bearbeiten, bedeutet dies, dass PHP mehr Kapazität hat, um sowohl den Datenverkehr zur Seite als auch den Import zu verarbeiten.
  • Das Aktualisieren eines Plans hilft nicht, wenn du versuchst, einen Import auf einer Staging-Seite durchzuführen. Unsere Staging-Umgebung verfügt über eine konstante Anzahl von PHP-Workern und ist von Plan-Aktualisierungen nicht betroffen.

Eine Aktualisierung der Pläne, um Zugang zu mehr PHP-Workern zu erhalten, wird nicht in allen Fällen hilfreich sein. Wenn deine Seite langsam läuft, weil die Database (MySQL) gerade mit dem Einfügen von Inhalten in die Database beschäftigt ist, ist es unwahrscheinlich, dass das Hinzufügen zusätzlicher PHP-Worker die Leistung deiner Seite beschleunigt.

Hilfe bekommen

Wenn du die vorherigen Vorschläge in diesem Artikel durchgearbeitet hast, noch Probleme hast und Unterstützung benötigst, besteht der nächste Schritt darin, dich an unser Support-Team zu wenden. Bevor du jedoch ein Gespräch mit unserem Support-Team beginnst, sammel bitte so viele Informationen wie möglich.

  • Starte den Import und stelle fest, wie lange es dauert, bis der Vorgang fehlschlägt. Wenn der Vorgang nach 1 Minute fehlschlägt, tritt wahrscheinlich ein HTTP-Timeout auf. Wenn der Vorgang nach 5 Minute fehlschlägt, tritt wahrscheinlich ein PHP-Timeout auf. Wenn es an einem anderen Punkt fehlschlägt, stößt du wahrscheinlich auf ein anderes Limit oder einen anderen Fehler und siehst tatsächlich keine Zeitüberschreitung.
  • Überprüfe die Fehlerprotokolle zu dem Zeitpunkt, an dem der Import fehlgeschlagen ist, und prüfe, ob zu diesem Zeitpunkt ein Fehler aufgezeichnet wurde.
  • Mache einen Screenshot der Fehlermeldung oder Fehlerseite, die du beobachtest.
  • Schreibe eine kurze Beschreibung des Dateityps, den du importieren möchtest, wie die Datei erstellt wurde, was sie enthält, welche Tools zum Erstellen der Datei und Ausführen des Imports verwendet wurden und auf welche Fehler du stößt.

Sobald du diese Informationen gesammelt hast, öffne ein Ticket beim Kinsta-Support-Team. Bitte beachte jedoch, dass wir nicht garantieren können, dass jeder Importvorgang auf unserer Plattform erfolgreich ausgeführt wird.

Nächste Schritte – Lokaler Entwicklungsworkflow

Wenn der Import in der Kinsta-Umgebung nicht ausgeführt werden kann, besteht der nächste Schritt darin, einen neuen Workflow für den Importprozess zu entwickeln, bei dem der Import in einer lokalen Entwicklungsumgebung ausgeführt wird. Beachte bitte, dass ein Entwickler in diesen Prozess einbezogen werden muss, um sicherzustellen, dass keine Daten verloren gehen und deine Seiten-Database nicht beschädigt wird.

Im Allgemeinen solltest du eine Kopie deiner Seite in einer lokalen Entwicklungsumgebung einrichten – du kannst DevKinsta verwenden – wo du alle Timeout-Werte kontrollieren kannst. Schließe dann den Import in dieser lokalen Umgebung ab. Exportiere nach Abschluss des Imports eine Kopie der WordPress Database oder der aktualisierten Databasetabellen aus deiner lokalen Umgebung. Erstelle dann eine Sicherungskopie deiner Live-Website, lösche die Database (oder die betroffenen Tabellen) von deiner Live-Website und importiere die Database oder die Tabellen, die aus deiner lokalen Umgebung exportiert wurden.