إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تلميح
يمكنك أيضا طرح هذه الأسئلة على Azure Copilot :
- كيف تعمل ذاكرة التخزين المؤقت المحلية في Azure App Service؟
- ما هي فوائد استخدام ذاكرة التخزين المؤقت المحلية في Azure App Service؟
- ما هي قيود استخدام ذاكرة التخزين المؤقت المحلية في Azure App Service؟
لاستخدام Azure Copilot، في شريط أدوات بوابة Azure ، اختر Copilot.
يتم تخزين محتوى Azure App Service في Azure Storage ويتم عرضه كمشاركة محتوى دائم. يعمل هذا التصميم مع تطبيقات مختلفة ويحتوي على السمات التالية:
- تتم مشاركة المحتوى عبر مثيلات متعددة للجهاز الظاهري (VM) للتطبيق.
- المحتوى دائم، ويمكن للتطبيقات قيد التشغيل تعديله.
- تتوفر ملفات السجل وملفات البيانات التشخيصية ضمن مجلد المحتوى المشترك نفسه.
- يؤدي نشر محتوى جديد إلى تحديث مجلد المحتوى مباشرة. يمكنك عرض المحتوى نفسه على الفور من خلال موقع إدارة التحكم بالمصادر (SCM، المعروف أيضا باسم Kudu) والتطبيق قيد التشغيل. ومع ذلك، قد تبدأ بعض التقنيات (مثل ASP.NET) في إعادة تشغيل التطبيق على تغييرات معينة في الملفات لتحميل أحدث محتوى.
على الرغم من أن العديد من التطبيقات تستخدم واحدة أو أكثر من هذه الميزات، إلا أن بعض التطبيقات تحتاج إلى مخزن محتوى عالي الأداء للقراءة فقط يمكن تشغيلها منه بتوافر عال. يمكن أن تستفيد هذه التطبيقات من التشغيل مقابل ذاكرة التخزين المؤقت المحلية على مثيل الجهاز الظاهري.
توفر ميزة ذاكرة التخزين المؤقت المحلية في App Service طريقة عرض دور ويب للمحتوى الخاص بك. هذا المحتوى عبارة عن ذاكرة تخزين مؤقت للكتابة ولكن مع تجاهل محتوى التخزين الذي تم إنشاؤه بشكل غير متزامن عند بدء تشغيل الموقع. عندما تكون ذاكرة التخزين المؤقت جاهزة، يتم تبديل الموقع للتشغيل مقابل المحتوى المخزن مؤقتا.
التطبيقات التي تعمل بميزة ذاكرة التخزين المؤقت المحلية بهذه الطرق:
- وهي محصنة ضد زمن الانتقال المرتبط بالوصول إلى المحتوى في Azure Storage.
- لا تؤثر مشاكل الاتصال بالتخزين عليها، لأن النسخة للقراءة فقط مخزنة مؤقتا محليا.
- وهي تواجه عمليات إعادة تشغيل أقل للتطبيقات من التغييرات في مشاركة التخزين.
إشعار
ميزة ذاكرة التخزين المؤقت المحلية غير مدعومة في تطبيقات الوظائف أو تطبيقات App Service المضمنة في حاويات، كما هو الحال في حاويات Windows أو في حاويات Linux المضمنة أو المخصصة. ذاكرة التخزين المؤقت للتطبيق هي إصدار من الميزة المتوفرة لأنواع التطبيقات هذه.
ميزة ذاكرة التخزين المؤقت المحلية غير مدعومة أيضا في مستويات التسعير F1 وD1 من App Service.
كيف تغير ذاكرة التخزين المؤقت المحلية سلوك App Service
يؤدي تكوين ذاكرة التخزين المؤقت المحلية إلى هذه التغييرات:
D:\homeيشير إلى ذاكرة التخزين المؤقت المحلية، التي يتم إنشاؤها على مثيل الجهاز الظاهري عند بدء تشغيل التطبيق.D:\localيستمر في الإشارة إلى التخزين المؤقت الخاص بالجهاز الظاهري.تحتوي ذاكرة التخزين المؤقت المحلية على نسخة لمرة واحدة من
/siteالمجلدات و/siteextensionsمن مخزن المحتوى المشترك. توجد هذه المجلدات فيD:\home\siteوD:\home\siteextensionsعلى التوالي. يتم نسخ هذه الملفات إلى ذاكرة التخزين المؤقت المحلية عند بدء تشغيل التطبيق.يقتصر حجم هذين المجلدين على 1 جيجابايت افتراضيا ، ولكن يمكنك زيادة الحجم إلى 2 جيجابايت. مع زيادة حجم ذاكرة التخزين المؤقت، يستغرق تحميل ذاكرة التخزين المؤقت وقتا أطول. إذا قمت بزيادة حد ذاكرة التخزين المؤقت المحلية إلى 2 غيغابايت وتجاوزت الملفات المنسخة هذا الحجم الأقصى، فإن App Service تتجاهل بصمت ذاكرة التخزين المؤقت المحلية وتقرأ من مشاركة الملفات البعيدة.
مهم
عندما تتجاوز الملفات المنسخة حد الحجم المحدد لذاكرة التخزين المؤقت المحلية، أو عندما لا يتم تعريف أي حد، قد تفشل عمليات النشر والتبديل مع حدوث خطأ. للحصول على التفاصيل، راجع الأسئلة المتداولة حول حدود الحجم لاحقا في هذه المقالة.
ذاكرة التخزين المؤقت المحلية للقراءة/الكتابة. ومع ذلك، يتم تجاهل أي تعديلات عند انتقال التطبيق بين الأجهزة الظاهرية أو إعادة التشغيل. لا تستخدم ذاكرة التخزين المؤقت المحلية لتخزين البيانات المهمة الحرجة.
D:\home\LogFilesوتحتويD:\home\Dataعلى ملفات السجل وبيانات التطبيق. يتم تخزين هذه المجلدات محليا على مثيل الجهاز الظاهري ويتم نسخها بشكل دوري إلى مخزن المحتوى المشترك. على الرغم من أن التطبيقات يمكن أن تستمر في ملفات السجل والبيانات عن طريق الكتابة إلى هذه المجلدات، فإن عملية النسخ هي أفضل جهد. قد تفقد ملفات السجل والبيانات إذا توقف مثيل الجهاز الظاهري فجأة عن الاستجابة.تؤثر النسخة الأفضل جهد على دفق السجل. قد تلاحظ تأخيرا لمدة دقيقة واحدة في السجلات المتدفقة.
في مخزن المحتوى المشترك، تتغير بنية
LogFilesDataالمجلد للتطبيقات التي تستخدم ذاكرة التخزين المؤقت المحلية. هناك الآن مجلدات فرعية بأسماء تتكون من معرف فريد وطابع زمني. يتوافق كل مجلد فرعي مع مثيل جهاز ظاهري حيث يكون التطبيق قيد التشغيل أو قيد التشغيل.تبقى المجلدات الأخرى في
D:\homeذاكرة التخزين المؤقت المحلية ولا يتم نسخها إلى مخزن المحتوى المشترك.يتم نشر عمليات نشر التطبيقات عبر أي أسلوب مدعوم مباشرة إلى مخزن المحتوى المشترك الدائم. لتحديث المجلدات
D:\home\siteوD:\home\siteextensionsفي ذاكرة التخزين المؤقت المحلية، يجب إعادة تشغيل التطبيق. للمساعدة في ضمان دورة حياة سلسة، راجع القسم حول أفضل الممارسات لاحقا في هذه المقالة.تستمر طريقة عرض المحتوى الافتراضية لموقع SCM في إظهار مخزن المحتوى المشترك.
إشعار
إذا كنت تستخدم Java (Java SE أو Tomcat أو JBoss EAP)، فبشكل افتراضي، يتم نسخ عناصر Java (ملفات .jar و.war و.ear) محليا إلى العامل. إذا كان تطبيق Java الخاص بك يعتمد على الوصول للقراءة فقط إلى ملفات إضافية، فقم بتعيين JAVA_COPY_ALL إلى true بحيث يتم نسخ هذه الملفات أيضا. إذا تم تمكين ذاكرة التخزين المؤقت المحلية، فإنها لها الأسبقية على هذا السلوك الخاص ب Java.
JAVA_COPY_ALL غير متوافق مع الاصطلاح القديم للنشر إلى /home/site/wwwroot/webapps.
أساليب تمكين ذاكرة التخزين المؤقت المحلية
يمكنك تكوين ذاكرة تخزين مؤقت محلية باستخدام مجموعة من إعدادات التطبيق المحجوزة. يمكنك تكوين إعدادات التطبيق هذه باستخدام إحدى الطرق التالية.
تكوين ذاكرة تخزين مؤقت محلية باستخدام مدخل Microsoft Azure
قم بتمكين ذاكرة التخزين المؤقت المحلية على أساس كل تطبيق ويب عن طريق إضافة إعداد التطبيق هذا: WEBSITE_LOCAL_CACHE_OPTION = Always.
تكوين ذاكرة تخزين مؤقت محلية باستخدام Azure Resource Manager
{
"apiVersion": "2015-08-01",
"type": "config",
"name": "appsettings",
"dependsOn": [
"[resourceId('Microsoft.Web/sites/', variables('siteName'))]"
],
"properties": {
"WEBSITE_LOCAL_CACHE_OPTION": "Always",
"WEBSITE_LOCAL_CACHE_SIZEINMB": "1000"
}
}
تغيير إعداد الحجم في ذاكرة التخزين المؤقت المحلية
بشكل افتراضي، حجم ذاكرة التخزين المؤقت المحلية هو 1 غيغابايت. يتضمن هذا الحجم المجلدين /site و /siteextensions المنسخين من مخزن المحتوى. كما يتضمن أي سجلات ومجلدات بيانات تم إنشاؤها محليا.
لزيادة هذا الحد، استخدم إعداد WEBSITE_LOCAL_CACHE_SIZEINMBالتطبيق . يمكنك زيادة الحجم حتى 2 غيغابايت (2000 ميغابايت) لكل تطبيق. ضع في اعتبارك أن حجم ذاكرة التخزين المؤقت الأكبر يزيد من الوقت لتحميل ذاكرة التخزين المؤقت.
أفضل الممارسات لاستخدام ذاكرة التخزين المؤقت المحلية
نوصي باستخدام ذاكرة تخزين مؤقت محلية مع ميزة بيئات التدريج .
تمثل العملية التالية أفضل الممارسات لاستخدام ذاكرة التخزين المؤقت المحلية:
أضف إعداد
WEBSITE_LOCAL_CACHE_OPTIONالتطبيق الملصق بالقيمة إلى فتحةAlwaysالإنتاج . إذا كنت تستخدمWEBSITE_LOCAL_CACHE_SIZEINMB، فميز هذا الإعداد أيضا كإعداد لزج لفتحة الإنتاج.إنشاء فتحة التقسيم المرحلي ونشرها. عادة ، لا تقوم بتعيين الفتحة المرحلية لاستخدام ذاكرة تخزين مؤقت محلية. يساعد هذا التكوين على تمكين دورة حياة إنشاء/نشر/اختبار سلسة مع الاستمرار في توفير مزايا ذاكرة التخزين المؤقت المحلية لفتحة الإنتاج.
اختبر موقعك في فتحة التقسيم المرحلي.
عندما تكون مستعدا، قم بإجراء عملية تبديل بين فتحات التقسيم المرحلي والإنتاج.
ترتبط الإعدادات الملصقة بالفتحة. عند تبديل فتحة التقسيم المرحلي إلى الإنتاج، فإنها ترث إعدادات تطبيق ذاكرة التخزين المؤقت المحلية. يتم تشغيل فتحة الإنتاج التي تم تبديلها حديثا مقابل ذاكرة التخزين المؤقت المحلية بعد بضع دقائق ويتم تجهيزها أثناء تجهيز الفتحة. بعد اكتمال التبديل، يتم تشغيل فتحة الإنتاج مقابل ذاكرة التخزين المؤقت المحلية.
الأسئلة المتداولة
ماذا لو تجاوزت حد الحجم لذاكرة التخزين المؤقت المحلية؟
إذا تجاوزت الملفات المنسخة حد الحجم لذاكرة التخزين المؤقت المحلية، يعود التطبيق إلى القراءة من المشاركة البعيدة. يعرض الجدول التالي التفاصيل.
| حجم ذاكرة التخزين المؤقت المحلية | الملفات المنسخة | نتيجة |
|---|---|---|
| ≤ 2 غيغابايت | ≤ حجم ذاكرة التخزين المؤقت المحلية | القراءة من ذاكرة التخزين المؤقت المحلية. |
| ≤ 2 غيغابايت | > حجم ذاكرة التخزين المؤقت المحلية | القراءة من المشاركة البعيدة. قد تفشل عمليات التوزيع والتبديل مع حدوث خطأ. |
كيف يمكنني معرفة ما إذا كان تطبيقي يمكنه الاستفادة من ذاكرة التخزين المؤقت المحلية؟
تعد ذاكرة التخزين المؤقت المحلية مناسبة إذا تم تطبيق جميع هذه الشروط:
- يتطلب تطبيقك مخزن محتوى عالي الأداء وموثوق به.
- لا يستخدم تطبيقك مخزن المحتوى لكتابة البيانات الهامة في وقت التشغيل.
- الحجم الإجمالي أقل من 2 غيغابايت.
للتحقق من الحجم الإجمالي للمجلدات /site و /siteextensions ، يمكنك استخدام ملحق الموقع استخدام قرص Azure Web Apps.
كيف يمكنني معرفة ما إذا كان موقعي قد تحول إلى استخدام ذاكرة تخزين مؤقت محلية؟
عند استخدام ذاكرة تخزين مؤقت محلية مع بيئات التقسيم المرحلي، لا تنتهي عملية التبديل حتى يتم تجهيز ذاكرة التخزين المؤقت المحلية. للتحقق من أن موقعك يعمل مقابل ذاكرة التخزين المؤقت المحلية، تحقق من متغير WEBSITE_LOCALCACHE_READYبيئة معالجة العامل . للحصول على معلومات حول فحص هذا المتغير عبر مثيلات متعددة، راجع إرشادات Kudu لمتغير بيئة عملية العامل.
لماذا لا يعكس تطبيقي التغييرات المنشورة حديثا؟
إذا كان تطبيقك يستخدم ذاكرة تخزين مؤقت محلية، فيجب عليك إعادة تشغيل الموقع لتحميل أحدث التغييرات. إذا كنت تفضل عدم نشر التغييرات مباشرة على موقع الإنتاج، ففكر في استخدام فتحات النشر كما هو موضح في القسم السابق حول أفضل الممارسات.
إشعار
خيار التشغيل من نشر الحزمة غير متوافق مع ميزة ذاكرة التخزين المؤقت المحلية.
أين توجد سجلاتي؟
عند استخدام ذاكرة تخزين مؤقت محلية، تتغير بنية مجلدات السجل والبيانات قليلا. يتم الآن تداخل المجلدات الفرعية ضمن مجلد يسمى بمعرف الجهاز الظاهري الفريد والطابع الزمني. يتوافق كل مجلد من هذه المجلدات مع مثيل الجهاز الظاهري حيث يكون التطبيق قيد التشغيل أو قيد التشغيل.
لماذا يستمر تطبيق تطبيقي في إعادة التشغيل عند تمكين ذاكرة التخزين المؤقت المحلية؟
تساعد ذاكرة التخزين المؤقت المحلية على منع إعادة تشغيل التطبيق المتعلق بالتخزين. ومع ذلك، قد يستمر إعادة تشغيل التطبيق أثناء ترقيات البنية الأساسية المخطط لها على الجهاز الظاهري. بشكل عام ، يجب أن تلاحظ عددا أقل من عمليات إعادة التشغيل إذا كان لديك ذاكرة تخزين مؤقت محلية ممكنة.
هل تستبعد ذاكرة التخزين المؤقت المحلية نسخ أي دلائل إلى محرك الأقراص المحلي الأسرع؟
أثناء عملية النسخ، يتم استبعاد أي مجلد مسمى repository . هذا السلوك مفيد في السيناريوهات التي يتضمن فيها محتوى موقعك مستودع التحكم بالمصادر الذي لا تحتاج إليه للعمليات اليومية.
كيف يمكنني مسح سجلات ذاكرة التخزين المؤقت المحلية بعد عملية إدارة الموقع؟
لمسح سجلات ذاكرة التخزين المؤقت المحلية، قم بإيقاف التطبيق وإعادة تشغيله. يمسح هذا الإجراء ذاكرة التخزين المؤقت السابقة.
لماذا تعرض App Service الملفات المنشورة مسبقا بعد إعادة التشغيل عند تمكين ذاكرة التخزين المؤقت المحلية؟
إذا ظهرت الملفات المنشورة مسبقا مرة أخرى بعد إعادة التشغيل، فتحقق من وجود إعداد WEBSITE_DISABLE_SCM_SEPARATION=trueالتطبيق . تؤدي إضافة هذا الإعداد إلى كتابة عمليات التوزيع عبر Kudu إلى الجهاز الظاهري المحلي بدلا من التخزين المستمر. لتجنب هذا الموقف، اتبع أفضل الممارسات المذكورة سابقا وقم بإجراء عمليات التوزيع إلى فتحة التقسيم المرحلي التي لم يتم تمكين ذاكرة التخزين المؤقت المحلية فيها.