Forum

IIS ile URL 'yi cac...
 
Bildirimler
Hepsini Temizle

[Çözüldü] IIS ile URL 'yi cache ettirmek mümkün mü

9 Yazılar
3 Üyeler
0 Reactions
3,703 Görüntüleme
(@tugrulozturan)
Gönderiler: 4
Active Member
Konu başlatıcı
 
[#473327]

Linux ta Nginx ve Varnish ile sunucuya gelen örnegin ;  abc.com/sayfa111.htm  url sinin çıktısını cache ettirip istemciye direk döndürebiliyoruz. Aynı işlemi windows 2012 - IIS ile yapmak mümkün müdür ? 


 
Gönderildi : 29/09/2015 03:54
(@ozgur-mazlum)
Gönderiler: 2205
Illustrious Member
 

IIS 6 dan sonraki sürümlerde cache özelliği mevcut.  https://www.iis.net/configreference/system.webserver/caching  linkten inceleyebilirsiniz.


 
Gönderildi : 29/09/2015 12:15
(@okanozbey)
Gönderiler: 1299
Okan ÖZBEY
 

Merhaba,

IIS 8 'de Cache işlemi için Output caching özelliğini kullanabilirsiniz. Burada dikkat etmeniz gereken nokta cache olarak user-mode yada kernel-mode hangisini kullanacağınızdır. Eğer sunucunuzda yeterince kaynak var ise kernel-mode cache her zaman daha verimli sonuçlar sağlar. Bu iki terim ile ilgili daha fazla bilgiye aşağıdaki açıklamadan ulaşabilirsiniz. 

IIS Kernel Mode ve User Mode

IIS (Internet Information Services) mimarisi, web isteklerini işlemek için iki çalışma modu kullanır: Kernel Mode ve User Mode.

1. Kernel Mode

  • HTTP.sys adlı Windows çekirdek bileşeni tarafından kullanılır.

  • HTTP isteklerini düşük seviyede yakalar ve önbellekleme, bağlantı yönetimi gibi görevleri yapar.

  • Donanım ve sistem kaynaklarına doğrudan erişim vardır.

  • Yüksek performans sağlar, ancak hatalar sistem kararlılığını etkileyebilir.

2. User Mode

  • IIS Worker Process (w3wp.exe) bu modda çalışır.

  • ASP.NET, CGI, ISAPI uygulamaları gibi web uygulamalarının kodları burada yürütülür.

  • Kernel Mode üzerinden gelen istekler burada işlenir.

  • Kullanıcı uygulamaları sistem kaynaklarına doğrudan erişemez, hatalar yalnızca ilgili uygulamayı etkiler.

Kısaca: Kernel Mode → yüksek performans, sistem seviyesi; User Mode → uygulama seviyesi, güvenli ve izole çalıştırma.

Ayrıca diğer dikkat etmeniz gereken nokta ise File Cache Monitoring'dir. Using file change notifications seçeneğini kullanmanız halinde Dosyalarda yapılan değişiklikleri işletim sistemi algılayıp değişti bilgisini IIS gönderir ve cachelenen dosya güncel hali ile tekrardan sistem tarafından cachelenir. Bu sayede yapılan değişiklikler kısa bir sürede cache tarafında güncellenir. Ancak at time intervals seçeneğini seçmeniz halinde belirli bir saatte dosyalar tekrardan cachelenir yani bir nevi zamanlanmış görev oluşturmuş olursunuz. 

Kolay gelsin.


Bu ileti 11 ay önce Hakan Uzuner tarafından düzenlendi

www.okanozbey.com

 
Gönderildi : 29/09/2015 12:38
(@tugrulozturan)
Gönderiler: 4
Active Member
Konu başlatıcı
 

IIS sunucuda php script kullanıyorum ve alt sayfalarım abc.com/sayfaadi-787.htm   şeklinde. output cache ile sadece asp veya php dosyasının html çıktısını cache ettirebiliyorum. .htm uzantılı bir dosyayı cache etmiyor , bunun bir yontemi varmıdır? ne yaptıysam olmadı...


 
Gönderildi : 29/09/2015 15:20
(@okanozbey)
Gönderiler: 1299
Okan ÖZBEY
 

html cache ettiremiyorum derken hatamı alıyorsunuz ?  Ayrıca html dosyalarınız gerçekten var mı ? Yoksa dediğinizden anladığım üzere rewrite mi kullanıyorsunuz ?


www.okanozbey.com

 
Gönderildi : 29/09/2015 16:50
(@tugrulozturan)
Gönderiler: 4
Active Member
Konu başlatıcı
 

rewrite kullanıyorum evet. herhangi bir hata almıyorum, output cache e .htm uzantısını ekleyip , örnegin ftp ye merhaba.htm  uzantılı bir dosya atıyorum, ardından bu dosyaya siteadim.com/merhaba.htm  ile ulaşıyorum, sonra dosyayı silip tekrar ulaşmak istediğimde IIS in cache yapmadığını ve dosya olmadığı için 404 hatası verdiğini görüyorum. Yani IIS .htm uzantili dosyalari kendi cache ine almıyor. htm uzantısını cache ettirmenin bir yolu varmıdır


 
Gönderildi : 29/09/2015 16:58
(@okanozbey)
Gönderiler: 1299
Okan ÖZBEY
 

Yalnız teyit etme metodunuz yanlış bu şekilde çalışıp çalışmadığını anlayamazsınız. Dosya silip dosyayı çağırıp cacheleyip cachelemediğini teyit etmek doğru bir yöntem değil. 

Şu linkleri inceleyebilirsiniz teyit etmek için ; 

http://www.iis.net/learn/manage/managing-performance-settings/walkthrough-iis-output-caching

http://www.iis.net/learn/manage/managing-performance-settings/configure-iis-7-output-caching


www.okanozbey.com

 
Gönderildi : 29/09/2015 18:06
(@tugrulozturan)
Gönderiler: 4
Active Member
Konu başlatıcı
 

dosyayı silmeyip , içerigini değiştirsemde cache almadığını görebiliyorum, yani cache alsaydı dosyayı çağırdıktan sonra, yaptıgım degisikliği bidahaki çağırmamda görmemesi gerekirdi ama görüyor, yani cache e almıyor .htm sayfasını. sadece .asp ve .php yi cache liyor IIS. bi çözümü yok mu .htm  yi cache e almasını sağmanın...  yoksa mecburen linux a geri dönecez gibi görünüyor...


 
Gönderildi : 29/09/2015 18:30
(@okanozbey)
Gönderiler: 1299
Okan ÖZBEY
 

Tugrul bey anlaşamıyoruz 🙂 asp ve php 'de dediğiniz yöntemi yaptığınız da cachedeki veriyi okumaya devammı ediyor ? yani php dosyalarınızın birisinin ilk satırına bir veri kaydedin ve sayfayı tekrardan görüntüleyin, güncel olarak eklediğiniz veriyi göreceksiniz. 

Bunu kontrol etmek için verdiğim linkleri incelemenizi tavsiye ederim. Oraya girmiş olduğunuz tüm dosya uzantılarını ram bellekte saklamaktadır. Ancak rewrite kullandığınız için cache dosya uzantısına html değil php girmeniz gerekiyor bunuda belirtmek isterim. Sonuçta dosyalar html değil phpdir. 


www.okanozbey.com

 
Gönderildi : 29/09/2015 19:20
Paylaş: