Forum
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 ?
IIS 6 dan sonraki sürümlerde cache özelliği mevcut. https://www.iis.net/configreference/system.webserver/caching linkten inceleyebilirsiniz.
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 ; http://sozluk.cozumpark.com/goster.aspx?id=3823&kelime=Kernel-Mode-User-Mode&utm_source=twitterfeed&utm_medium=twitter sözlükten ulaşabilirsiniz.
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.
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ı...
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 ?
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
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
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...
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.