Was kann ich tun, außer ein Cache-Plugin wie jotcache zu verwenden, um die Serverantwortzeit meiner Website zu verbessern ?
Ich habe bereits alle inaktiven Artikelmodule, Plugins und Komponenten entfernt. Kann ich noch etwas tun, um sie zu verbessern?
Ich spreche von der Zeit, bevor der Client (Browser) eine Antwort auf seine Anfrage erhält . Und nicht die Zeit, zu der die Seite geladen wird.
php
cache
performance
server-response-time
hosting
Web-Tiki
quelle
quelle
Antworten:
Sie können mehrere Schritte ausführen, um die Leistung auf der Serverseite zu erhöhen. Beachten Sie, dass einige davon mit den meisten gemeinsam genutzten Hosts nicht funktionieren. Für eine gute Leistung ist normalerweise eine feinkörnigere Steuerung erforderlich.
Wie bei allen Optimierungen sollten Sie die Auswirkungen auf die Leistung Ihrer Website messen. Für grundlegende Optimierungen sind Tools wie PageSpeed und YSlow hilfreich (ich empfehle die Firefox-Versionen). Zum besseren Verständnis müssen Sie die tatsächlichen Reaktionszeiten Ihres Live-Systems über einen bestimmten Zeitraum messen.
PHP
Aktivieren Sie die Opcode-Zwischenspeicherung
Dies ist wahrscheinlich die größte Maßnahme, mit der Sie die Leistung Ihrer Website steigern können. Ich empfehle entweder OpCache oder APC . Die Konfiguration dieser Caches kann für eine noch höhere Leistung auf der Grundlage der spezifischen Anforderungen der Server und Standorte optimiert werden. Die einfache Installation ist jedoch bereits ein enormer Schub.
Aktualisieren Sie die PHP-Version
Neuere PHP-Versionen bringen regelmäßig Leistungsverbesserungen mit sich. Darüber hinaus gibt es eine Reihe von Fällen, in denen Joomla unter einer neueren PHP-Version besseren Code verwenden kann. Ab heute sollten Sie keine ältere PHP-Version als PHP 5.4 verwenden, wenn Sie Wert auf Leistung legen.
PHP-Einstellungen
Achten Sie bei älteren PHP-Versionen (<= 5.3) darauf, diese auszuschalten
register_globals
undmagic_quotes_gpc
für eine kostenlose Leistung zu gewinnen. Bei PHP> = 5.6always_populate_raw_post_data
zu -1 wechseln .PHP-Erweiterungen
Joomla enthält Code zur Umgehung fehlender PHP-Erweiterungen. Dies ist immer langsamer als diese Erweiterungen. Für eine ordentliche Leistung Verbesserung installieren Sie die folgenden Erweiterungen:
mbstring
,zip
,ftp
Webserver
Gzip aktivieren
Durch Aktivieren der serverseitigen Komprimierung wird Bandbreite gegen CPU-Ressourcen ausgetauscht. Für die meisten Sites da draußen ist dies der richtige Anruf. Achten Sie darauf, nur Textdaten zu komprimieren. Wenn Sie Binärdaten komprimieren, erhalten Sie den CPU-Treffer ohne die Bandbreitenvorteile. Sie können die Komprimierung auch in den Joomla-Einstellungen aktivieren. Es ist jedoch besser, wenn Sie dies dem Server überlassen.
Statische Ressourcen vorkomprimieren
Ich spreche nicht von Minfikation (obwohl dies auch hilft), aber Sie können Nginx und Apache so konfigurieren, dass bereits komprimierte Ressourcen auf dem Server gespeichert werden, wodurch der CPU-Hit durch die GZIP-Komprimierung effektiv beseitigt wird. Bonuspunkte: Verwenden Sie Zopfli für noch kleinere Dateien.
Verwenden Sie FastCGI für PHP
Insbesondere sollten Sie verwenden
php-fpm
. Dies verhindert das Starten von PHP, wenn der Browser eine Nicht-PHP-Datei anfordert.Verwenden Sie geeignete Cache-Header
Durch die Verwendung des
Expires
Headers können die erforderlichen Serverressourcen erheblich reduziert werden. Immerhin ist die schnellste Anfrage die, die noch nie gemacht wurde.Apache
Im Allgemeinen würde ich empfehlen, Nginx für Websites mit hoher Leistung zu verwenden. Wenn Sie Apache aus irgendeinem Grund unbedingt verwenden müssen, habe ich einen Bonus-Tipp erhalten:
Deaktivieren Sie AllowOverride
Einstellung
AllowOverride
aufNone
verhindert viele Platten-E / A undJoomla
Verwenden Sie nicht den FTP-Modus
Ihre Benutzer, die die Site lesen, sind davon zwar nicht betroffen, einige Vorgänge wie die Installation von Erweiterungen werden jedoch verlangsamt.
Deaktivieren Sie nicht verwendete Erweiterungen
Dies gilt insbesondere für Plugins, von denen viele bei jeder Anfrage ausgeführt werden. Das Deaktivieren von Menüs und Komponenten ist hauptsächlich hilfreich, wenn Sie verfügbare Erweiterungen und Menütypen auflisten. Nehmen Sie sich auch 5 Minuten Zeit, um die Erweiterungen zu durchlaufen, die mit dem Joomla-Core geliefert werden, und deaktivieren Sie diejenigen, die Sie nicht verwenden.
Deaktivieren Sie Inhalte vorbereiten
Wenn Sie viele benutzerdefinierte Module verwenden (
mod_custom
nicht benutzerdefiniert wie in selbst geschrieben), überprüfen Sie, ob Sie in diesen die Option Inhalte vorbereiten deaktivieren können. Dies spart einige Verarbeitungsschritte.Caching verwenden
Wenn Sie die Leistung ernst nehmen, sollten Sie das Caching aktivieren. Besonders nützlich für das Lesen schwerer Websites mit vielen anonymen Benutzern. Angemeldete Benutzer umgehen den größten Teil des Caches. Wenn Sie viele davon haben, ist der Effekt nicht so groß.
Verwenden Sie einen alternativen Sitzungshandler
Mit einem alternativen Sitzungshandler können Sie Ihre Datenbank für wichtigere Dinge freigeben. Ich würde die Datei (in den Joomla-Einstellungen verwirrenderweise "Keine" genannt) nicht empfehlen, da dies die Festplatten-E / A erneut erhöht. Die Verwendung von APC ist möglicherweise das Schnellste, erhöht jedoch das Risiko, dass alle Sitzungsdaten verloren gehen. Der rechte Mittelweg ist Memcache. Dies erfordert zwar einen zusätzlichen Prozess, ist jedoch zuverlässiger als APC und viel schneller als das Speichern aller Daten in der Datenbank
Halten Sie Ihre Website einfach
Benötigen Sie diesen Facebook-Button wirklich? Was ist mit dieser süßen Ikone, die niemand sieht, weil sie teilweise hinter einem Banner versteckt ist? Je weniger Ihre Website angezeigt wird, desto schneller ist sie. Verwenden Sie nach Möglichkeit auch CSS3 anstelle von Bildern.
Sonstiges
Setze ein Favicon
Dank einer Entscheidung, die auf Internet Explorer 4.0- Browser zurückgeht, wird eine Anforderung an eine Datei
favicon.ico
gesendet, die aufgerufen wird, wenn ein Benutzer Ihre Website besucht. Wenn Sie keine haben, führt dies zu unnötigen E / A-Vorgängen, da 404-Antworten nicht zwischengespeichert werden. Geben Sie entweder das Symbol Ihrer Site mit einem HTML-Meta-Tag an oder fügen Sie eine Datei hinzu, die im Webstamm aufgerufen wirdfavicon.ico
. Möchtest du kein Favicon? Platzieren Sie an dieser Stelle ein transparentes PNG mit einer Größe von 1x1 Pixel. Beachten Sie, dass die Erweiterung noch vorhanden sein muss.ico
.Optimieren Sie Ihre Bilder
Es ist erstaunlich, welche Einsparungen durch die Optimierung von Bildern erzielt werden können, insbesondere von PNG-Dateien. Es gibt eine Vielzahl von Tools für jedes Betriebssystem. Ich persönlich verwende ImageOptim, das für OS X verfügbar ist. Die Kernimages von Joomla sind bereits optimiert, gehen aber Ihre eigenen Images durch, insbesondere Vorlagen sind wichtig. Sie können auch die von Ihnen verwendeten Erweiterungen überprüfen. Wenn es sich um Open Source handelt, warum tragen Sie keine Pull-Anfrage mit neu optimierten Bildern bei?
Der Fortgeschrittene
Wenn Sie wirklich alles geben wollen, sollten Sie in Betracht ziehen, den Lack vor Ihre Website zu stellen. Es speichert Anfragen auf Ihrer Site zwischen und bedient sie, wenn möglich, aus dem eigenen Cache, ohne Joomla zu treffen. Es ist ein komplexes Werkzeug, aber mit viel Kraft. Joomla wird erweiterte Funktionen wie Edge Side Includes (ESI) nicht nutzen, aber Ihren eigenen Code.
quelle
Eine GROSSE Sache, die Sie tun können, um die Antwortzeiten für Ihre Site zu verbessern, ist die Aktualisierung Ihrer Moduleinstellungen. Benutzerdefinierte Module (mit mod_custom) haben eine Option zum Aktivieren / Deaktivieren der Inhaltsvorbereitung. Auf diese Weise können Sie Inhalts-Plugins für den Dateninhalt in Ihrem benutzerdefinierten Modul ausführen. Es ist bei richtiger Verwendung leistungsstark, verlängert jedoch die Renderzeit der Modulausgabe. Wenn Sie nicht tatsächlich ein Inhalts-Plugin in Ihrem benutzerdefinierten Modulinhalt verwenden, ist es am besten, dieses zu deaktivieren. Wenn Sie dies tun, wird die Renderzeit des Moduls verkürzt.
Screenshot der Einstellung:
quelle
Ich gehe davon aus, dass Sie Ihre Website mit Google Page Speed betrieben haben und in der Tat versuchen, die Antwortzeit der Seite zu verkürzen, dh die Zeit, die Ihr Markup benötigt, um an den Browser gesendet zu werden.
Die wahrscheinlichsten Schuldigen hierfür sind schwere Anfragen. Schalten Sie das Debugging ein und sehen Sie sich den unteren Rand der Seite an, um herauszufinden, welche Abfragen am umfangreichsten sind, und entfernen oder reduzieren Sie sie. Sie können auch die langsamen Abfrageprotokolle Ihres MySQL-Servers verwenden.
Das nächste, was Sie sich ansehen können, ist das Zwischenspeichern. Abhängig von der Art der Site können Sie das konservative oder progressive Caching aktivieren. Progressive soll auf Websites verwendet werden, die keine benutzerbezogenen Funktionen haben.
quelle
Die Dinge, von denen ich weiß, dass sie helfen können (von denen die meisten aufgelistet wurden), sind folgende:
Ich habe eine Kombination aus dem eingebauten Joomla-Cache (oder sogar APC-fähig auf dem Server) und Plugins wie dem Rockbooster-Plugin von gzip oder dem Raketenthema verwendet. Ich benutze auch ein CDN-Plugin für Nicht-Nummern mit einem Amazon-Konto.
Es hilft auf jeden Fall, aber Sie müssen Ihre Site beobachten und den Cache für Komponenten deaktivieren, bei denen Probleme auftreten. Ich musste CiviCRM auf unserer Seite umgehen, weil es nicht gut mit Caching zu tun hatte. Joomla wird mit einem Cachecontrol-Plugin ausgeliefert, das damit umgehen kann.
quelle
Sie sollten sich auch mit der Reduzierung lokaler Ressourcen und dem richtigen Zwischenspeichern befassen. Eine Sache, die Sie tun können, ist die Verwendung von CDN-Plugins. Hier sind zwei, die ich empfehlen würde:
'corePHP' jomCDN - https://www.corephp.com/joomla-products/jomcdn
NoNumbers CDN Für Joomla! - http://www.nonumber.nl/extensions/cdnforjoomla
Auch wenn keines der oben genannten Probleme zu lösen scheint, liegt möglicherweise ein tieferes Problem vor - möglicherweise in Ihrer Vorlage, auf dem Server selbst oder in anderen Dingen. In diesem Fall ist es möglicherweise am besten, jemanden einzustellen, der das Problem sucht und es für Sie löst.
quelle
Sie können diesen Code auch in Ihrer .htaccess-Datei verwenden:
quelle
Ich habe mehr als Hunderte von Websites mit Joomla!
In den meisten Fällen denken die Leute, dass Joomla stark auf dem Server arbeitet, aber den von mir durchgeführten Analysen zufolge ist es das Wichtigste, Ihre Website SCHNELL zu halten, die BILDER und JS / CSS zu OPTIMIEREN.
Verwenden Sie keine Joomla-Editoren wie JCE, um nur die Größe des Bildes zu ändern. Verwenden Sie Bildeditoren wie Photoshop oder einen anderen Editor, um Ihre Bilder auf die gewünschte Größe zu bringen!
Verwenden Sie JS / CSS-Komprimierungswerkzeuge.
Wir verwenden immer Pingdom Tools, um die Geschwindigkeit der Website zu analysieren, und wir verwenden die integrierte Funktion von T3 Framework, um JS / CSS zu optimieren!
quelle
Haben Sie nicht verwendete Plugins entfernt? Joomla muss jedes veröffentlichte Plugin für Ereignisse laden und verarbeiten, die in einer Anfrage ausgelöst werden.
Sie müssen wissen, welche Erweiterungen Sie installiert haben und wie sie mit Joomla! Interagieren.
Viele Erweiterungen installieren Plugins, die Inhalte, System- oder Benutzeraktivitäten verwalten, um Codefunktionen zu initiieren. Einige von ihnen können überflüssig sein.
Ich weiß, dass k2 viele Plugins installiert, die auf sprachbezogene Ereignisse reagieren und für Websites in einer Sprache keine echte Ausgabe liefern. Das Aufheben der Veröffentlichung dieser Plugins kann die Verarbeitungszeit verkürzen.
quelle
Verbessern Sie die Ressourcen des Server- / Webhosting-Plans
Vielleicht nicht die Antwort, nach der das OP gesucht hat, aber erwähnenswert, falls es nicht für alle offensichtlich ist (und noch keine anderen Antworten haben dies erwähnt): Verbessern Sie die Serverressourcen wie Speicher, CPU und Festplattengeschwindigkeit.
Wenn Sie gemeinsames Webhosting verwenden, kann das Upgrade vom "Economy" -Plan auf den "Business" -Plan oder einen anderen erweiterten Plan die für Ihre Website verfügbaren Serverressourcen verbessern und die Serverantwortzeit verkürzen. Ein Wechsel zu einem qualitativ besseren Hosting-Unternehmen (z. B. mit weniger überfüllten gemeinsam genutzten Webhosting-Servern) könnte ebenfalls hilfreich sein.
Ein besserer Hosting-Plan bietet Ihnen möglicherweise auch Zugriff auf Leistungsverbesserungen, die nicht im grundlegenden Hosting-Plan enthalten sind. Zum Beispiel enthalten die SiteGround-Hosting-Pläne "GrowBig" und "GoGeek" einen dynamischen Cache, mit dessen Hilfe die Serverantwortzeit erheblich verkürzt wird. Die dynamische Cache-Option ist im "Startup" -Plan nicht verfügbar.
quelle