"Teknik uzmanlığım dışında diğer herşey" temalı günlüğüme de göz atmak ister misiniz: http://mustafaacungil.wordpress.com/

2 Aralık 2010 Perşembe

Analysis Services'ın 'soğuk' ve 'sıcak' performansı

Diyelim ki Analysis Services'ta bir sorguyu test etmek istiyorsunuz. Ama ilk çalıştırdığınızda süresi uzunken, tekrar denediğinizde zaten kısa sürede cevap veriyor. Böylelikle yaptığınız değişikliklerin etkisini anlama şansınız olmuyor.

Bunun sebebi Analysis Services'in verdiği cevapları önbelleğe (cache) almasıdır. Size önbellekten değil de sorguyu tekrar çalıştırarak cevap vermesini nasıl sağlarsınız? Bunun için şu XMLA kodunu kullanabilirsiniz:


  
               Adventure Works DW 2008          Adventure Works      
  



Database ve Cube'ün ismini değil ID'sini kullanmanız gerekiyor. Bunun için SSMS'te bu nesnelerin property sayfalarına erişerek bilgiyi alabilirsiniz.


Benzer bir etki veritabanı performansı ölçümü yaparken SQL Server Database Engine'de de sözkonusudur. Orada da (tabii ki bir test ortamında) DBCC FREEPROCCACHE komutunu kullanmayı düşünebilirsiniz. Ayrıca sayfalar da buffer'dan mı geliyor diye (procedure cache'i ve buffer cache'in her ikisi de boşalmış mı diye kontrol etmek için) merak ederseniz, set statistics io on ifadesini sorgudan önce kullanarak sorgu sonucuyla birlikte dönen mesajlarda io'ların diskten mi (physical ve read ahead) yoksa memory'den mi (logical) yapıldığını anlayabilirsiniz.

3 yorum:

Erdem ZENGİN dedi ki...

Merhaba; raporlarda 30 dk'lık bir cache ayarladığımızı varsayalım. O arada küpü tekrar process edersek, tekrar raporu çalıştırdığımızda güncel bilgileri verecekmidir?

Mustafa Acungil dedi ki...

Eğer analysis services'in cache'inden bahsediyorsak küp process olunca zaten devre dışı kalıp yenilenir.

Ama mesela reporting services raporunun cache'iyse ve süre bağlamında yapılmışsa, cache süresi dolana kadar rapor eski datayı gösterir.

Erdem ZENGİN dedi ki...

raporun cache'sinden bahsediyordum teşekkür ederim. Küpün process olma sıklıgından daha az bir cache süresi atamak ozaman problem yaratmayacaktır.