Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tavsiye
Azure Copilot'a şu soruları da sorabilirsiniz:
- Azure App Service'te yerel önbellek nasıl çalışır?
- Azure App Service'te yerel önbellek kullanmanın avantajları nelerdir?
- Azure App Service'te yerel önbellek kullanmanın sınırlamaları nelerdir?
Azure Copilot'ı kullanmak için Azure portalı araç çubuğunda Copilot'ı seçin.
Azure App Service içeriği Azure Depolama'da depolanır ve dayanıklı içerik paylaşımı olarak kullanıma sunulur. Bu tasarım çeşitli uygulamalarla çalışır ve aşağıdaki özniteliklere sahiptir:
- İçerik, uygulamanın birden çok sanal makine (VM) örneğinde paylaşılır.
- İçerik dayanıklıdır ve çalışan uygulamalar içeriği değiştirebilir.
- Günlük dosyaları ve tanılama veri dosyaları aynı paylaşılan içerik klasörü altında kullanılabilir.
- Yeni içerik yayımlanması doğrudan içerik klasörünü güncelleştirir. Kaynak Denetim Yöneticisi (SCM, Kudu olarak da bilinir) web sitesi ve çalışan uygulama aracılığıyla aynı içeriği hemen görüntüleyebilirsiniz. Ancak, bazı teknolojiler (ASP.NET gibi) en son içeriği yüklemek için belirli dosya değişikliklerinde uygulama yeniden başlatma işlemi başlatabilir.
Birçok uygulama bu özelliklerden birini veya daha fazlasını kullansa da, bazı uygulamaların yüksek kullanılabilirlikle çalıştırabilecekleri yüksek performanslı, salt okunur bir içerik deposuna ihtiyacı vardır. Bu tür uygulamalar, VM örneğindeki yerel bir önbellekte çalışma avantajından yararlanabilir.
App Service'teki yerel önbellek özelliği, içeriğinizin web rolü görünümünü sağlar. Site başlangıcında zaman uyumsuz olarak oluşturulan bu içerik, depolama içeriğinizin yazıp sonra atan bir önbelleğidir. Önbellek hazır olduğunda, site önbelleğe alınmış içeriğe karşı çalışacak şekilde geçiş yapar.
Yerel önbellek ile çalışan uygulamalar şu şekillerde faydalanır:
- Azure Depolama'daki içeriğe erişimle ilişkili gecikme sürelerine karşı bağışıklıkları vardır.
- Salt okunur kopya yerel olarak önbelleğe alındığından, depolamaya bağlanmayla ilgili sorunlar bunları etkilemez.
- Depolama paylaşımındaki değişikliklerden daha az uygulama yeniden başlatması yaşarlar.
Uyarı
Yerel önbellek özelliği , Windows kapsayıcıları veya yerleşik veya özel Linux kapsayıcıları gibi işlev uygulamalarında veya kapsayıcılı App Service uygulamalarında desteklenmez. Uygulama Önbelleği , özelliğin bu uygulama türleri için kullanılabilen bir sürümüdür.
Yerel önbellek özelliği, App Service'in F1 ve D1 fiyatlandırma katmanlarında da desteklenmez.
Yerel önbellek App Service'in davranışını nasıl değiştirir?
Yerel önbelleğin yapılandırılması şu değişikliklere neden olur:
D:\homeuygulama başlatıldığında VM örneğinde oluşturulan yerel önbelleğe işaret eder.D:\localgeçici, VM'ye özgü depolamaya işaret etmeye devam eder.Yerel önbellek, paylaşılan içerik deposundaki
/siteve/siteextensionsklasörlerinin tek seferlik bir kopyasını içerir. Bu klasörler sırasıylaD:\home\siteveD:\home\siteextensionskonumlarında bulunur. Bu dosyalar uygulama başlangıcında yerel önbelleğe kopyalanır.Bu iki klasör varsayılan olarak 1 GB ile sınırlıdır, ancak boyutu 2 GB'a artırabilirsiniz. Önbellek boyutu arttıkça önbelleğin yüklenmesi daha uzun sürer. Yerel önbellek sınırını 2 GB'a artırırsanız ve kopyalanan dosyalar bu üst sınırı aşarsa, App Service yerel önbelleği sessizce yoksayar ve uzak dosya paylaşımından okur.
Önemli
Kopyalanan dosyalar yerel önbellek için tanımlı boyut sınırını aştığında veya herhangi bir sınır tanımlanmadığında dağıtım ve değiştirme işlemleri bir hatayla başarısız olabilir. Ayrıntılar için bu makalenin devamındaki Boyut sınırları hakkında SSS bölümüne bakın.
Yerel önbellek okuma/yazma işlemidir. Ancak, uygulama VM'ler arasında hareket ettiğinde veya yeniden başlatıldığında tüm değişiklikler atılır. Görev açısından kritik verileri depolamak için yerel önbelleği kullanmayın.
D:\home\LogFilesveD:\home\Datagünlük dosyalarını ve uygulama verilerini içerir. Bu klasörler VM örneğinde yerel olarak depolanır ve düzenli aralıklarla paylaşılan içerik deposuna kopyalanır. Uygulamalar günlük dosyalarını ve verileri bu klasörlere yazarak kalıcı hale gelse de, kopyalama işlemi en iyi çabayı gösterir. Bir VM örneği aniden yanıt vermeyi durdurursa günlük dosyaları ve veriler kaybolabilir.En iyi çabayla oluşturulan kopya günlük akışını etkiler. Akışlı günlüklerde bir dakika kadar gecikme olduğunu gözlemleyebilirsiniz.
Paylaşılan içerik deposunda, için klasör yapısı
LogFilesveDatayerel önbellek kullanan uygulamalar için değişir. Artık benzersiz bir tanımlayıcı ve zaman damgasından oluşan adlara sahip alt klasörler vardır. Her alt klasör, uygulamanın çalıştığı veya çalıştığı bir VM örneğine karşılık gelir.içindeki
D:\homediğer klasörler yerel önbellekte kalır ve paylaşılan içerik deposuna kopyalanmamıştır.Desteklenen herhangi bir yöntem aracılığıyla uygulama dağıtımları doğrudan dayanıklı paylaşılan içerik deposunda yayımlar. Yerel önbellekteki
D:\home\siteveD:\home\siteextensionsklasörlerini yenilemek için uygulamayı yeniden başlatmanız gerekir. Sorunsuz bir yaşam döngüsü sağlamaya yardımcı olmak için, bu makalenin devamında en iyi yöntemler hakkındaki bölüme bakın.SCM sitesinin varsayılan içerik görünümü paylaşılan içerik depoyu yansıtmaya devam eder.
Uyarı
Java (Java SE, Tomcat veya JBoss EAP) kullanıyorsanız, varsayılan olarak Java yapıtları (.jar, .war ve .ear dosyaları) çalışana yerel olarak kopyalanır. Java uygulamanız ek dosyalara salt okunur erişime bağımlıysa, bu dosyaların da kopyalanabilmesi için JAVA_COPY_ALL öğesini true olarak ayarlayın. Yerel önbellek etkinleştirilirse, Java'ya özgü davranıştan daha önceliklidir.
JAVA_COPY_ALL , 'a dağıtmanın /home/site/wwwroot/webappseski kuralıyla uyumlu değildir.
Yerel önbelleği etkinleştirme yöntemleri
Ayrılmış uygulama ayarlarının bir bileşimini kullanarak yerel önbellek yapılandırırsınız. Aşağıdaki yöntemlerden birini kullanarak bu uygulama ayarlarını yapılandırabilirsiniz.
Azure portalını kullanarak yerel önbellek yapılandırma
Şu uygulama ayarını ekleyerek web uygulaması başına yerel önbelleği etkinleştirin: WEBSITE_LOCAL_CACHE_OPTION = Always.
Azure Resource Manager kullanarak yerel önbellek yapılandırma
{
"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"
}
}
Yerel önbellekte boyut ayarını değiştirme
Varsayılan olarak, yerel önbellek boyutu 1 GB'tır. Bu boyut, içerik deposundan kopyalanan /site ve /siteextensions klasörlerini içerir. Ayrıca yerel olarak oluşturulan günlükleri ve veri klasörlerini de içerir.
Bu sınırı artırmak için uygulama ayarını WEBSITE_LOCAL_CACHE_SIZEINMBkullanın. Boyutu uygulama başına 2 GB'a (2.000 MB) kadar artırabilirsiniz. Daha büyük bir önbellek boyutunun önbelleği yükleme süresini artırdığını unutmayın.
Yerel önbellek kullanmak için en iyi yöntemler
Hazırlama ortamları özelliğiyle birlikte yerel önbellek kullanmanızı öneririz.
Aşağıdaki işlem, yerel önbellek kullanmaya yönelik en iyi yöntemleri temsil eder:
Kalıcı uygulama ayarını
WEBSITE_LOCAL_CACHE_OPTIONdeğeriyleAlwaysüretim sürümünüze ekleyin. EğerWEBSITE_LOCAL_CACHE_SIZEINMBkullanıyorsanız, bu özelliği üretim yuvası için yapışkan bir ayar olarak da işaretleyin.Bir hazırlama yuvası oluşturun ve bu yuvada yayımlayın. Genellikle hazırlama yuvasını yerel önbellek kullanacak şekilde ayarlamazsınız. Bu yapılandırma, üretim yuvası için yerel önbellek avantajları sağlamaya devam ederken sorunsuz derleme/dağıtma/test yaşam döngüsünü etkinleştirmeye yardımcı olur.
Sitenizi hazırlık alanında test edin.
Hazır olduğunuzda, hazırlık ve üretim yuvaları arasında bir değiştirme işlemi gerçekleştirin.
Ayarlar yapışkan bir şekilde yuvaya bağlıdır. Hazırlama yuvası üretime değiştirildiğinde yerel önbelleğin uygulama ayarlarını devralır. Yeni değiştirilmiş üretim yuvası birkaç dakika sonra yerel önbelleğe karşı çalışır ve yuva ısınması sırasında ısınır. Değiştirme işlemi tamamlandıktan sonra üretim yuvanız yerel önbellekte çalışır.
Sık sorulan sorular
Yerel önbellek için boyut sınırını aşarsam ne olur?
Kopyalanan dosyalar yerel önbellek için boyut sınırını aşarsa, uygulama uzak paylaşımdan okumaya geri döner. Aşağıdaki tabloda ayrıntılar gösterilmektedir.
| Yerel önbellek boyutu | Kopyalanan dosyalar | Sonuç |
|---|---|---|
| ≤ 2 GB | Yerel önbellek boyutu ≤ | Yerel önbellekten okuma yapar. |
| ≤ 2 GB | > yerel önbellek boyutu | Uzak paylaşımdaki verileri okur. Dağıtım ve değiştirme işlemleri bir hatayla başarısız olabilir. |
Uygulamamın yerel önbellekten yararlanabileceğini nasıl anlayabilirim?
Tüm bu koşullar geçerliyse yerel önbellek uygundur:
- Uygulamanız yüksek performanslı, güvenilir bir içerik deposu gerektirir.
- Uygulamanız çalışma zamanında kritik veriler yazmak için içerik depoyu kullanmaz.
- Toplam boyut 2 GB'tan küçüktür.
/site ve /siteextensions klasörlerinizin toplam boyutunu denetlemek için Azure Web Apps Disk Kullanımı site uzantısını kullanabilirsiniz.
Sitemin yerel önbellek kullanmaya geçip geçmediğini nasıl anlayabilirim?
Hazırlama ortamlarıyla yerel önbellek kullanırken, yerel önbellek ısınana kadar değiştirme işlemi tamamlanmaz. Sitenizin yerel önbellekte çalıştığını doğrulamak için çalışan işlemi ortam değişkenini WEBSITE_LOCALCACHE_READYdenetleyin. Bu değişkeni birden çok örnekte inceleme hakkında bilgi için çalışan işlem ortamı değişkeni için Kudu yönergelerine bakın.
Uygulamam neden yeni yayımlanan değişiklikleri yansıtmıyor?
Uygulamanız yerel önbellek kullanıyorsa, en son değişiklikleri yüklemek için siteyi yeniden başlatmanız gerekir. Değişiklikleri doğrudan üretim sitenizde yayımlamamayı tercih ediyorsanız, en iyi yöntemler hakkında önceki bölümde açıklandığı gibi dağıtım yuvalarını kullanmayı göz önünde bulundurun.
Uyarı
Paket dağıtımından çalıştır seçeneği yerel önbellek özelliğiyle uyumlu değildir.
Günlüklerim nerede?
Yerel önbellek kullanırken günlük ve veri klasörlerinizin yapısı biraz değişir. Alt klasörler artık benzersiz VM tanımlayıcısı ve zaman damgası ile adlandırılan bir klasörün altında iç içe yerleştirilmiştir. Bu klasörlerin her biri, uygulamanın çalıştığı veya çalıştığı VM örneğine karşılık gelir.
Yerel önbellek etkinleştirildiğinde uygulamam neden hala yeniden başlatılıyor?
Yerel önbellek, depolamayla ilgili uygulama yeniden başlatmalarını önlemeye yardımcı olur. Ancak, uygulamanız, sanal makinedeki planlı altyapı yükseltmeleri sırasında hala yeniden başlatılabilir. Genel olarak, yerel önbelleğiniz etkinse daha az yeniden başlatma gözlemlemeniz gerekir.
Yerel önbellek, dizinlerin daha hızlı yerel sürücüye kopyalanmasını dışlar mı?
Kopyalama işlemi sırasında adlı repository herhangi bir klasör dışlanır. Bu davranış, site içeriğinizin günlük işlemler için ihtiyacınız olmayan bir kaynak denetimi deposu içerdiği senaryolarda kullanışlıdır.
Site yönetimi işleminden sonra yerel önbellek günlüklerini nasıl temizebilirim?
Yerel önbellek günlüklerini temizlemek için uygulamayı durdurun ve yeniden başlatın. Bu eylem önceki önbelleği temizler.
Yerel önbellek etkinleştirildiğinde App Service neden yeniden başlatma sonrasında önceden dağıtılan dosyaları gösteriyor?
Daha önce dağıtılan dosyalar yeniden başlatıldıktan sonra yeniden görünürse, uygulama ayarının WEBSITE_DISABLE_SCM_SEPARATION=trueolup olmadığını denetleyin. Bu ayarın eklenmesi, Kudu aracılığıyla yapılan dağıtımların kalıcı depolama yerine yerel VM'ye yazmasına neden olur. Bu durumu önlemek için daha önce bahsedilen en iyi yöntemleri izleyin ve yerel önbelleği etkinleştirilmemiş bir hazırlama yuvasına dağıtımlar gerçekleştirin.
İlgili içerik
- Azure App Service'teki ortam değişkenleri ve uygulama ayarları