5 نصائح أساسية لتحسين Magento TTFB
نشرت: 2019-01-08هذا منشور ضيف بواسطة فاسيلي نيكولاييف.
يعد الوقت إلى البايت الأول (TTFB) أحد أهم مقاييس السرعة في أي موقع ويب. يشير إلى مقدار الوقت الذي يمر بعد أن يدخل المستخدم عنوان URL لمتجر Magento الخاص بك والوقت الذي يحصل فيه على أي استجابة ، حتى لو كانت صغيرة مثل 1 بايت (ومن هنا جاء الاسم ، "الوقت حتى البايت الأول").
يعد وقت البايت الأول أمرًا حيويًا لكل من البشر (لا يرغبون في الانتظار) ولروبوتات محركات البحث (تكره Google المواقع الإلكترونية البطيئة وتصنفها في مرتبة أدنى - انقر هنا لمعرفة المزيد عن حل Magento 2 SEO الأول في فئته عن طريق ماجيووركس).
ولكن في الوقت نفسه ، هناك دليل مقنع من جون مولر ، أحد الرؤساء الناطقين في Google ، على أن Google لا تستخدم TTFB في التصنيف:
لذلك ، نصيحتنا هي ألا تستحوذ على TTFB كثيرًا بالنسبة لكبار المسئولين الاقتصاديين ، ولكن بدلاً من ذلك ، ركز على تجربة المستخدم وأداء المتجر.
لماذا يعتبر TTFB أكثر أهمية من تحميل الصفحة بالكامل (يسمى "وقت انتهاء البايت")؟ حسنًا ، لأنه كلما أسرعت في تحميل البايت الأول ، زادت سرعة بدء المستخدمين في قراءة المحتوى الخاص بك. لا يهم أنهم لا يستطيعون رؤية كل صورة على الصفحة على الفور. من الأهمية بمكان أن تقدم للمستخدمين شيئًا ما يمكنهم فعله أثناء انشغال خادم الويب في تحميل بقية المحتوى.
جدول المحتويات
- 1. فهم الاختناقات الخاصة بك للقضاء عليها
- ما هو جيد TTFB؟
- 2. الترحيل إلى محرك قاعدة بيانات أكثر ملاءمة
- 3. تطابق إعداد الخادم مع احتياجات حركة المرور الحالية
- 4. قم بإعداد حل أفضل للتخزين المؤقت
- 5. التخلص من ملحقات عديمة الفائدة
- نصيحة إضافية: متجر القرص وإعدادات تسجيل العملاء
- معركة مستمرة من أجل الأداء
1. فهم الاختناقات الخاصة بك للقضاء عليها
ما هو جيد TTFB؟
تنص Google على أن الهدف هو TTFB أقل من 200 مللي ثانية. أقل من 200 مللي ثانية ، سيصنفك محرك البحث في المرتبة الأولى. بمجرد تجاوز هذه القيمة ، ستفرض Google عقوبات على موقع الويب الخاص بك. 600 مللي ثانية أو أكثر يعني أنه لا يمكنك اجتياز اختبار TTFB الخاص بـ Google.
هناك الكثير من العوامل التي ستؤثر على TTFB الخاص بك. ليس في ترتيب معين:
- تكوين خادم الويب والموارد ،
- سرعة حل خادم الأسماء ،
- أوقات تنفيذ التعليمات البرمجية على الصفحة ،
- تنفيذ حلول التخزين المؤقت للخلفية ،
- تخمين الشبكة.
تحقق من قيمة TTFB إما من خلال خدمة جهة خارجية أو باستخدام اختبار Google TTFB. يمكنك أيضًا مقارنة نتائجك بمواقع الويب الشهيرة أو مع منافسيك هنا للحصول على منظور فريد حول كيفية تحميل متجرك لمستخدمي الأجهزة المحمولة.
أداة تشخيص رائعة أخرى هي Magento 2 Profiler . باستخدامه ، يمكنك بسهولة تقسيم كل طلب صفحة إلى كتل أصغر يسهل تصورها وتحليلها.
في الجدول ، انتبه بشكل خاص إلى قيمتين مهمتين ، الوقت والعدد. الوقت لا يحتاج إلى شرح. إنه التأخير الفعلي بين طلب المستخدم واستجابة الخادم. يتوافق صف Cnt مع عدد مرات استدعاء هذا العنصر قبل إنشاء الإخراج.
يجدر استخدام Database Profiler جنبًا إلى جنب مع ملف التعريف الافتراضي Magento 2 لتحليل استعلامات قاعدة البيانات.
هذه هي الخطوة الأولى التي يجب عليك اتخاذها: تمكين Magento Profiler وإلقاء نظرة على الصفحات التي بها أكبر المشكلات مع TTFB. بينما يمكنك استخدام منشئ ملفات التعريف الافتراضي ، نوصيك بإعداد Profiler SQL. إنه مجاني ويقدم نظرة عامة مريحة على عدد الاستفسارات في كل جلسة.
سيقوم منشئ ملفات التعريف بتقسيم جميع الطلبات إلى أجزاء أصغر حتى تتمكن على الفور من معرفة الأقسام التي تسحبك إلى أسفل.
2. الترحيل إلى محرك قاعدة بيانات أكثر ملاءمة
يمكن أن تصبح قاعدة بيانات متجر Magento 2 بسهولة أكبر عقبة في الأداء إذا كانت غير فعالة أو بطيئة أو تستخدم محرك تخزين ليس الخيار الأفضل للتعامل مع Magento.
لماذا هذا مهم؟ هناك خيارات كثيرة لمحركات التخزين المختلفة لـ MySQL. لقد أحصينا ما لا يقل عن 10 حلول مدعومة في وثائق MySQL الرسمية وهناك المزيد في البرية.
بينما يمكنك استخدام Magento مع محرك MyISAM MySQL الافتراضي ، فإن محركات قواعد البيانات البديلة مثل MariaDB Ari محرك تخزين أو محرك Percona XtraDB يمكن أن يجعل متجرك أكثر استقرارًا و (في بعض الأحيان) أسرع مقارنة بالإعداد الافتراضي.
على سبيل المثال ، يستخدم محرك Aria نهجًا أكثر ذكاءً في الحالات التي يفرض فيها Magento محرك التخزين لاستخدام الكثير من الجداول المؤقتة.
Percona هو مفترق آخر لـ MySQL الذي دمج مع مرور الوقت عددًا من تعديلات الأداء لتسريع استعلامات قاعدة البيانات. بالمقارنة مع MyISAM ، فهو يعمل بشكل أسرع بكثير مع الكثير من الاستعلامات المتوازية ومتخصص في معالجة المعاملات.
على الرغم من أن أفضل توصية لتحسين قاعدة البيانات هي فحص احتياجاتك بعناية واختيار المحرك الذي يناسبك ، لدينا بعض النصائح التي ستكون مفيدة للجميع:
- تجنب MySQL الافتراضي للبحث عن المتجر. قم بتثبيت Elasticsearch لتسريع جميع استعلامات البحث على موقع الويب الخاص بك ،
- حدد محرك قاعدة البيانات الذي يناسبك.
3. تطابق إعداد الخادم مع احتياجات حركة المرور الحالية
إن رخص البنية التحتية ليس فكرة جيدة. بمرور الوقت ، ستشهد الأعمال التجارية المتنامية باطراد المزيد من العملاء والمزيد من المعاملات والمزيد من الطلبات. لذلك ، من الجيد أن تحافظ على إعدادك عند 80٪ من السعة للتكيف مع ارتفاعات الاستخدام العشوائي وحركة المرور الناتجة عن الأحداث. يمكن أن تقطع 20٪ شوطًا طويلاً للحفاظ على مستوى لائق من الأداء في جميع المواقف.
سيخبرك فريق الاستضافة الذي يستحق كل هذا الجهد ، بمتطلبات النظام التي تحتاجها للعمل بسلاسة. ولكن إذا نمت بسرعة على مدار فترة زمنية ، فستكون مسؤوليتك الخاصة أن تحدد خريطة طريق للترقية.
هناك عدد من النقاط الحاسمة في متجر Magento الخاص بك والتي ستؤثر بشكل كبير على متطلبات النظام لديك:
- حجم المتجر (عدد مشاهدات المتجر) ،
- الفئات و SKUs في الكتالوج (مع السمات ومجموعات السمات) ،
- متوسط عدد الزيارات (متوسط مشاهدات الصفحة والذروة التاريخية) ،
- المعاملات اليومية (التنزيلات الرقمية والمدفوعات والعمليات المماثلة).
بشكل عام ، سيؤثر متوسط حركة المرور بشكل مباشر على مقدار طاقة وحدة المعالجة المركزية التي تحتاجها. لذلك ، بعد معرفة الإعداد الأمثل لوحدة المعالجة المركزية ، قم بمطابقة ذاكرة الوصول العشوائي الخاصة بك مع متطلبات وحدة المعالجة المركزية الخاصة بك لإنشاء ملف تعريف خادم ويب متوازن.
يعتمد حجم تخزين قاعدة البيانات على ذاكرة الوصول العشوائي الحالية لديك ، لذلك يجب عليك اختيار ما يكفي لتغطية جميع الاحتياجات الحالية. قم بإنشاء وسادة أداء لبعض مساحة التنفس أيضًا. هدفك هو الاحتفاظ دائمًا بما لا يقل عن 20-25٪ من وحدة المعالجة المركزية وذاكرة الوصول العشوائي الاحتياطية للتعامل مع ارتفاعات حركة المرور العرضية.
4. قم بإعداد حل أفضل للتخزين المؤقت
يعد التخزين المؤقت للموقع هو ثاني أفضل شيء بعد اختراع البطاطس المقلية. تعمل ذاكرة التخزين المؤقت للخادم على تحسين سرعة موقع الويب مما يجعله يشعر بشكل أسرع. يعمل التخزين المؤقت عن طريق نقل البيانات المستخدمة بشكل متكرر من SSD أو محرك الأقراص الثابتة إلى ذاكرة الوصول العشوائي.
حيث يمكن لمحركات الأقراص الثابتة قراءة البيانات بشكل تسلسلي حتى 200 ميجابايت / ثانية ومحركات أقراص الحالة الصلبة حتى 3200 ، يمكن لوحدات DRAM الوصول إلى ما يصل إلى 20 جيجابايت / ثانية. وهو ما يعطينا الفرق في x10 أو رتبة واحدة على الأقل من حيث المقدار.
يعد كل من Redis و Varnish أحد أشهر ترقيات متاجر Magento. إنه خيار تخزين مؤقت موصى به لـ Magento 2. يعمل كلا الحلين بشكل رائع مع Magento 1 أيضًا.
الورنيش أداة صعبة لتكوينها ، ولكن عند القيام بها بشكل صحيح فإنها توفر قيم TTFB في 100-200 مللي ثانية. بالنسبة لتكوينات ذاكرة التخزين المؤقت ذات الصفحة الكاملة ، سيتراوح TTFB في غضون 250 مللي ثانية.
ميزة أخرى مميزة لـ Varnish - فهي تعمل على المزيد من صفحات الويب. بينما لا تعمل FPC مع الصفحات التي تحتوي على الكثير من المحتوى الديناميكي عليها ، تقدم Varnish أداءً أفضل حتى في حالات الاستخدام الصعبة هذه.
5. التخلص من ملحقات عديمة الفائدة
لنكون صادقين ، فإن تعطيل الإضافات غير المستخدمة هو النصيحة رقم 1 لأي متجر Magento 2 ولكن غالبًا ما يتم تجاهله. كل امتداد يتم تشغيله على موقع الويب الخاص بك سوف يستخدم بعض مواردك. إذا تم تكوينها بشكل سيئ ، فقد تؤدي أيضًا إلى إبطاء TTFB الخاص بك.
تذكر: يحتاج الخادم إلى تنفيذ هذا الرمز قبل أن يرسل أي ملاحظات إلى المستخدم.
سيؤدي تنظيف قائمة الإضافات إلى تسريع Magento أيضًا. حتى إذا لم تتمكن من تعطيل أي منها ، فاحرص على تحديث كل من متجر Magento وإضافات الجهات الخارجية للاستفادة من إصلاحات الأخطاء والتحسينات التي ستجعل أداء موقعك أفضل بالتأكيد.
نصيحة إضافية: متجر القرص وإعدادات تسجيل العملاء
تأكد من إيقاف تشغيل تسجيل عملاء Magento. سيساعدك هذا في تقليل الوقت الذي تقضيه في استعلامات قاعدة البيانات. إنه ليس تأثيرًا كبيرًا لأن تسجيل العملاء هو نشاط بسيط نسبيًا. سيعتمد تعزيز الأداء على عدد العملاء الذين يزورون متجرك حاليًا.
لا نوصيك بإيقاف تشغيل تسجيل المتجر. إنها أداة قيمة تساعد في استكشاف أخطاء Magento وإصلاحها. ولكن بدلاً من السماح لسجلات المتجر باستهلاك وقت الخادم ، يمكنك نقلها إلى خدمة جهة خارجية ، مثل Papertrail.
معركة مستمرة من أجل الأداء
لا يوجد متجرين من متاجر Magento متماثلان. سيواجه كل منهم تحديات مختلفة في تحسين واجهات المحلات الخاصة بهم من أجل السرعة. يمكن أن يكون هذا صحيحًا بشكل خاص لمواقع Magento القديمة (والأكبر) التي تحتوي على الكثير من ملحقات الأطراف الثالثة المعقدة وقواعد البيانات الكبيرة والمتاجر المتعددة.
وعلى الرغم من أننا لا نستطيع أبدًا "الفوز" بهذه المعركة من أجل الأداء ، فإن هدفنا المشترك هو جعل متاجر Magento الأفضل في فئتها من حيث السرعة وتجربة المستخدم والأمان بين جميع مواقع التجارة الإلكترونية.
يقوم فاسيلي نيكولاييف بالبحث عن الكنز بشكل دائم للبحث عن النصائح الأكثر فعالية لجعل حياة أصحاب المتاجر أسهل قليلاً. لا يوجد شيء أكثر إرضاءً له من إيجاد حل رائع لمشكلة صعبة بالنسبة له.