Akıllı performans

Tamamlandı

SQL Server ve Azure SQL, uygulamanız için tutarlı performans sağlanmasına yardımcı olması için otomasyon içerir. Bu otomasyon özellikleri topluca akıllı performans olarak adlandırılır.

Azure SQL için akıllı performans; akıllı sorgu işleme, otomatik plan düzeltmesi ve otomatik ayarlama özelliklerini içerir.

Akıllı sorgu işleme

Akıllı sorgu işleme (IQP), sorgu işlemcisinde yerleşik olarak bulunan yeni bir özellik paketidir. En son veritabanı uyumluluk düzeyini kullanarak bunu etkinleştirin. Uygulamalar en son veritabanı uyumluluk düzeyini kullanarak performans elde edebilir. Kod değişikliği gerekli değildir. IQP’ye örnek olarak, tablo değişkenlerini kullanan sorguların daha hızlı çalışmasına yardımcı olan tablo değişkeni ertelenmiş derlemesi verilebilir.

Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği, IQP'yi SQL Server 2019 ve sonraki sürümlerle kullanmak için gereken veritabanı uyumluluk düzeyini (150) destekler.

Otomatik plan düzeltmesi

SQL Server’da çözmesi en zor performans sorunlarından biri, sorgu planı regresyonlarıdır. Aynı sorgu yeniden derlendiğinde ve yeni plan daha düşük bir performansa neden olduğunda sorgu planı regresyonu oluşur.

SQL Server 2017 ve Azure SQL Veritabanı’nda, Sorgu Deposu’ndaki veriler analiz edilerek otomatik plan düzeltmesi kavramı ortaya konmuştur. SQL Server 2017 (veya üzeri) ve Azure SQL Veritabanı’nda bir veritabanıyla Sorgu Deposu etkinleştirildiğinde SQL Server altyapısı, sorgu planı regresyonlarını arar ve önerilerde bulunur. Bu önerileri sys.dm_db_tuning_recommendations dinamik yönetim görünümünde (DMV) görebilirsiniz. Bu öneriler, performans iyi durumda olduğunda bir sorgu planını el ile zorlamaya yönelik T-SQL deyimlerini içerir.

Bu önerilerde güvenilirlik elde ederseniz, SQL Server'da regresyonlarla karşılaşıldığında planların otomatik olarak zorlanmasını sağlayabilirsiniz. ve bağımsız değişkenini kullanarak ALTER DATABASE otomatik plan düzeltmesini AUTOMATIC_TUNING etkinleştirin.

Azure SQL Veritabanı için otomatik plan düzeltmesini Azure portalda veya REST API’lerde otomatik ayarlama seçenekleri aracılığıyla da etkinleştirebilirsiniz. Otomatik plan düzeltmesi önerileri, Sorgu Deposu’nun etkinleştirildiği her veritabanında etkindir (Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği için varsayılandır). Yeni veritabanları için otomatik plan düzeltmesi (FORCE_PLAN), Azure SQL Veritabanı için varsayılan olarak etkindir.

Azure SQL Veritabanı için otomatik ayarlama

Otomatik plan düzeltmesi, Azure SQL ve SQL Server'da otomatik ayarlamanın bir örneğidir, ancak Azure SQL Veritabanı için otomatik ayarlamanın benzersiz bir yönü otomatik dizinlemedir.

Dekont

Otomatik dizin oluşturma şu anda SQL Yönetilen Örneği’nde sağlanmamaktadır.

Bulut, Microsoft’un plan önerileri dışında, performans önerileri ve otomasyon biçiminde ek hizmetler sağlaması için bir yöntem sunar. Bu olanak, Azure SQL Veritabanı için otomatik ayarlama olarak bilinir. Bu hizmetler, Azure SQL Veritabanı örneğinden performans verilerini analiz eden arka plan programları olarak çalışır. Bu hizmetler, herhangi bir veritabanı aboneliğinin fiyatına dahildir.

Otomatik ayarlamanın çözüm getirmek için tasarlandığı ana senaryo, dizinlerle ilgilidir. Otomatik ayarlama, uygulama performansını geliştirebilecek dizinlerin oluşturulmasını önermek için Sorgu Deposu ve DMV'ler de dahil olmak üzere bir veritabanının telemetri verilerini analiz eder. Ayrıca sorgu performansını artırabilecek dizinleri otomatik olarak oluşturması için otomatik ayarlamayı etkinleştirebilirsiniz. Otomatik ayarlama, dizin değişikliklerini de izler ve sorgu performansını artırmayan dizinleri bırakmayı önerir veya otomatik olarak bırakır.

Azure SQL Veritabanı için otomatik ayarlama, dizinleri önerirken ölçülü bir yaklaşım benimser. Başka bir deyişle, gibi sys.dm_db_missing_index_detailsbir DMV'de veya bir sorgu planında görünebilecek öneriler, otomatik ayarlama önerileri olarak hemen görünmeyebilir. Otomatik ayarlama hizmetleri sorguları zaman içinde izler ve sorgu performansını gerçekten etkilemeye yönelik önerilerde bulunmak için makine öğrenmesi algoritmalarını kullanır.

Dizin önerileri için otomatik ayarlamanın, bir dizinin ekleme, güncelleştirme veya silme gibi işlemlerinizde neden olabileceği ek yük performansından sorumlu olmadığını unutmayın. Genellikle, otomatik dizinler özelliğinin oluşturduğu yeni kümelenmemiş dizinler önemli bir olumlu performans etkisine sahiptir.

Parametreli sorgular, otomatik ayarlama için ek bir senaryoyu temsil eder. Parametrelenmemiş değerler farklı olduğunda yürütme planı yeniden derlendiğinden, parametrelenmemiş değerlere sahip sorgular performans ek yüküne neden olabilir. Çoğu durumda farklı parametre değerlerine sahip sorgular aynı yürütme planlarını oluşturur. Ancak bu planlar yine de plan önbelleğine ayrı ayrı eklenir. Yürütme planlarını yeniden derleme işlemi veritabanı kaynaklarını kullanır, sorgu süresini artırır ve plan önbelleğinde taşmaya yol açar. Bu olaylar da planların önbellekten çıkarılmasına neden olur.

Bu senaryoya çözüm getirmek için Parametreye Duyarlı Plan (PSP) iyileştirmesini kullanabilirsiniz. PSP iyileştirmesi, tek bir parametreli deyim için birden çok etkin önbelleğe alınmış planı otomatik olarak etkinleştirir. Önbelleğe alınmış yürütme planları, müşteri tarafından sağlanan çalışma zamanı parametre değerlerine göre farklı veri boyutlarını barındırır.

Azure SQL Veritabanı’nda otomatik ayarlama ile dizinlerin örneği

Aşağıda, Azure portaldan alınmış ve zaman içinde yapılan iş yükü analizi temelinde dizinlerin önerildiği bir örnek yer alır. Henüz bunun gibi öneriler oluşturmak için korumalı alan Azure SQL Veritabanı yeterli etkinlik göndermedik. CREATE INDEX öneriler, iş yükünüz yakalandıkça zaman içinde oluşturulur ve bu alıştırmanın küçük bir zaman diliminde oluşturulmaz.

Screenshot of index recommendation notification.

Azure portalında, Performansa Genel Bakış bölümünde, Sorgu Deposu'nda bulunduğu gibi kaynak tüketen ilk beş sorgunun performans bilgilerini görebilirsiniz. Ayrıca bir öneri de vardır.

Screenshot of Query Performance Overview.

Azure portal ayrıca Sorgu Deposu'nu temel alan görsel raporlama aracı Sorgu Performansı İçgörüleri'ni de sunar. Bu örnekte Sorgu Performansı İçgörüleri, en fazla kaynak kullanan sorguyu ve sorgu performansını geliştirmeye yönelik önerileri gösterir.

Screenshot of Query Performance Insights.

Azure portal, tüm performans önerilerini doğrudan görmenin bir yolunu da sağlar.

Screenshot of Performance Recommendations.

Bu görünümde belirli önerileri ve tüm otomatik ayarlama eylemlerinin geçmişini görürsünüz. Bir dizin söz konusu olduğunda, dizinin ve tablonun ayrıntıları gösterilir. Otomatikleştir seçeneği, otomatik ayarlamayı etkinleştirir.

Screenshot of automatic tuning options.

Otomatik ayarlama seçenekleri, veritabanı sunucusu veya veritabanı düzeyinde ayarlanabilir. Bu senaryoda otomatik ayarlamayı etkinleştirdiyseniz dizin otomatik olarak oluşturulur.

Otomatik ayarlama seçeneklerini DMV aracılığıyla sys.database_automatic_tuning_options da görüntüleyebilirsiniz.

Dekont

dizinler ve parametreye duyarlı planlar için Öneriler ve otomasyon, Azure SQL Yönetilen Örneği veya SQL Server için kullanılamaz. Otomatik plan düzeltmesi mevcuttur.

Önerilen dizini seçerseniz, belirli dizinle ilgili daha fazla ayrıntı elde edebilirsiniz.

Screenshot of create index recommendation.

Dizin, tablo ve gerekli alan hakkındaki ayrıntıları görürsünüz. Önerilen dizini uygulama veya dizini uygulayan bir T-SQL betiğini görüntüleme seçeneğiniz vardır.

Screenshot of the index recommendation script.

Dizinin, çevrimiçi dizin olarak uygulanan kümelenmemiş bir dizin olduğuna dikkat edin. Bir öneriye dayalı olarak dizin uygulandığında (el ile veya otomatik ayarlama ile) öneri altyapısı, uygulanan dizinle birlikte sorgu performansını belirli bir süre izler. Sorgu performansı, dizinin uygulanmasından önceye göre daha düşükse dizini bırakabilirsiniz.

Bilgi kontrolü

1.

Aşağıdakilerden hangisi Akıllı Sorgu İşleme’yi (IQP) en iyi şekilde açıklar?

2.

Otomatik Plan Düzeltmesi, ne tür performans senaryolarının önerilmesine ve düzeltilmesine yardımcı olabilir?

3.

Azure SQL Veritabanı için Otomatik Ayarlama hangi bilgileri temel alarak dizin önerebilir ve oluşturabilir?

Yanıtlarınızı denetleyin