شرح تحسين أداء Magento

نشرت: 2022-03-11

أداء الماجنتو له أهمية قصوى. سرعة التحميل لها تأثير مباشر وقابل للقياس على معدل تحويل موقع الويب الخاص بك ، وبالتالي فإن تثبيت Magento المحسن أمر بالغ الأهمية لنجاح متجر Magento الخاص بك وربما حتى عملك بشكل عام.

سأقدم في هذه المقالة بعض الطرق التي يمكن لمطوري Magento من خلالها تحسين تثبيت Magento 2 ، وشرح كيفية القيام بما يلي:

  • تحقق من وحدات الطرف الثالث وابحث عن الاختناقات
  • تفعيل ذاكرة التخزين المؤقت بملء الصفحة
  • الورنيش ، وليس ملفات لذاكرة التخزين المؤقت لصفحة كاملة
  • تأكد من عمل ذاكرة التخزين المؤقت للصفحة الكاملة ، ويمكن كسرها بسهولة
  • تفعيل وضع الإنتاج
  • تصغير CSS / JS
  • تمكين الجداول المسطحة
  • احصل على أسرع استضافة يمكنك تحمل تكلفتها
  • تحسين الصور
  • المفهرسات لـ "التحديث حسب الجدول الزمني"
  • ضغط GZIP
  • استخدم Elasticsearch على صفحات الكتالوج والبحث.
  • تحقق من عدم وجود مكالمات Ajax غير الضرورية مرة أخرى إلى الخادم بعد تحميل الصفحة (يمكن أن يتسبب في تأمين الجلسة)
  • Redis لذاكرة التخزين المؤقت للصفحة وتخزين الجلسة

تحقق من وحدات الطرف الثالث وابحث عن الاختناقات

هناك العديد من وحدات Magento التابعة لجهات خارجية بها تعليمات برمجية سيئة ، أو تستخدم طرقًا مهملة ، أو تواجه مشكلات في التوافق مع أحدث إصدار مستقر من Magento. أفضل طريقة لتحديد الطلبات الثقيلة هي استخدام ملف التعريف. يساعدك ذلك في تحديد عدد استعلامات MySQL لديك على الصفحة وعددها المتطابق. مع العلم بذلك ، يمكنك دمج هذه الاستعلامات في واحد ، وبالتالي تسريع Magento.

أحد الأشياء الرئيسية التي يرتكبها المطورون المبتدئون بشكل خاطئ في Magento هو تحميل النماذج داخل الحلقات. حاول تجنب ذلك بقدر ما تستطيع. قم بتحميل المجموعة بأكملها بكل ما تحتاجه ثم قم بتكرارها. ضع في اعتبارك دائمًا تعقيد الوقت والمكان وقم ببناء الخوارزمية الخاصة بك بطريقة محسّنة.

مخطط أداء Magento

انظر كيف يتم تحميل التخطيط الخاص بك وما هي كتل القوالب التي تعمل بشكل أبطأ ، ثم انظر إلى هذا الرمز. انظر إلى مقاييس Model CRUD حيث يمكنك العثور على بيانات ثاقبة مثل تحميل المكالمات إلى الحلقات.

Magento ذاكرة تخزين مؤقت بملء الصفحة

عندما يقوم المستخدم بالوصول إلى متجرك ، يتم تقديم طلب إلى الخادم. تتم معالجة هذا الطلب من خلال PHP لإجراء عمليات واستعلامات قاعدة بيانات محددة ثم إعادة HTML المقابل لعرضه على المستخدم. تخزن ذاكرة التخزين المؤقت بملء الصفحة استجابة HTML هذه ، بحيث يقوم الطلب المماثل التالي بإرجاعها مباشرة متخطيًا جميع استعلامات المعالجة وقاعدة البيانات. هذا يجعل استجابة الموقع أسرع بكثير.

يمكن أن يؤدي استخدام ذاكرة التخزين المؤقت للصفحة الكاملة كجزء من جهود تحسين Magento إلى زيادة سرعة موقع الويب بشكل كبير. سيؤدي هذا إلى إنشاء نسخ مخبأة لصفحاتك وسيسلمها إلى المستخدم بدلاً من تشغيل جميع الاستعلامات لكل طلب. بالطبع ، لا يتم تخزين جميع الصفحات في ذاكرة التخزين المؤقت. على سبيل المثال ، لن يتم تخزين صفحة سلة التسوق مؤقتًا ، وإلا سيرى جميع المستخدمين أول نسخة مخبأة من الصفحة. هذه صفحات ديناميكية أو أقسام من الصفحات خاصة بالمستخدم والجلسة.

لتمكين ذاكرة التخزين المؤقت للصفحة الكاملة لـ Magento ، يمكنك تشغيل أمر CLI التالي:

php bin/magento cache:enable full_page

لتمكين أنواع ذاكرة التخزين المؤقت ، يمكنك تشغيل أمر CLI:

php bin/magento cache:enable

يمكنك أيضًا القيام بذلك من Magento Admin عن طريق تسجيل الدخول كمسؤول:

  1. انتقل إلى النظام > الأدوات > إدارة ذاكرة التخزين المؤقت
  2. حدد نوع ذاكرة التخزين المؤقت الذي تريد تنشيطه
  3. في القائمة المنسدلة الإجراءات ، حدد تمكين وانقر فوق إرسال

لقطة شاشة تحسين أداء Magento

استخدم الورنيش لذاكرة التخزين المؤقت كاملة الصفحة

عند تمكين ذاكرة التخزين المؤقت للصفحة الكاملة ، استخدم الورنيش للتعامل معها ، وليس الملفات. توصي Magento بشدة باستخدام الورنيش (أو Redis) في الإنتاج. يعد التخزين المؤقت المتكامل للصفحة الكاملة (إما لنظام الملفات أو قاعدة البيانات) أبطأ بكثير من Varnish ، وقد تم تصميم Varnish لتسريع حركة مرور HTTP.

يمكنك العثور على دليل كامل حول كيفية تثبيت وتكوين الورنيش في وثائق Magento 2 الرسمية.

لتكوين Magento لاستخدام Varnish ، قم بتسجيل الدخول إلى Magento Admin كمسؤول:

  1. انتقل إلى المتاجر > التكوين > خيارات متقدمة > النظام > ذاكرة التخزين المؤقت للصفحة الكاملة
  2. من قائمة تطبيقات التخزين المؤقت ، انقر فوق Varnish Caching
  3. أدخل قيمة في حقل TTL للمحتوى العام
  4. قم بتوسيع تكوين الورنيش وأدخل المعلومات المحددة حول تكوين الورنيش الخاص بك

تحسين أداء Magento لقطة شاشة لذاكرة التخزين المؤقت بملء الصفحة

تأكد من عمل ذاكرة التخزين المؤقت بملء الصفحة: من السهل كسرها

يمكن كسر ذاكرة التخزين المؤقت ذات الصفحة الكاملة بسهولة في Magento 2. على سبيل المثال ، إذا كنت تريد استبعاد كتلة من ذاكرة التخزين المؤقت ، فلا تستخدم السمة cacheable="false" في تخطيط XML عند إعلان الكتلة الخاصة بك. سيؤدي هذا إلى تعطيل ذاكرة التخزين المؤقت للصفحة بأكملها التي تحتوي على هذا الحظر ، وليس لتلك الكتلة فقط. هذا خطأ رأيته يرتكبه الناس.

ابحث عن سمة cacheable="false" في تخطيطاتك واطلع على الكتل التي تم تعيينها والصفحات التي يتم استدعاء هذه الكتل فيها. وبالتالي ، يمكنك تحديد ما إذا كانت الصفحات التافهة بها مشاكل في ذاكرة التخزين المؤقت.

يمكنك أيضًا اختبار ما إذا كان يتم تخزين صفحتك يدويًا في ذاكرة التخزين المؤقت أم لا. ضع المتجر في وضع المطور في بيئتك المحلية أو المرحلة:

  1. مسح ذاكرة التخزين المؤقت Magento
  2. قم بتحميل الصفحة في المتصفح
  3. افحص رؤوس الصفحات في علامة تبويب الشبكة لتصحيح أخطاء المستعرضات.
  4. ابحث عن X-Magento-Cache-Debug: MISS
  5. قم بتحديث الصفحة ، يجب أن تتغير إلى HIT

إذا لم يتغير إلى HIT ، فهذا يعني أن الصفحة لم يتم تخزينها مؤقتًا وأن ذاكرة التخزين المؤقت لا تعمل.

لا تنسى تفعيل وضع الإنتاج

يحتوي Magento على ثلاثة أوضاع تشغيل ، الوضع الافتراضي ، وضع المطور ، ووضع الإنتاج .

وضع الإنتاج مخصص للنشر على نظام الإنتاج. يخفي هذا الوضع الاستثناءات ، ويخدم الملفات الثابتة من ذاكرة التخزين المؤقت فقط ولا يسمح لك بتمكين أو تعطيل أنواع ذاكرة التخزين المؤقت في Magento Admin. كما أنه يمنع التجميع التلقائي لملف التعليمات البرمجية.

أثناء العمل في المتجر وتطويره ، يكون وضع المطور نشطًا. لا تنس التبديل إلى وضع الإنتاج عند نشر موقعك على الخادم المباشر!

أمر CLI لمعرفة الوضع الحالي هو:

php bin/magento deploy:mode:show

أمر CLI للتبديل إلى وضع الإنتاج هو:

php bin/magento deploy:mode:set production

أمر CLI للتبديل إلى وضع المطور هو:

php bin/magento deploy:mode:set developer

يمكنك العثور على مزيد من المعلومات التفصيلية حول أوضاع Magento المختلفة هنا.

تصغير CSS / JS

يعد تصغير ملفات CSS و JS عنصرًا مهمًا في تحسين سرعة Magento 2. من خلال تصغيرها ، نزيل جميع المسافات وعلامات التبويب والأسطر الجديدة في الملفات. ستحتوي الملفات الناتجة على عدد أقل من الأحرف وبالتالي حجم أصغر ، لذلك سيتم تنزيلها بشكل أسرع.

يحتوي Magento على هذه الميزة مضمنة ويمكنك تمكين تصغير CSS / JS في المسؤول. لتمكين تصغير JavaScript ، اتبع الخطوات التالية:

  1. ضع Magento في وضع الإنتاج
  2. انتقل إلى المتاجر > التكوين > متقدم > المطور
  3. اضبط خيار Minify Javascript Files على Yes
  4. حفظ التكوين
  5. مسح ذاكرة التخزين المؤقت في النظام > صفحة إدارة ذاكرة التخزين المؤقت

لقطة شاشة لوضع إنتاج Magento

لتمكين تصغير CSS ، يجب اتباع الخطوات التالية:

  1. ضع Magento في وضع الإنتاج
  2. انتقل إلى المتاجر > التكوين > متقدم > المطور > إعدادات CSS
  3. اضبط خيار Minify CSS Files على Yes
  4. حفظ التكوين
  5. مسح ذاكرة التخزين المؤقت في النظام > صفحة إدارة ذاكرة التخزين المؤقت

لقطة شاشة تصغير Magento CSS

ملاحظة: لا تدمج ملفات JS - فقط قم بتصغيرها .

تمكين الجداول المسطحة

يستخدم Magento نموذج EAV (قيمة سمة الكيان) الذي يخزن سمات كياناته في جداول متعددة اعتمادًا على نوع قيمتها. يعد استخدام جداول متعددة وعمليات الصلات والطلبات في جداول متعددة أمرًا ضروريًا لاسترداد البيانات ، مما قد يؤدي إلى إبطاء الاستعلامات.

لدى Magento خيار استخدام الطاولات المسطحة للكتالوج والمنتجات. يتم إنشاء الجداول المسطحة بدمج جميع سمات الكيان في جدول واحد. عند طلب البيانات ، نحتاج إلى الاستعلام عن جدول واحد ، مما يجعله أسرع بكثير.

تقوم Magento بإنشاء وتحديث الجداول المسطحة في كل فهرسة. يمكنك تمكين الجداول الثابتة عن طريق تسجيل الدخول إلى Magento Admin كمسؤول:

  1. انتقل إلى المتاجر > التكوين > الكتالوج > الكتالوج > واجهة المتجر
  2. حدد نعم لاستخدام فئة كتالوج مسطحة
  3. حدد نعم لاستخدام منتج كتالوج مسطح
  4. حفظ التكوين

ماجنتو لقطة شاشة طاولات مسطحة

اختر Fast Magento Hosting

تحقق من الحد الأدنى من متطلبات Magento ومعرفة ما إذا كان الخادم الخاص بك يفي بها. يمكنك الاطلاع على متطلبات حزمة التكنولوجيا Magento 2.2.x الرسمية هنا.

يعد تكوين الاستضافة مهمًا جدًا لأداء Magento 2. هناك أيضًا خدمات استضافة مخصصة لـ Magento ، على الرغم من أن هذه يمكن أن تتعلق بالتسويق أكثر من أي شيء آخر.

خلاصة القول: احصل على أسرع حل استضافة يمكنك تحمله ما لم يكن مبالغة في مشروعك.

تحسين صور Magento

من الواضح أن حجم صورك يؤثر على سرعة موقع الويب الخاص بك. على سبيل المثال ، إذا كانت لديك صفحة كتالوج تحتوي على 20 منتجًا وكان حجم كل صورة منتج 1 ميجا بايت ، فإن هذا يجعل إجمالي 20 ميجا بايت يتم تنزيلها عند تحميل الصفحة ، ومن الواضح أن هذا قد يمثل مشكلة في بعض السيناريوهات (الأجهزة المحمولة ، نطاق ترددي محدود في مناطق معينة وما إلى ذلك).

تحقق مما إذا تم تحسين صورك بشكل صحيح وما إذا كانت تحتوي على نسبة جيدة بين الجودة والحجم. تأكد أيضًا من عدم تغيير حجم صورك بواسطة CSS ولكن قم بتغيير حجم الملف المصدر إلى الحجم المحدد الذي تحتاجه.

هناك طريقة أخرى وهي استخدام التحميل البطيء ، مما يعني تحميل صورك بعد تحميل الصفحة بالكامل ، أو أثناء قيام المستخدم بالتمرير خلال الكتالوج.

يمكنك أيضًا استخدام AWS أو CDN لتقديم المحتوى الخاص بك بشكل أسرع. دعنا نلقي نظرة سريعة على الاختلافات بين AWS و CDN والاستضافة التقليدية من منظور تحسين الصورة النقطية.

الاستضافة التقليدية

الطريقة التقليدية هي تخزين المحتوى الخاص بك مثل الصور على نفس الخادم مثل موقع الويب الخاص بك. يمكن أن يشغل هذا مساحة على القرص وجزءًا كبيرًا من عرض النطاق الترددي الخاص بك ، مما يؤدي إلى تحميل خادم كبير. من الواضح أن التوسع باستخدام الاستضافة التقليدية يمكن أن يكون مشكلة.

CDN (شبكة توصيل المحتوى)

تُستخدم شبكة توصيل المحتوى عادةً لتقليل حمل الخادم من خلال خدمة بعض محتوى موقع الويب. إلى جانب ذلك ، فإنه يوفر أداءً عاليًا من خلال تقديم المحتوى الخاص بك بسرعة وإتاحة عالية باستخدام شبكات متعددة للاتصال بها.

AWS (Amazon CloudFront)

Amazon CloudFront عبارة عن شبكة توصيل محتوى (CDN) عالية الأمان توفر حماية على مستوى الشبكة والتطبيق. تحقق من هذا البرنامج التعليمي حول كيفية بدء استخدام AWS وتقديم المحتوى بشكل أسرع.

بالإضافة إلى ذلك ، يمكنك استخدام AWS لتغيير حجم الصور سريعًا بناءً على الأبعاد التي يتم تمريرها عبر معلمة الاستعلام. للحصول على معلومات إضافية ، راجع هذا البرنامج التعليمي حول تغيير حجم الصور باستخدام Amazon CloudFront و Lambda @ Edge.

قم بتعيين المفهرسات على "التحديث حسب الجدول الزمني"

يمكن ضبط مفهرسات Magento على وضعين: " التحديث عند الحفظ " أو " التحديث عند الجدول ".

عند تعيينها على "التحديث عند الحفظ" في كل مرة تحفظ فيها منتجًا أو سمة أو فئة ، يبدأ الفهرس المحدد في العمل. يمكن أن تصبح المفهرسات مستهلكة للموارد وقد يؤدي ذلك إلى إبطاء خادمك.

أفضل وضع لضبط المفهرسات هو "التحديث حسب الجدول". بهذه الطريقة ، فأنت متأكد من تنفيذها بواسطة وظيفة cron في وقت محدد تحدده. اختر وقتًا تكون فيه حركة المرور على موقع الويب الخاص بك منخفضة.

يمكنك عرض وضع المفهرسات الحالي عن طريق تشغيل الأمر:

php bin/magento indexer:show-mode

أو في Magento Admin بالذهاب إلى:

النظام > إدارة الفهرس

يمكنك تغيير وضع الفهرسة إلى "تحديث في الجدول الزمني" عن طريق تشغيل الأمر:

php bin/magento indexer:set-mode schedule

يمكنك تغيير وضع الفهرسة إلى "تحديث عند الحفظ" عن طريق تشغيل الأمر:

php bin/magento indexer:set-mode realtime

وهنا في Magento Admin:

النظام > إدارة الفهرس: حدد جميع المفهرسات ومن القائمة المنسدلة للإجراءات حدد "تحديث في الجدول الزمني"

نص بديل للصورة

يمكنك أيضًا تكوين المهام المجدولة بالذهاب إلى المسؤول من أجل:

المتجر > الإعدادات > التكوين > خيارات متقدمة > النظام > كرون (المهام المجدولة)

قم بتوسيع "خيارات تكوين Cron للمجموعة: الفهرس"

مربع حوار تكوين Magento cron

ضغط GZIP

Gzip هي طريقة لضغط الملفات لنقل أسرع عبر الشبكة. يسمح الضغط لخادم الويب الخاص بك بتوفير أحجام ملفات أصغر يتم تحميلها بشكل أسرع لمستخدمي موقع الويب الخاص بك. ومع ذلك ، فإن هذا يأتي بتكلفة.

أثناء ضغط ملف ، تقوم بتحميل وحدة المعالجة المركزية ، وكلما ضغطت ملفًا زادت مدة العملية التي تستغرقها. على الرغم من أن هذا يمكن أن يؤدي إلى زيادة تحميل وحدة المعالجة المركزية للخادم ، إلا أنه قد يؤدي أيضًا إلى تقليل استخدام النطاق الترددي بشكل كبير. باستخدام gzip ، يمكنك الاختيار بين مستويات مختلفة من الضغط ، تتراوح من 1 إلى 9.

في المستوى 1 ، يكون لديك أسرع وقت للضغط ، ولكن نسبة الضغط أقل. على الجانب الآخر ، في المستوى 9 لديك أعلى معدل ضغط ولكن سرعة أقل. يستخدم التكوين الافتراضي لـ gzip المستوى 6 ، ويفضل الضغط على السرعة. على الرغم من أن Nginx يستخدم المستوى 1 ، ويفضل السرعة على حجم الملف.

لتشغيل ضغط gzip وتنشيط وحدة mod_deflate في Apache ، يمكنك إضافة هذا عن طريق تحديث ملف htaccess الخاص بك وإلغاء تعليق الأسطر المناسبة كما هو موضح أدناه. تقوم الوحدة النمطية mod_deflate بضغط الموارد الثابتة في ملفات أصغر قبل نقلها إلى المتصفح.

 <IfModule mod_deflate.c> ############################################ ## enable apache served files compression ## http://developer.yahoo.com/performance/rules.html#gzip # Insert filter on all content SetOutputFilter DEFLATE # Insert filter on selected content types only AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json image/svg+xml # Netscape 4.x has some problems... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # Don't compress images SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary </IfModule>

استخدم Elasticsearch في صفحات الكتالوج والبحث

هناك طريقة أخرى لزيادة سرعة موقع الويب الخاص بك وهي استخدام Elasticsearch لصفحات الكتالوج ونتائج البحث. قم بإعداد خادم Elasticsearch الخاص بك وقم بتوصيل متجر Magento الخاص بك به. يصبح البحث أسرع بكثير باستخدام Elasticsearch.

يوضح هذا الدليل الرسمي كيف يمكنك تكوين Magento باستخدام Elasticsearch.

لتكوين Magento لاستخدام Elasticsearch ، قم بتسجيل الدخول إلى Magento Admin كمسؤول:

  1. انقر فوق المتاجر > الإعدادات > التكوين > الكتالوج > الكتالوج > البحث في الكتالوج .
  2. من قائمة محرك البحث ، انقر فوق Elasticsearch أو Elasticsearch 5.0+ كما يظهر في الشكل التالي. (لا يتوفر خيار Elasticsearch 5.0+ لـ Magento 2.1.)

إعداد Elasticsearch في Magento

تحقق من وجود مكالمات Ajax غير الضرورية

يمكن أن تتسبب المكالمات مرة أخرى إلى الخادم بعد تحميل الصفحة في تأمين الجلسة. تتمثل إحدى طرق التحقق من جميع استدعاءات Ajax التي تجريها صفحتك في استخدام DevTools في Chrome. يمكنك فتحه عن طريق النقر بزر الماوس الأيمن على الصفحة واختيار فحص.

انتقل إلى علامة تبويب الشبكة وهناك يمكنك تصفية الطلب حسب XHR. يمكنك الآن رؤية جميع طلبات Ajax للصفحة والتحقق منها لمعرفة أي منها ضروري في تلك الصفحة المحددة.

مكالمات أياكس في ماجنتو

Redis لذاكرة التخزين المؤقت للصفحة وتخزين الجلسة

Redis هو حل اختياري لذاكرة التخزين المؤقت للجهة الخلفية لاستبدال Zend_Cache_Backend_File ، والذي يتم استخدامه في Magento 2 افتراضيًا.

لماذا نستخدم Redis؟

يمكن أن يكون لاستخدام Redis مزايا متعددة:

  • يمكنك استبدال memcached بـ Redis لأنه يمكن استخدامه أيضًا لتخزين جلسة PHP.
  • يدعم Redis الحفظ على القرص والنسخ المتماثل الرئيسي / التابع ، وهي ميزة مطلوبة بشدة ولا يدعمها memcached. يتجنب النسخ المتماثل نقطة فشل واحدة ويوفر إمكانية عالية.
  • لا تتطلب عمليات العلامات فحصًا كاملاً لكل ملف ذاكرة تخزين مؤقت لأن Redis يعمل عن طريق فهرسة العلامات في الملفات.
  • تدعم الواجهة الخلفية تنظيف ذاكرة التخزين المؤقت المستند إلى العلامات بدون حلقات foreach.

هناك أيضًا جانب سلبي رئيسي:

  • نظرًا لأن Redis عبارة عن متجر داخل الذاكرة ، يجب أن تتلاءم جميع بياناتك مع الذاكرة ، مما يعني أنها مقيدة فقط بسرعة ذاكرة الوصول العشوائي وسعتها.

قم بتكوين Magento لاستخدام Redis لتخزين الجلسة

فيما يلي نموذج تكوين لإضافته إلى <your Magento install dir>app/etc/env.php :

 'session' => array ( 'save' => 'redis', 'redis' => array ( 'host' => '127.0.0.1', 'port' => '6379', 'password' => '', 'timeout' => '2.5', 'persistent_identifier' => '', 'database' => '2', 'compression_threshold' => '2048', 'compression_library' => 'gzip', 'log_level' => '1', 'max_concurrency' => '6', 'break_after_frontend' => '5', 'break_after_adminhtml' => '30', 'first_lifetime' => '600', 'bot_first_lifetime' => '60', 'bot_lifetime' => '7200', 'disable_locking' => '0', 'min_lifetime' => '60', 'max_lifetime' => '2592000' ) ),

يمكنك التحقق هنا من جميع التفاصيل حول المعلمات ، وكيفية إجراء التحقق الأساسي من أن تثبيت Redis يعمل بشكل جيد مع Magento.

قم بتكوين Magento لاستخدام Redis للصفحة وذاكرة التخزين المؤقت الافتراضية

توجد طريقتان لتهيئة Redis للصفحة وذاكرة التخزين المؤقت الافتراضية. يمكنك يدويًا تعديل ملف <Magento install dir>app/etc/env.php أو يمكنك استخدام سطر الأوامر ، وهو الأسلوب الموصى به لأنه يوفر أيضًا التحقق من الصحة.

بالنسبة إلى ذاكرة التخزين المؤقت الافتراضية ، قم بتشغيل الأمر:

php bin/magento setup:config:set --cache-backend=redis --cache-backend-redis-<parameter_name>=<parameter_value>...

حدد المعلمات الخاصة بالتخزين المؤقت الافتراضي لـ Redis.

بالنسبة لذاكرة التخزين المؤقت للصفحة ، قم بتشغيل الأمر:

Php bin/magento setup:config:set --page-cache=redis --page-cache-redis-server=redis.example.com --page-cache-redis-db=1

يمكّن هذا الأمر التخزين المؤقت لصفحة Redis ، ويضبط المضيف على redis.example.com ويعين رقم قاعدة البيانات على 1. يمكنك التحقق من جميع التفاصيل في Magento DevDocs.

تلخيص تحسين أداء Magento

لقد غطينا عددًا قليلاً من الأساليب لتحسين أداء Magento 2 ، لذلك دعونا نلخص سريعًا.

سيحدث تحديد الاختناقات وحلها فرقًا كبيرًا في معالجة بياناتك. سيؤدي استخدام ذاكرة التخزين المؤقت للصفحة الكاملة و Varnish أيضًا إلى تحسين سرعة موقع الويب الخاص بك وتسريع حركة مرور HTTP. يجب عليك دائمًا استخدام Magento في وضع الإنتاج على خادمك المباشر ، بدون أعذار. استخدم التصغير لتقليل حجم ملفات CSS و JS ، حيث يتم تنزيل الملف الأصغر بشكل أسرع ويستخدم نطاقًا تردديًا أقل.

تمكين الجداول الثابتة لتقليل طلبات قاعدة البيانات وتحسين وقت استجابة قاعدة البيانات. حسِّن صورك واستخدم CDN إن أمكن. قم بتعيين المفهرسات على التحديث حسب الجدول الزمني وتمكين Magento cron. سيؤدي تمكين ضغط gzip أيضًا إلى تقليل حجم الملفات المراد تنزيلها. سيؤدي استخدام Elasticsearch إلى زيادة سرعة صفحات الكتالوج وسيتم تحميل صفحة نتائج البحث بشكل أسرع. استخدم Redis لذاكرة التخزين المؤقت للصفحة وتخزين الجلسة وهو أسرع بكثير من ذاكرة memcache الافتراضية.

يمكنك تنفيذ كل هذه التوصيات أو بعضها فقط التي لم تستخدمها حتى الآن. يجب أن يكون الزوجان كافيين لتحسين أداء Magento ، والذي نأمل أن يتحول إلى مزيد من التحويلات.