Web Önbelleğe Alma – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Web Önbelleğe Alma
Bir Web uygulamasının performansını iyileştirmeye yönelik ilk iki çözüm, yani kod optimizasyonu ve mimari ölçeklendirme, yüksek nitelikli teknik beceriler ve BT altyapısına büyük yatırımlar gerektirir. Düşük maliyetli ve düşük etkili performans iyileştirmesi elde etmenin üçüncü bir yolu, önbelleğe almanın dikkatli kullanımıyla da sağlanır.
Önbelleğe alma, kaynakları daha sonra almak üzere hızlı erişim konumunda geçici olarak depolamaktan oluşur; bilgisayar ve yazılım mimarilerinde çok konsolide bir uygulamadır. Örneğin, önbelleğe alma, yüksek maliyetli bellek erişimlerinden kaçınmak için, daha sonra yürütülme olasılığı yüksek olan talimatların işlemciye yakın bir hızlı erişim belleğinde depolandığı bilgisayar mimarilerinde de kullanılır.
Web bağlamında, önbelleğe alma, HTML sayfasının tamamından tek bir veri sorgusunun sonucuna kadar bir kullanıcı isteğine verilen yanıtın hesaplanmasında yer alan herhangi bir kaynak için de geçerlidir. Web önbelleğe alma, bir istemci isteği gerektiğinde hesaplamalarını en aza indirmek için bu tür kaynakları geçici olarak depolamak anlamına da gelir.
Web önbelleğe alma, bir dereceye kadar ortogonal olan iki temel fayda sağlar:
- Ağ gecikmesinin azaltılması: Önbellek, istemciye kaynağa sahip olan kaynak sunucudan daha yakınsa, kaynağın istemciye ulaşmak için geçmesi gereken yol daha kısadır, bu da bant genişliği tüketimini ve yanıt süresini azaltır.
- Hesaplama çabasının azaltılması: Kaynak dinamik olarak oluşturulmuşsa, önbelleğe alınmış bir kopya kullanmak, onu ham verilerden yeniden birleştirme çabasını en aza indirir.
Gösterildiği gibi Web önbelleğe alma, içerik teslimini içerik üretiminden ayırmanın bir yolu olarak görülebilir. En genel biçiminde, bir Web önbelleği, kullanıcı istekleri ile yanıtı üreten uygulama arasında aracılık yapar. Milyonlarca olabilen istemci istekleri, kaynakların önbelleğe alınmış kopyalarını barındıran özel bir altyapıya da yönlendirilir.
Bir istek önbelleğe alınmış bir kopya ile sunulabiliyorsa uygulamaya ulaşmaz; aksi takdirde, önbelleğe alma altyapısı, kaynağı almak için uygulamayı arar, bir kopyasını saklar ve istemciye de gönderir. Bu şekilde, gelen isteklerin yalnızca bir kısmı (pratik durumlarda %10’dan az olabilir) uygulama tarafından gerçek zamanlı olarak da sunulur.
İçerik teslimi ve üretiminin ayrıştırılması, mimarilere yapılan yatırımları büyük ölçüde azaltır, çünkü önbelleğe alma altyapısı birden fazla ancak pahalı olmayan makineler kullanılarak oluşturulur ve içerik üretimi için uygulama mimarisi, daha az trafiği sürdürmesi gerektiği için de küçültülebilir.
Uygun bir Web önbelleği ayarlamak, neyin önbelleğe alınacağı ve nesnelerin ne zaman ve nerede önbelleğe alınacağı sorularını yanıtlamayı da gerektirir.
Önbelleğe Alınacak Şeyler
Yanıta katkıda bulunan her şey önbelleğe alınabilir, örneğin:
- Statik HTML sayfaları ve multimedya dosyaları.
- Komut dosyası programları tarafından hesaplanan sayfa parçaları.
- Sayfa oluşturmak için komut dosyası programları tarafından tüketilen ara veriler, örneğin XML dosyaları.
- Veritabanı sorgularının veya diğer uygulama komutlarının sonucu.
Statik kaynaklar, uygulama kodundan ve mimarisinden bağımsız olarak her zaman önbelleğe alınabilir. Kalan nesnelerin önbelleğe alınabilmesi için, önbelleğe alınmış kopyaları geçersiz kılabilecek veri güncellemelerinin uygun şekilde işlenmesini sağlamak için uygulama kodunda ve/veya mimaride uygun önlemler de alınmalıdır.
Caching Nedir
Geçici depolama alanı önbellek tanımının karşılığı
Cache çeşitleri
Penetrasyon Testi Nedir
İn Memory Nedir
Ram Nedir
A distributed cache
Nerede Önbelleğe Alınır?
Önbelleğe alma, gösterildiği gibi Web mimarisinde her yerde bulunur. Bir önbelleğe alma mekanizmasının uygulanabileceği dört temel yol da vardır:
- Tarayıcı önbelleğe alma: her tarayıcı, önbelleğe alınmış nesneler içeren sayfaların yorumlanmasını hızlandırmak için kullanılan bir HTML sayfaları ve multimedya dosyaları önbelleği de içerir. Önbellek, kullanıcının sabit diskinde belirli bir alan sınırına kadar nesnelerle doldurulabilen bir dizindir. Tarayıcı tabanlı önbelleğe alma basittir ve evrensel olarak dağıtılır; yalnızca statik kaynaklar için geçerlidir ve yanıta uygun HTTP üstbilgileri veya HTML sayfasına yönergeler ekleyebilen ve tarayıcıyı önbelleği kullanmamaya zorlayan içerik sağlayıcı tarafından da atlanabilir.
- Proxy önbelleğe alma: bir proxy önbelleği, büyük bir kullanıcı topluluğu, örneğin bir şirket intranet ve genel İnternet arasında araya giren bir sunucu tarafı önbelleğidir. Proxy önbellekleri, kullanıcılar tarafından talep edilen her kaynağın yerel bir kopyasını saklar ve sık sorulan sayfaları almak için İnternet’e erişmekten de kaçınır.
- Avantajları, azaltılmış bant genişliği tüketimi ve yanıt süresidir. Proxy önbellekleri bazen güvenlik duvarı ile birlikte uygulanır, çünkü güvenlik duvarı intranetten İnternet’e akan istekleri kontrol eder ve bunun tersi de geçerlidir. Tarayıcı önbelleklerinin yanı sıra proxy önbellekleri de içerik tüketicisinin yanına da yerleştirilir.
- İçerik dağıtım ağları (CDN): CDN’ler, içerik tüketicileri ve içerik üreticileri arasında yer alan, genellikle hizmet sağlayıcılar tarafından yönetilen önbelleğe alma altyapılarıdır. Bir CDN tipik olarak çok sayıda coğrafi olarak dağıtılmış İnternet kullanıcısına hizmet vermek için de kullanılır.
Bir istemci, kaynak sunucuya bir sayfa istediğinde, sunucu, CDN’nin düğümlerine işaret eden yeniden yazılmış bağlantılara sahip bir sayfa döndürür, böylece diğer istemci istekleri CDN tarafından yönetilir. CDN, kullanıcının coğrafi konumunu ve gerçek zamanlı trafik koşullarını dikkate alarak sayfanın en uygun kopyasını seçen çoklu önbellek düğümleri ve karmaşık içerik teslim ilkeleri kullanarak isteklere hizmet de eder. CDN yaklaşımıyla, önbellek yönetimi genellikle dış kaynaklıdır; bu, genellikle megabayt başına ödenen oldukça maliyetli bir çözümdür.
Sunucu hızlandırıcıları: bir sunucu hızlandırıcı, içerik üreticisi tarafından uygulanan bir önbelleğe alma çözümüdür. Sunucu hızlandırıcı, sunucular tarafından üretilen nesnelerin kopyalarını önbelleğe alarak ve bunları sonraki isteklere teslim ederek, o kümeye gönderilen tüm istekleri engelleyen bir sunucu kümesinin önüne yerleştirilmiş bir arabellektir. Önbelleğe alınan nesnelerin sayısı arttıkça, sunucu hızlandırıcı giderek daha fazla sunucu iş yükünü azaltır ve bu da güçlü sunucu mimarilerine olan ihtiyacı azaltır.