Hinweis: Der folgende Artikel hilft Ihnen dabei: Ein umfassender Leitfaden für PHP-Worker: Was sind …
PHP-Worker sind ein unverzichtbarer Teil des Hochleistungs-Hosting-Puzzles. Die meisten Managed-Hosting-Unternehmen bieten unflexible Hosting-Pläne an, die für eine durchschnittliche Website außergewöhnliche Ergebnisse liefern können, für dynamische Websites jedoch zum Scheitern verurteilt sind, da Teile des Caches den Datenverkehr umgehen.
Wenn Sie Ihr Unternehmen weiterentwickeln und komplexere Websites entwickeln, ist es von entscheidender Bedeutung, die PHP-Worker und deren Einfluss auf die Website-Leistung zu verstehen. Dieser Artikel führt Sie durch die Grundlagen und bietet einige praktische Richtlinien für häufige Anwendungsfälle.
Was sind PHP-Worker?
PHP-Worker sind Hintergrundprozesse auf Servern, die PHP-Code ausführen. Sie erstellen Seiten und bearbeiten Anfragen, die eine Backend-Verarbeitung auf Ihrer Website erfordern. Diese Technologie erstellt HTML-Seiten, um die Besucher Ihrer Website zu bedienen.
PHP-Worker entscheiden über die Anzahl der nicht zwischengespeicherten Anforderungen, die Ihre Website jederzeit verarbeiten kann. Sobald ein PHP-Worker gestartet ist, bleibt er fleißig, bis Prozesse abgeschlossen sind oder bestimmte Bedingungen erfüllt sind.
Sagen Nginx erhält eine Anfrage, die PHP verarbeiten soll. Die Anfrage wird an PHP-FPM weitergeleitet, das die Anfrage an einen zugänglichen PHP-Worker weiterleiten kann. Der PHP-Worker führt den PHP-Code aus, ruft die erforderlichen Informationen von MySQL oder Redis ab und erstellt die Seitenausgabe. Die Seitenausgabe wird zu diesem Zeitpunkt an Nginx zurückgegeben, bevor sie an den Browser zurückgesendet wird.
Kurz gesagt sind PHP-Worker die Serverprozesse, die Ihren Quellcode ausführen. Immer wenn eine nicht zwischengespeicherte Seite eine Anfrage erhält, wird diese von einem PHP-Worker bearbeitet.
Hosten Sie PHP-Websites ganz einfach [Starts at $11 Credit]
- Kostenlose Inszenierung
- Kostenloses Backup
- PHP 8.0
- Unbegrenzte Websites
VERSUCH'S JETZT
Warum brauchen Sie PHP-Worker?
Die Aufgabe von PHP-Workern besteht darin, alle Anforderungen zu bearbeiten, die den Cache der Website umgehen oder nicht nutzen. Wenn eine Anfrage nicht im Cache landet, übernimmt ein PHP-Worker die Aufgabe, bearbeitet die Anfrage und gibt sie in Form einer Webseite an den Gast zurück.
PHP-Worker verarbeiten die Daten schneller und erledigen zahlreiche Prozesse innerhalb von Millisekunden. Sie ermöglichen die gleichzeitige Ausführung von Vorgängen, sodass mehr Kundenaufträge gleichzeitig vorbereitet werden können.
Es ist wichtig, sich daran zu erinnern, dass ihre Funktionsfähigkeit nicht unendlich ist – sie hängt von verschiedenen Variablen ab, einschließlich der Anfragen und den ihnen zur Verfügung stehenden Serverressourcen, die darüber entscheiden können, wie viele nicht zwischengespeicherte Besuche/Anfragen Ihr Standort gleichzeitig verarbeiten kann.
Welchen Einfluss haben PHP-Worker auf die Leistung Ihrer Anwendung?
Dynamische Aufgaben wie eine einfache Bestandsprüfung für einen Kunden können komplexe Prozesse wie das Anzeigen und Veröffentlichen aller früheren Bestellungen für diesen Kunden umfassen.
PHP-Worker spielen eine wesentliche Rolle dabei, die dynamischen Seiten Ihrer Website schnell zu stapeln und so die Ausführung Ihrer Website zu verbessern. Bei richtiger Nutzung und Aufrechterhaltung eines idealen Gleichgewichts zwischen PHP-Worker-Nutzung, Code-Optimierung und CPU-Auslastung tragen sie dazu bei, dass auf Ihrer Website nur minimale bis gar keine Leistungsprobleme auftreten.
PHP-Worker nutzen CPU-Ressourcen, um Code auszuführen. Eine schnellere CPU trägt zu einer schnelleren Codeausführung bei, was die Leistung Ihrer Website verbessern kann. Die Effektivität von PHP-Workern hängt stark von CPU und RAM ab. Das Hosten Ihrer Website auf einem modernen Server mit modernster Ausstattung kann Ihnen dabei helfen, die PHP-Worker-Auslastung zu optimieren.
Wie viele PHP-Worker benötigen Sie?
PHP-Worker nutzen konstant 80–100 % Ihrer verfügbaren CPU-Kapazität. Komplexe Workloads lassen möglicherweise nur zwei PHP-Worker zu, bevor sie alle verfügbaren CPUs verschlingen. Im Gegensatz dazu können produktive und optimierte Workloads 4, 6 oder 8 Worker pro Kern bei identischen Serverspezifikationen zulassen.
Zu viele Worker für die verfügbare CPU verlangsamen grundsätzlich alles, wenn sie anstehen, und die CPU verbringt einen Großteil ihrer Zeit damit, zwischen Aufgaben zu wechseln, anstatt die Arbeit zu erledigen. Zu wenige PHP-Worker pro CPU verschwenden Ressourcen, da Ihre CPU zu einem gewissen Zeitpunkt außer Betrieb bleibt, anstatt ihre Arbeit zu erledigen.
Während die Anzahl der PHP-Worker, die Sie benötigen, von der Komplexität der Site sowie von gleichzeitigen Anfragen und Datenverkehr abhängt, liegt eine allgemeine Richtlinie bei 2 bis 4 Workern für eine statische Site.
Für größere Websites mit dynamischeren Funktionen, wie E-Commerce oder Diskussionsforen, sind 4 PHP-Worker normalerweise ein guter Ausgangspunkt. Auch hier schwankt diese Zahl je nach Website, da jede über einen eigenen Satz an Themes, Plugins, Datenbankabfragen und ein eigenes Verhältnis von zwischengespeicherten zu nicht zwischengespeicherten Websites verfügt.
PHP-Worker: DreamHost vs. Kinsta vs. Siteground
Hier ist ein kurzer Vergleich von DreamHost, Kinsta und Siteground als Hosting-Anbieter und wie jeder von ihnen funktioniert. Wenn Sie außerdem nach einer Siteground-Alternative und einer cPanel-Alternative suchen, haben Sie mehrere Möglichkeiten zur Auswahl.
Wolkenwege | Kinsta | Siteground | |
Unterstützung | Unterstützt alle Arten von PHP-basierten Anwendungen. | Nur WordPress-Plattform. Vergessen Sie die Verwendung anderer PHP-basierter Anwendungen. | Nur WordPress-Plattform. |
PHP-Worker | Bietet an unbegrenzte PHP-Worker. Sie können sie an den Traffic und die Leistung Ihrer Website anpassen. | Beginnt ab 4 Arbeiter und geht hinauf 16 Arbeiter mit einem Unternehmensplan. | Bietet an 4 PHP-Worker mit ihrem Unternehmensplan. |
Festplattenplatz | Beginnt ab 20 GB Zu 3840 GB. Bei benutzerdefinierten Plänen ist mehr Speicherplatz verfügbar. | Bietet an 10 GB Zu 250 GB Speicherplatz | Bietet an 16 GIGABYTE Zu 128 GB Speicherplatz. |
Bandbreite | 2 GB bis 20 TB | Nicht gemessen, aber die monatlichen Besuche sind sehr begrenzt | Unbegrenzt |
Server | Wählen Sie zwischen DigitalOcean, AWS und Google Cloud Platform | Läuft nur auf Google Cloud C2 | Läuft nur auf Google Cloud C2 |
CDN | Bietet Cloudflare CDN | Die CDN-Bandbreite ist begrenzt | Bietet Cloudflare CDN |
Caching | Lack, Redis, Memcached | Bytecode, Objektseite, CDN | Gespeichert, GrowBig+ |
Was passiert, wenn Sie nicht genügend PHP-Worker haben?
Für eine schnelle und solide Website-Ausführung ist es wichtig, dass Ihre Website über ausreichend PHP-Worker verfügt. Wenn die verfügbaren PHP-Worker auf einer Website beschäftigt sind, beginnen sie im Hintergrund damit, eine Warteschlange aufzubauen und alle Anfragen zu bearbeiten.
Es gibt eine Reihe charakteristischer Faktoren, die zu langsamen Seitenladevorgängen oder Fehlern führen können. Sobald Sie das Limit Ihrer verfügbaren PHP-Worker erreicht haben, beginnt die Zeile damit, ältere Anfragen zu verschieben, was zu 504-Fehlern oder fragmentierten Anfragen führen kann.
Ein weiterer häufiger Fehler, mit dem wir aufgrund des Mangels an PHP-Workern konfrontiert werden, ist Schlechte Gateway-Fehler. Diese treten nach einem Timeout von 60 Sekunden innerhalb der PHP-Worker-Warteschlange auf.
Diese Fehler führen nicht nur zu einer schlechten Benutzererfahrung, sondern wirken sich auch negativ auf die SEO Ihrer Website aus.
So optimieren Sie die PHP-Worker Ihrer Website
Wir haben erklärt, dass PHP-Worker grundlegende Prozesse sind, die HTML-Seiten mit PHP-Code erstellen. Der offensichtlichste Weg zur Optimierung der PHP-Worker-Auslastung besteht darin, die Summe der CPU- und PHP-Ressourcen zu reduzieren, die zur Erfüllung von Anfragen an Ihre Website erforderlich sind.
1) Systemcache
Caching ist der Schlüssel zu einer leistungsstarken Website. Wenn eine Seite keinen dynamischen, besucherspezifischen Inhalt bereitstellt, sollte dieser zwischengespeichert werden. Webserver wie Nginx und Open-Lite-Geschwindigkeit bieten eine bemerkenswerte Leistung beim Servieren aus dem Cache. Beide sind kompetent im Umgang mit der Summe der gleichzeitigen Aktivitäten, wenn die PHP-Verarbeitung auf ein Minimum beschränkt wird.
Wenn eine Seite zwischengespeichert wird, speichert sie vorgefertigtes HTML, CSS und JS, das von einem Browser sofort verwendet werden kann. Nginx/OpenLiteSpeed muss nichts zur Verarbeitung an PHP senden, um eine Seite zu „erstellen“. Sie legten einfach ein Duplikat des Ergebnisses von der ersten Erstellung beiseite. Zu diesem Zeitpunkt ist es eher so, als würde man eine völlig inaktive Website bedienen.
Der Blog-Beitrag, den Sie gerade lesen, ist das perfekte Beispiel für eine Seite, die nicht dynamisch generiert werden muss. Wie bei vielen unserer anderen Beiträge ist der Inhalt dieses Beitrags statisch konzipiert, sodass keine CPU-Ressourcen aufgewendet werden müssen, um kontinuierlich identische Seiten zu erstellen.
Stattdessen ist es viel besser, PHP-Worker die Seite einmal generieren zu lassen und sie dann zwischenzuspeichern. Seiten-Caching hat zahlreiche offensichtliche Vorteile gegenüber der dynamischen Generierung von Seiten mit PHP. Es gibt zwei Möglichkeiten, das Seiten-Caching für Ihre Website einzurichten.
- Seiten-Caching auf Serverebene mit Nginx.
- Plugin-basiertes Seiten-Caching mit WP-Rocket.
Für eine extreme Leistung empfehlen wir, wann immer möglich, Seiten-Caching auf Serverebene zu verwenden.
2) Wählen Sie Qualitäts-Plugins
Die Anzahl der Plugins auf Ihrer Website ist nicht so wichtig wie die Qualität der Plugins. Falls ein Plugin in den letzten sechs Monaten nicht aktualisiert wurde, wählen Sie ein anderes aus, das den Anforderungen entspricht.
Falls ein Plugin längere Zeit nicht aktualisiert wurde, besteht die Möglichkeit, dass sein Code nicht die neueste WordPress-Entwicklung verwendet.
Wenn ein Plugin alternativ alle paar Wochen ständig aktualisiert wird, besteht eine große Chance, dass der Entwickler Wert auf Qualität legt, was es zu einer guten Wahl für Ihre Website macht.
3) Verwenden Sie bei Bedarf Plugins
Wenn Sie Aufgaben auf Ihren Websites ausführen möchten, beispielsweise das Einbinden von JavaScript oder CSS, benötigen Sie dafür möglicherweise kein Plugin. Stattdessen können Sie spezifischen Code für die PHP-Benchmark-Vorlagen Ihres Themes oder eine style.css-Datei mit einem untergeordneten Theme einbinden.
Distanzieren Sie sich so weit wie möglich von der Code-Aufblähung, indem Sie keine sinnlosen Plugins installieren
4) Wählen Sie einen leistungsorientierten Host
Es wird empfohlen, sich für einen Hosting-Anbieter zu entscheiden, der Ihnen ausreichend PHP-Worker zur Verfügung stellt, sodass Sie sich nicht erneut um die Anzahl der PHP-Worker kümmern müssen. DreamHost konzentriert sich auf die Bedeutung von PHP-Workern und bietet seinen Benutzern bis zu 6000 PHP-Worker pro Siteim Gegensatz zu anderen Hosting-Anbietern.
Hochleistungs-CPU
PHP-Worker nutzen CPU-Ressourcen, um Code auszuführen. Eine schnellere CPU bedeutet eine schnellere Codeausführung. Bei DreamHost verwenden wir die schnellsten Cloud-Server: Digital Ocean, AWS und GCP.
PHP-Worker mit DreamHost
Da jede Site ein wenig anders aufgebaut ist, kann die Anzahl der benötigten PHP-Worker variieren. Der beste Weg, diese Zahl zu ermitteln, besteht darin, sich anzusehen, wie viele PHP-Worker Sie derzeit verwenden.
Sobald Sie eine Grundlinie darüber erhalten, wie viele PHP-Worker und PHP-Speicherlimits Sie möglicherweise verwenden und wie hoch Ihr Datenverkehrsvolumen ist, können Sie zukünftige Steigerungen planen. Unabhängig von der Nutzung und dem Datenverkehr einer Website ermöglicht DreamHost eine Maximal 6000 PHP-Worker pro Site (mehr als alle seine Konkurrenten) auf Wunsch des Benutzers.
Supercharged Managed PHP Hosting – Verbessern Sie die Geschwindigkeit Ihrer PHP-App um 300 %
PHP-Worker für eine stark frequentierte E-Commerce-Site
picclick.co.uk ist ein E-Commerce-Shop, der im Jahr 2008 gegründet wurde. Da es sich um einen stark frequentierten E-Commerce-Shop handelt, auf den aus der ganzen Welt zugegriffen wird, steigt der Bedarf an PHP-Workern. Derzeit verwendet Picclick etwa 507 – 530 PHP-Worker, um den Datenverkehr und die Anfragen zu verarbeiten.
Viele E-Commerce-Sites können von der Verwendung von 3 statischen Workern pro CPU-Kern profitieren. Wenn Sie über eine saubere Codebasis verfügen und nicht zu viele Anfragen mit langer Laufzeit verwalten, müssen Sie die Leistung Ihrer Website mit 4 und 5 Workern pro Kern testen, bis Sie den optimalen Punkt gefunden haben.
PHP-Worker für eine stark frequentierte LMS-Site
crc.pslms.org Ist ein LMS, das sich auf Schlüsselthemen konzentriert, die für die Durchführung klinischer Forschung von grundlegender Bedeutung sind. Das auf DreamHost-Servern verwaltete LMS verzeichnet außergewöhnlich hohen Datenverkehr und nutzt etwa 5–10 PHP-Worker. Außerdem ist es bei der Auswahl eines Hostings für ein Lernmanagementsystem wichtig, sicherzustellen, dass der Anbieter genügend PHP-Worker anbietet, um die Anforderungen Ihres LMS zu erfüllen.
Zu viele Benutzer, die gleichzeitig auf Ihrer LMS-Site aktiv sind, können Ihr Framework stark belasten. In diesen Fällen sollte Ihre Codebasis möglichst schlank sein und Ihre Website muss auf einem Server mit einer leistungsstarken CPU liegen.
Testen Sie statische Worker mit 3 Workern pro CPU-Kern und überwachen Sie die Leistung. Wenn Sie mehr Leistung benötigen, testen Sie die Leistung Ihrer Website mit 4, 5 und möglicherweise sogar 6 Workern pro Kern.
PHP-Worker für eine Multisite mit hohem Datenverkehr
cityscoop.us ist eine Website mit dem höchsten Rang bei Google für lokale Wirtschaftsnachrichten in den USA. Bei den Lesern handelt es sich überwiegend um lokale Unternehmen und nationale Franchise-Marken, die über unser Nachrichtennetzwerk Inhalte an Suchmaschinen verbreiten. CityScoop ist eine stark besuchte Multisite und verwendet maximal etwa 10–15 PHP-Worker.
Bei Multisite hat eine Site Zugriff auf alle Ressourcen. So bieten statische Arbeiter an optimierte Leistung sowohl auf der Vorder- als auch auf der Rückseite.
Beginnen Sie mit dem Testen dynamischer Worker bei 5 Workern pro CPU-Kern. Nachdem Sie die Leistung überwacht haben, testen Sie die Leistung Ihrer Website bei 7, 8 und möglicherweise sogar bei 10 Workern pro Kern, bis Sie den optimalen Punkt gefunden haben.
Abschluss
Wenn Anfragen nicht ordnungsgemäß bearbeitet werden, kann es zu Fehlfunktionen von Webseiten oder zum Absturz des Servers kommen. PHP-Worker spielen eine wichtige Rolle bei der Bearbeitung von Anfragen. Die Auswahl eines guten Hosting-Anbieters ist auch ein entscheidender Schritt bei der Verwaltung von PHP-Workern, da jeder Hosting-Anbieter eine andere Anzahl von PHP-Workern anbietet.