Rumah >Peranti teknologi >industri IT >7 Cara Mudah untuk Membuat Laman Web Magento 2 Lebih Cepat
1. Varnis adalah pelayan proksi HTTP yang cache kandungan dan memasangnya di hadapan pelayan web untuk meningkatkan prestasi laman web dengan ketara. Magento 2 mempunyai sokongan terbina dalam varnis. Kaedah pengaktifan adalah seperti berikut:
Masukkan Panel Admin & GT;
memperluaskan tab Konfigurasi Varnis dan mengeksport fail VCL.
bercakap fail ini ke pentadbir sistem anda atau pasukan sokongan tuan rumah untuk konfigurasi daemon varnis.
Anda boleh mengeksport senarai halaman popular dari Google Analytics.
3.Memindahkan kod JavaScript ke bahagian bawah halaman dapat meningkatkan kelajuan lukisan kandungan pada skrin pertama. Magento 2.4 menyediakan tetapan pengurusan yang sepadan, atau gunakan baris arahan:
<code class="language-php">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; }</code>
4.
Imej WEBP mengambil ruang cakera kurang daripada JPEG dan PNG. Menukar imej laman web ke format Webp dapat mengurangkan saiz halaman dan meningkatkan prestasi. Anda boleh menggunakan alat baris untuk menukar:
(
kualiti tetapan parameter, di sini ialah 80). Magento 2 juga mempunyai beberapa modul yang boleh melaksanakan transformasi ini.<code class="language-bash">php bin/magento config:set dev/js/move_script_to_bottom 1 php bin/magento cache:flush</code>
5 Mampatan HTML membantu mengurangkan saiz halaman dan mempercepatkan. Magento 2.4 memampatkan HTML tanpa modul tambahan. Dayakan Kaedah:
cwebp
<code class="language-bash">cwebp -q 80 image.png image.webp</code>memampatkan dan menggabungkan fail JS dan CSS membantu mengurangkan saiz halaman dan mengurangkan permintaan HTTP, dengan itu mempercepatkan laman web anda. Dayakan Kaedah:
-q
7.
Magento 2.4 Gunakan Enjin Elasticsearch untuk Pengindeksan dan Pengurusan Direktori. Untuk direktori besar, hasil pertanyaan cache dapat meningkatkan prestasi Elasticsearch. Buka fail vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php
dan tambahkan kod berikut berhampiran kira -kira 365 baris:
<code class="language-php">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; }</code>
Ini akan membolehkan mekanisme caching pertanyaan dalaman Elasticsearch.
Ringkasan
Artikel ini memperkenalkan tujuh cara untuk meningkatkan kelajuan laman web Magento 2: Menggunakan varnis sebagai cache halaman penuh, menubuhkan alat pemanasan cache, pemuatan malas JavaScript, menukar semua imej ke Webp, membolehkan pemampatan HTML, memampatkan dan menggabungkan Fail JS dan CSS dan hasil pertanyaan Cache Elasticsearch. Langkah -langkah ini akan meningkatkan masa tindak balas pelayan dan metrik rangkaian teras.
Atas ialah kandungan terperinci 7 Cara Mudah untuk Membuat Laman Web Magento 2 Lebih Cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!