Frage Verwirrt über Caching-Lösung: MemCache, Varnished, mod_cache, sonst?


Ich habe eine sehr schwere Seite in meinem Server. Die Last des Servers ist immer ungefähr 30-50 und manchmal wird es sogar 150 und Server arbeiten wirklich hart. Ich bin auf der Suche nach einer Caching-Lösung, die die Leistung des Servers erhöhen und die Serverlast verringern kann.

Aber ich weiß nicht, welche Caching-Lösung ich verwenden soll? Übrigens benutze ich Drupal CMS und ich habe WHM / CPanel

Hier sind Optionen, die ich gefunden habe: 1- Memcached 2-Lack 3- Apache mod_cache

Kann mir bitte jemand einen Vergleich oder eine Anleitung zu diesen Plattformen geben? Funktioniert mod_cache von Apache so gut wie Varnish? Weil das Installieren und Konfigurieren von Varnish in cPanel / WHM nicht kompliziert ist. Obwohl ich sehr gute Kritiken über Varnish gelesen habe.

Ich suche nach der besten Cache-Lösung, die unkompliziert und unkompliziert konfiguriert werden kann. Ich würde mich über jede Hilfe oder jeden Kommentar freuen.


4
2017-09-23 00:12


Ursprung




Antworten:


Hier sind die Optionen, die ich gefunden habe: 1- Memcached 2- Varnish 3- Apache   mod_cache

Vorbehalte: Wissen Sie, warum Ihre Ladung so hoch ist? Wenn die Last verursacht wird durch hohe CPU-Last erforderlich, um dynamische Inhalte zu generieren, und Sie sind in der Lage, diesen Inhalt aus einem Cache zu liefern, als eine Caching-Lösung dir helfen. Aber wenn die Last durch E / A-Konflikte verursacht wird, oder wenn Sie es sind personalisierten Content bereitstellen, der nicht durch Caching geändert werden kann, dann a Caching-Lösung kann nicht viel helfen.

Im Allgemeinen wird ein Cache einen großen Teil des Speichers benötigen, um zu sein Wirksam. Wenn Ihr System bereits über Speicherbeschränkungen verfügt, dann setzen Sie Caching-Software könnte Ihr Problem möglicherweise verschärfen.

  • Memcached

    Memcached selbst wird dir nicht helfen. Anders als Varnish und Apache mod_cache, Memcached ist nicht etwas, das Sie einfach stehen können vor einer bestehenden Anwendung.

    Memcached ist ein sehr schneller Schlüssel / Wert-Datenspeicher, der von verwendet werden kann Anwendungen zur Beschleunigung einer Vielzahl von Operationen. Ein allgemeines Beispiel ist eine Datenbank, die Datenbankabfragen machen muss: wenn es in Ordnung ist Cache die Ergebnisse für eine gewisse Zeit, die Ergebnisse können serviert werden viel schneller durch Memcached als durch die Backend-Datenbank.

    Wenn Sie Serverlast ist weitgehend das Ergebnis von benutzerdefinierten Code, dann Wenn Sie Ihren Code ändern, um Memcached zu nutzen, können Sie a wesentlicher Vorteil.

  • Varnish und Apache mod_cache

    Beide können verwendet werden, um die Lieferung von dynamischen zu beschleunigen Inhalt.

    Von den beiden ist Varnish ein spezialisiertes Werkzeug nur Als ein Inhaltsbeschleuniger. Es macht nur eine Sache, aber nach Reputation tut es sehr gut. Die Konfigurationssprache ist eine C-Teilmenge, die wird kompiliert und in den laufenden Varnish-Prozess geladen; diese ist nicht gut oder schlecht, aber ich bevorzuge mehr deklarative Sprachen.

    Apache mod_cache kann auch als Inhaltsbeschleuniger verwendet werden. Dort haben zwei Vorteile gegenüber mod_cache:

    • Wenn Sie bereits Apache ausführen, werden Sie mit der. Vertraut sein Konfiguration, die von mod_cache verwendet wird.
    • Sie können mod_cache mit anderen Apache-Modulen kombinieren (z. B. mod_rewrite und mod_header) um ein sehr flexibles zu erstellen Aufbau.

    Auf der anderen Seite ist Ihre Leistung möglicherweise nicht so gut von Varnish zur Verfügung gestellt. Ich habe eigentlich keine Zahlen, um das zu untermauern oben, aber sie sind wahrscheinlich da draußen (suchen Sie nach ihnen - nehmen Sie nicht meine Wort dafür!).

    Beide Produkte funktionieren am besten, wenn Sie Ihre Back-End-Anwendung darauf abstimmen Cache-freundliche Inhalte bereitstellen. Dies bedeutet entsprechendes Caching Header, keine Cookies auf cachefähigen Inhalten, entsprechendes maximales Alter oder Verfallsheader usw.

Stellen Sie sicher, dass Sie Ihr Problem zuerst verstehen: herausfinden, was verursacht die hohe Belastung. Dann versuchen Sie eine oder mehrere dieser Lösungen und sehen Sie was das passiert.


10
2017-09-23 00:49



Vielen Dank für die ausführliche Antwort und die tollen Informationen, die Sie zur Verfügung gestellt haben. - bman
Im speziellen Fall von Drupal jedoch, Memcache selbst werden Hilfe. Aktivieren Sie einfach die Memcache Modul, und Drupal kann es als Drop-In-Lösung verwenden. - user50849