Share via


IIS 7.0 - Yeni özellikler - 2

Geçen ay ilkini yazdığım bu serinin ikinci yazısında, aslında (tam olarak bu şekilde çalışmasa da) IIS 6.0 SP1 ile gelmiş olan ama pek bilinmeyen bir özellikten bahsedeceğim: "Failed Request Tracing" (FRT veya FREB)

Failed Request Tracing

Adından da anlaşılacağı üzere, bu özellik, başarısız olmuş isteklerle ilgili detayların kaydedilmesini sağlamaktadır. IIS 7.0'de, bunu tamamen arayüz üzerinden yapabiliyoruz. Ayrıca "başarısız istek" tanımını da kendimiz yapmaktayız. Aşağıdaki ekran görüntülerinde, tam olarak neler yapabildiğini güreceksiniz:

FREB'i aktive edebilmek için öncelikle, hangi web sitesinde açacaksak sol tarafta o web sitesini seçelim. Sağdaki "Actions" menüsünde "Failed Request Tracing..." linkini göreceksiniz:

Actions_FRT

Bu linke tıklayınca açılan pencereden öncelikle FREB'i aktive etmemiz gerekmektedir. Yine bu pencereden, toplam kaç kayıt dosyası istediğimizi ve bunların nereye kaydedilmesini istediğimizi belirliyoruz:

FRT_enable

Kayıt dosyası sayısında bir kısıtlama olmasının nedeni, az sonra belirleyeceğimiz kriterlere göre başarısız olan her istek için bir dosya yaratılıyor olması ve bu dosyanın ebatının 100-200 KB cıvarında olmasıdır. Eğer bu sayıyı çok yükseltirsek, ciddi performans sorunlarıyla karşılaşabiliriz. Burada yeri gelmişken şunu belitmekte fayda var: FREB gibi her türlü "tracing" işinin bir de maliyeti vardır. Bu nedenle bu tür özellikleri açmadan önce bunu mutlaka göz önünde bulundurmak gerekir. Ayrıca işimiz bitip sorunu tespit ettikten (ve giderdikten) sonra mutlaka tekrar kapatın.

FREB'i aktive ettikten sonra, orta bölümdeki "Failed Request Tracing Rules" ikonuna tıklayın. Burada açılacak olan sihirbaz ile "başarısız istek" kreiterlerimizi tanımlıyacağız:

FRT_wizard_1

Yukarıda da görebileceğiniz gibi, hangi tür dosyaların izleneceğini belirleyebiliyoruz. Dahası, eğer sorunun tam olarak hangi sayfada olduğunu biliyorsak sadece o sayfayı da izlemeye alabiliriz.

İkinci adımda "başarısız istek" kriterlerimizi belirliyoruz. Bu kriterler, HTTP durum kodları ve/veya isteğin işlenme süresi ve/veya olayın "aciliyeti" olabilir. Aşağıdaki örnekte 500 hata kodu dönen isteklerle toplamda 30 saniyeden daha uzun süren istekler için kayıt tutulacaktır:

FRT_wizard_2

Son adımda, tutulacak kaydın detay miktarını belirliyoruz. İzlediğimiz uygulama türüne göre seçimimizi yaparsak performans kaybımızı bir miktar azaltabiliriz:

FRT_wizard_3

Bu tanımı yaptıktan sonra, bu web sitesinde, 500 hata koduyla sonuçlanan veya toplam işlenme süresi 30 saniyeyi aşan tüm istekler için detaylı kayıtlar tutulacaktır. Burada daha önceden topladığım kayıtları paylaşmayacağım (olası içerikleri nedeniyle). Ancak size test amaçlı olarak bazı loglar toplamanızı ve incelemenizi öneririm.

Bu özellik, "dump analizi" ihtiyacımızı tamamen sıfıra indirmeyecek olsa da, pek çok durumda işimizi kesinlikle çok kolaylaştıracaktır.

CENK ISCAN