Es ist klar, dass nichts so gut skaliert wie statische Dateien, die von einem schnellen Webserver und einem beliebigen CMS bereitgestellt werden . Eines der Probleme ist die Anzahl der Datenbankabfragen, die pro URL-Anfrage erforderlich sind, und meine Erfahrung aus den letzten zwei Jahren, die ich ausschließlich mit Drupal und jetzt über zwei Jahren mit WordPress gesammelt habe, ist, dass WordPress in dieser Abteilung viel besser ist.
Das heißt, fast nichts mit irgendeiner Macht wird "out-of-the-box" skalieren ; Es geht darum, was Sie tun können, wenn Ihre Skalierbarkeitsanforderungen steigen.
Am unteren Ende von "viel Verkehr" gibt es großartige Caching-Plugins und Integrationen mit kostengünstigen CDNs, mit denen Sie einen ziemlich guten Job mit einem Budget ohne IT und einem niedrigen Hosting-Budget machen können. Hier sind einige andere Fragen und Antworten zur Überprüfung:
Es gibt Optionen für die Profilerstellung, um Leistungsengpässe zu identifizieren :
Sobald Engpässe erkannt wurden, können Sie mit der Transients-API lokalisierte Optimierungen vornehmen . Diese Fragen und Antworten enthalten ein Beispiel, das mithilfe der Transients-API optimiert werden kann, und zeigen, wie:
Wenn Sie wirklich Lust haben , die großen Waffen herauszuholen , können Sie Memcached , HyperDB , Nginx und / oder mehr konfigurieren , um die Dinge zu beschleunigen.
Und schließlich gibt es neue, auf WordPress fokussierte Webhosts, die auf Leistung spezialisiert sind, wie WP Engine , ZippyKid und andere:
So ist die gute Nachricht ist , alle die Waage sehr schön ; von der sehr niedrigen Ende kostenlos und einfach mit technischer Komplexität und Kosten wachsen nur, wenn der Verkehr erheblich wächst. Fangen Sie klein mit WordPress an und es wird großartig. Wenn Ihr Traffic wächst und Sie ihn sogar einigermaßen gut monetarisieren, werden Sie feststellen, dass es sehr kosteneffektiv ist, ihn nach Bedarf zu skalieren.
Zumindest IMO. :)
Erwarten Sie nicht viel von Shared Hosting - machen Sie WordPress nicht für Langsamkeit verantwortlich, wenn Sie sich auf einem Shared Host befinden. Freigegebene Hosts können Tausende von Konten auf einem Server speichern. Sie können also den ganzen Tag damit verbringen, ein Konto für 10 US-Dollar pro Monat zu optimieren, und das spielt keine Rolle. Achten Sie auch auf Marketing-Schlagworte - nur weil dort "Cloud" steht, heißt das noch lange nicht, dass Sie nicht einen Server mit 100 oder 1000 Leuten teilen.
Ich denke nicht, dass Cache-Plugins an dieser Stelle notwendig sind. Wenn Sie sich den WP-Quellcode ansehen, gibt es bereits fortgeschrittenes Caching, das in den Kern eingebrannt ist. Ein Cache des Cache des Cache des Cache - aufgepasst, das kann kontraproduktiv sein.
Die Hauptsache, die Sie bremst, sind langsame MySQL-Abfragen, und sofort einsatzbereites WordPress sollte Ihnen hier keine Probleme bereiten. Allerdings musste ich meine Kommentarabfragen "BEGRENZEN", da ich mehr als 50.000 Kommentare hatte. (Ist das schon behoben?) Auch wenn Sie etwas Atypisches tun (wie 1000 Kategorien?), Könnte dies ebenfalls ein Problem sein.
Ich benutze eine Linode 512 mit NginX und "top" zeigt, wie PHP und NginX ihre Arbeit in weniger als einer Hundertstel Sekunde pro Anfrage erledigen. Fast die gesamte CPU-Zeit ist mit MySQL verbunden. Sie könnten 1 Million Seiten pro Monat mit einem Linode für 20 US-Dollar liefern, aber wenn Sie mit dem Hinzufügen von Plugins und Fotos beginnen, benötigen Sie wahrscheinlich einen Linode für 1 GB. Aus meiner Sicht ist es ziemlich linear: Wenn sich die Seitenaufrufe verdoppeln, verdoppeln Sie einfach die Größe Ihres Linodes.
Haftungsausschluss: Ich arbeite nicht für Linode.
Update (~ 2 Jahre später), da Sie Teile einer Seite mit PHP zwischenspeichern möchten, ist hier eine einfache Lösung, die ich verwende und die überraschend schnell ist. Innerhalb von 1/100 Sekunde werden mehrere separate Teile / Teile pro Seite zwischengespeichert. Scheint, als ob eine Ramdisk dies noch schneller machen könnte, aber es ist für meine Bedürfnisse ausreichend schnell:
quelle
Es gibt letztendlich drei Dinge, die WordPress im Maßstab verlangsamen und die sich auf diese reduzieren:
Sobald Sie das oben Gesagte eingerichtet haben, können Sie Caching hinzufügen - z. B. Lack, CDNs, Seiten-Caching usw.
Wenn Sie skalieren müssen, können Sie einen Cluster mit PerconaDB XtraDB für die Datenbank und Unison für die Dateien erstellen. Auf diese Weise können Sie einen Knoten als wp-admin und cron runner und die anderen Knoten, die den Webverkehr bedienen, hinter einem Load Balancer haben.
quelle