كيفية تحسين ذاكرة التخزين المؤقت لرموز العمليات في HestiaCP؟ يمكن أن يؤدي تخزين رموز العمليات مؤقتًا وتجميع كود PHP إلى زيادة سرعة الموقع بشكل كبير.

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

لهذا السبب هيستياCP يُعد تحسين OPcache أمرًا بالغ الأهمية لنجاح أو فشل أي موقع ويب يعتمد على PHP.

ما هو OPcache؟

OPcache هو محرك تخزين مؤقت مدمج في لغة PHP.

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

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

وفقًا للوثائق الرسمية للغة PHP:

"يوفر OPcache تحسينات كبيرة في الأداء عن طريق تقليل وقت التنفيذ من خلال تجنب تكرار تجميع البرامج النصية."

باختصار: OPcache هو مُسرِّع PHP.

لماذا يتم تحسين OPcache في HestiaCP؟

كيفية تحسين ذاكرة التخزين المؤقت لرموز العمليات في HestiaCP؟ يمكن أن يؤدي تخزين رموز العمليات مؤقتًا وتجميع كود PHP إلى زيادة سرعة الموقع بشكل كبير.

HestiaCP هي لوحة تحكم خفيفة الوزن يستخدمها الكثير من الأشخاص لإدارة الخوادم الافتراضية الخاصة أو الخوادم المخصصة.

يتم تمكين OPcache بشكل افتراضي، ولكن المعلمات غالبًا ما تكون متحفظة.

بدون إجراء تعديلات، سيكون تحسين الأداء محدودًا.

فمثلا:
على خادم يحتوي على 4 أنوية و 8 جيجابايت من الذاكرة، تبلغ ذاكرة OPcache الافتراضية 64 ميجابايت فقط، ويبلغ عدد الملفات المخزنة مؤقتًا 4000 فقط.
هذا مناسب لحجم متوسط WordPress بالنسبة لموقع إلكتروني، هذا ببساطة غير كافٍ.

والنتيجة هي أن ذاكرة التخزين المؤقت يتم مسحها باستمرار، مما يتسبب في تذبذب الأداء بشكل متكرر.

تحقق من حالة OPcache الحالية

قم بتشغيل الأمر التالي:

php -i | grep opcache.enable

سترى نتائج مشابهة لما يلي:

  • opcache.enable => On: هذا يعني أن OPcache مفعل في PHP-FPM.
  • opcache.enable_cli => Off: غير مفعل في وضع سطر الأوامر.
  • opcache.enable_file_override => Off: وظيفة تجاوز الملف غير مفعلة.

هذا يعني أنه على الرغم من أن OPcache يعمل بالفعل، فلا يزال هناك مجال للتحسين.

قم بتحرير ملفات تهيئة PHP

في HestiaCP، يكون مسار ملف تكوين PHP عادةً كما يلي:

/etc/php/8.x/fpm/php.ini

لتفعيل وضع سطر الأوامر:

/etc/php/8.x/cli/php.ini

حدد موقع قسم [opcache] وأضف أو عدّل المعلمات التالية:

[opcache]
; 启用 OPcache
opcache.enable=1
opcache.enable_cli=1

; 内存与缓存设置
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000

; 文件更新检测
opcache.validate_timestamps=0
opcache.revalidate_freq=60

; 其他优化参数
opcache.save_comments=1
opcache.fast_shutdown=1
opcache.enable_file_override=1

تفاصيل المعلمات ومنطق التحسين

  • opcache.memory_consumption=256
    يُعد تخصيص 256 ميجابايت من الذاكرة لـ OPcache مناسبًا للمواقع الإلكترونية المتوسطة إلى الكبيرة.
    بالنسبة للمواقع الإلكترونية الصغيرة، يمكنك ضبطها على 128 ميجابايت.

  • opcache.interned_strings_buffer=16
    يوفر ذاكرة تخزين مؤقتة للسلاسل بحجم 16 ميجابايت لتقليل استخدام السلاسل المكررة.

  • opcache.max_accelerated_files=10000
    يوصى بأن يكون الحد الأقصى لعدد الملفات المخزنة مؤقتًا 10000 على الأقل في بيئة WordPress + الإضافات.

  • opcache.revalidate_freq=60
    يتم فحص الملفات بحثًا عن التحديثات كل 60 ثانية لتقليل عمليات الإدخال/الإخراج المتكررة.

  • opcache.enable_cli=1
    يُعد تمكين التخزين المؤقت لواجهة سطر الأوامر مناسبًا لتشغيل أدوات سطر الأوامر مثل Artisan و WP-CLI.

  • opcache.enable_file_override=1
    السماح لـ OPcache بالسيطرة على ذاكرة التخزين المؤقت لنظام الملفات، مما يقلل من الوصول إلى القرص بشكل أكبر.

  • opcache.validate_timestamps=0
  • تعطيل الكشف في الوقت الفعليقلل من عمليات الإدخال/الإخراج لنظام الملفات وحسّن الأداء.
  • ومع ذلك، هذا يعني أنه يجب عليك مسح ذاكرة التخزين المؤقت يدويًا (إعادة تشغيل خدمة PHP) بعد تعديل ملفات PHP.

بعد تعديل الإعدادات، يجب إعادة تشغيل خدمة PHP حتى يتم تطبيق التغييرات.

sudo systemctl restart php<版本>-fpm

إن الجمع بين هذه المعايير يسمح للموقع الإلكتروني بالبقاء مستقراً حتى في ظل التزامن العالي.

أعد تشغيل خدمة PHP-FPM

بعد إجراء التغييرات، تذكر إعادة تشغيل الخدمة:

sudo systemctl restart php8.x-fpm

ثم أعد تشغيله:

php -i | grep opcache

تم التأكد من تحديث المعايير.

أفضل الممارسات في بيئات الإنتاج

في بيئات الإنتاج، لا يقتصر تحسين OPcache على ضبط المعلمات فحسب، بل يشمل أيضًا الاستراتيجيات التالية:

1. مسح ذاكرة التخزين المؤقت أثناء النشر

بعد كل تحديث للبرنامج، يجب مسح ذاكرة التخزين المؤقت OPcache؛ وإلا فقد يتم تحميل إصدار أقدم.

يمكنك إضافة ما يلي إلى نص CI/CD:

<?php
opcache_reset();

أو بدلاً من ذلك، قم بتنفيذه ضمن عملية النشر:

systemctl reload php8.x-fpm

2. تجنب التنظيف المتكرر

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

3. مراقبة استخدام OPcache.

يمكنك التحقق من معدل نجاح ذاكرة التخزين المؤقت في الوقت الفعلي باستخدام `php -i | grep opcache` أو عن طريق تثبيت ملحق لوحة تحكم Opcache.
نسبة نجاح تزيد عن 95% تشير إلى تكوين معقول.

وفقًا لاختبارات الأداء الرسمية لـ Zend، فإن تمكين OPcache يمكن أن يحسن سرعة تنفيذ البرامج النصية PHP بما يصل إلى 3 مرات ويقلل من استخدام وحدة المعالجة المركزية بنسبة 50٪.

هذه ليست نظرية غامضة؛ إنها بيانات موثوقة.

الخلاصة: وجهات نظري والاقتباسات الرئيسية

في رأيي، يُشبه OPcache "شاحنًا توربينيًا" للمواقع الإلكترونية. فبدونه، يصبح PHP كسيارة بدون شاحن توربيني، تسير ببطء وتُهدر الوقود.

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

لأن السرعة تساوي معدل التحويل، والأداء يساوي القدرة التنافسية.

الاقتباس الرئيسي: مستقبل الموقع الإلكتروني لا يكمن في مدى روعة شفرته البرمجية، بل في مدى سرعة استجابته لدرجة أن المستخدمين لا يملكون حتى الوقت للرمش.

لذلك، توقفوا عن السماح للخوادم بإهدار الموارد في حلقات غير فعالة.

قم بتحسين ذاكرة التخزين المؤقت لـ HestiaCP OPcache الآن واجعل موقعك الإلكتروني يعمل بسرعة فائقة.

هل تريد مني كتابة نموذج تكوين OPcache من الدرجة الأولى لبيئة الإنتاج الخاصة بك، والذي يمكنك بعد ذلك نسخه واستخدامه مباشرة في ملف php.ini؟

مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ قد تكون المقالة "كيفية تحسين OPcache في HestiaCP؟ تخزين التعليمات البرمجية وتجميع كود PHP لجعل موقعك الإلكتروني سريعًا" التي تمت مشاركتها هنا مفيدة لك.

مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-34197.html

لاكتشاف المزيد من الحيل المخفية🔑، مرحبًا بك في الانضمام إلى قناتنا على Telegram!

مشاركة ومثل إذا كنت ترغب في ذلك! مشاركاتك وإعجاباتك هي حافزنا المستمر!

 

发表 评论

لن يتم نشر عنوان بريدك الإلكتروني. 必填 项 已 用 * 标注

دليل المادة
انتقل إلى الأعلى