Magento 2 E-Commerce-Plattform wurde wegen ihrer Geschwindigkeitsprobleme kritisiert, wobei langsame Produktkatalogseiten und langsamer Checkout-Prozess häufig Probleme sind. Dieser Artikel wird sieben praktische Tipps teilen, um die Laufgeschwindigkeit des Magento 2 Online -Shops zu verbessern.
1. Varnish ist ein HTTP -Proxy -Server, der den Inhalt zwischengewertet und vor einem Webserver installiert, um die Leistung der Website erheblich zu verbessern. Magento 2 hat eingebaute Unterstützung für Lack. Die Aktivierungsmethode lautet wie folgt:
2.
Magento 2 verwendet den vollständigen Seitencache (FPC), um die Reaktionszeit des Servers zu verkürzen. Die erste Anforderung von FPC ist jedoch normalerweise langsamer. Ein Cache-Warm-up-Tool (Skript oder Erweiterung) kann diese Anforderungen im Voraus stellen, wodurch der Cache-Speicher ausgestattet und damit die erste Byte-Zeit (TTFB) verkürzt wird. Sie können das Magento 2 -Modul (bezahlt oder kostenlos) als Cache -Vorheizwerkzeug installieren oder ein einfaches PHP -Skript erstellen, das alle Kategorien und beliebtesten Seiten erwärmt:
Sie können eine Liste beliebter Seiten von Google Analytics exportieren.
ini_set('memory_limit','12000M'); use Magento\Framework\App\Bootstrap; require __DIR__.'/app/bootstrap.php'; $params = $_SERVER; $bootstrap = Bootstrap::create(BP,$params); $obj = $bootstrap->getObjectManager(); $state = $obj->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); $categories = $obj->create('Magento\Catalog\Model\ResourceModel\Category\Collection'); $categories->addIsActiveFilter() ->joinUrlRewrite(); foreach($categories as $cat){ $st = microtime(true); $dd = file_get_contents_ssl($cat->getUrl()); $fn = microtime(true); if(($fn - $st) > 0.9) echo $cat->getUrl()." : time: ".($fn - $st)."\n"; sleep(3); } $open = fopen("1000-popular-pages.csv","r"); while(($data = fgetcsv($open,4000,",")) !== FALSE){ if(filter_var($data[0],FILTER_VALIDATE_URL) !== FALSE && strpos($data[0],".pdf") === FALSE && strpos($data[0],"/blog/") === FALSE){ $st = microtime(true); $dd = file_get_contents_ssl($data[0]); $fn = microtime(true); if(($fn - $st) > 0.9) echo $data[0]." : time: ".($fn - $st)."\n"; sleep(3); } } fclose($open); function file_get_contents_ssl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3000); curl_setopt($ch, CURLOPT_TIMEOUT, 10000); $result = curl_exec($ch); if($result === FALSE) $result = curl_error($ch); curl_close($ch); return $result; }
JavaScript -Code des Verschiebenes nach unten auf der Seite kann die Geschwindigkeit des Zeichnens des Inhalts im ersten Bildschirm verbessern. Magento 2.4 bietet entsprechende Verwaltungseinstellungen oder verwenden Sie die Befehlszeile:
4.
Webp -Bilder nehmen weniger Speicherplatz als JPEG und PNG ein. Das Konvertieren von Website -Bildern in das WebP -Format kann die Seitengröße reduzieren und die Leistung verbessern. Sie können das Befehlszeilenwerkzeugverwenden, um sich umzuwandeln:
php bin/magento config:set dev/js/move_script_to_bottom 1 php bin/magento cache:flush
( Parametereinstellungsqualität, hier ist 80). Magento 2 hat auch einige Module, die diese Transformation implementieren können.
5
cwebp
HTML -Komprimierung reduziert die Seitengröße und beschleunigt. Magento 2.4 Kompress HTML ohne zusätzliche Module. Methode aktivieren:
cwebp -q 80 image.png image.webp
-q
6.
7.
Magento 2.4 Verwenden Sie die Elasticsearch -Engine zur Indexierung und Verzeichnisverwaltung. Für große Verzeichnisse können die Ergebnisse von Cache -Abfragen die Elasticsearch -Leistung verbessern. Öffnen Sie die Datei vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php
und fügen Sie den folgenden Code in der Nähe von etwa 365 Zeilen hinzu:
ini_set('memory_limit','12000M'); use Magento\Framework\App\Bootstrap; require __DIR__.'/app/bootstrap.php'; $params = $_SERVER; $bootstrap = Bootstrap::create(BP,$params); $obj = $bootstrap->getObjectManager(); $state = $obj->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); $categories = $obj->create('Magento\Catalog\Model\ResourceModel\Category\Collection'); $categories->addIsActiveFilter() ->joinUrlRewrite(); foreach($categories as $cat){ $st = microtime(true); $dd = file_get_contents_ssl($cat->getUrl()); $fn = microtime(true); if(($fn - $st) > 0.9) echo $cat->getUrl()." : time: ".($fn - $st)."\n"; sleep(3); } $open = fopen("1000-popular-pages.csv","r"); while(($data = fgetcsv($open,4000,",")) !== FALSE){ if(filter_var($data[0],FILTER_VALIDATE_URL) !== FALSE && strpos($data[0],".pdf") === FALSE && strpos($data[0],"/blog/") === FALSE){ $st = microtime(true); $dd = file_get_contents_ssl($data[0]); $fn = microtime(true); if(($fn - $st) > 0.9) echo $data[0]." : time: ".($fn - $st)."\n"; sleep(3); } } fclose($open); function file_get_contents_ssl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3000); curl_setopt($ch, CURLOPT_TIMEOUT, 10000); $result = curl_exec($ch); if($result === FALSE) $result = curl_error($ch); curl_close($ch); return $result; }
Dies ermöglicht den internen Abfragemechanismus der Elasticsearch.
Zusammenfassung
In diesem Artikel werden sieben Möglichkeiten zur Verbesserung der Geschwindigkeit von Magento 2-Websites eingeführt: Verwendung von Lack als ganzseitigem Cache, Einrichten von Cache-Vorheizen-Tool, fauler Laden von JavaScript, Konvertieren aller Bilder in WebP, das Aktivieren von HTML-Komprimierung, Komprimierung und Verschmelzung JS- und CSS -Dateien und Cache Elasticsearch -Abfrageergebnisse. Diese Schritte verbessern die Server -Reaktionszeit und die Kernnetzwerkmetriken.
Das obige ist der detaillierte Inhalt von7 einfache Möglichkeiten, eine Magento 2 -Website schneller zu machen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!