Temeli toplama: Azure VM'de SQL Server için en iyi performans yöntemleri

Şunlar için geçerlidir:Azure VM'de SQL Server

Bu makalede, Azure Sanal Makineler'de (VM' ler) SQL Server'ınız için performansı iyileştirmeye yönelik en iyi yöntemler ve yönergeler dizisi olarak bir performans temeli toplamaya yönelik bilgiler sağlanır.

Genellikle maliyetleri iyileştirme ile performansı iyileştirme arasında bir denge vardır. Bu en iyi performans uygulamaları serisi, Azure Sanal Makineler'de SQL Server için en iyi performansı almaya odaklanmıştır. İş yükünüz daha az zorluysa, önerilen her iyileştirmeye ihtiyacınız olmayabilir. Bu önerileri değerlendirirken performans gereksinimlerinizi, maliyetlerinizi ve iş yükü desenlerinizi göz önünde bulundurun.

Genel Bakış

Açıklayıcı bir yaklaşım için PerfMon/LogMan kullanarak performans sayaçlarını toplayın ve kaynak ortamın genel baskılarını ve olası performans sorunlarını daha iyi anlamak için SQL Server bekleme istatistiklerini yakalayın.

İlk olarak, uygulama performansı denetim listesini takip eden yoğun zamanlarda kaynak iş yükünün CPU, bellek, IOPS, aktarım hızı ve gecikme süresinitoplayın.

Tipik iş gününüzdeki iş yükleri gibi yoğun saatlerde, aynı zamanda gün sonu işleme ve hafta sonu ETL iş yükleri gibi diğer yüksek yük süreçlerinde veri toplayın. Kaynaklarınızın ölçeğini üç aylık işlem sonu gibi atiptik olarak yoğun iş yükleri için artırmayı ve iş yükü tamamlandıktan sonra ölçeklendirmeyi göz önünde bulundurun.

İş yükünüzün performans gereksinimlerine göre ölçeklenebilen VM Boyutunu seçmek için performans analizini kullanın.

Depolama

SQL Server performansı büyük ölçüde G/Ç alt sistemine bağlıdır ve depolama performansı IOPS ve aktarım hızıyla ölçülür. Veritabanınız fiziksel belleğe sığmadığı sürece SQL Server sürekli olarak veritabanı sayfalarını arabellek havuzuna getirir. SQL Server için veri dosyaları farklı şekilde ele alınmalıdır. Günlük dosyalarına erişim, dahil olmak üzere tempdbveri dosyalarının rastgele erişildiği bir işlemin geri alınması gerekmesi dışında sıralı olur. Yavaş bir G/Ç alt sisteminiz varsa kullanıcılarınız yavaş yanıt süreleri ve zaman aşımları nedeniyle tamamlanmayan görevler gibi performans sorunlarıyla karşılaşabilir.

Azure Market sanal makinelerinde günlük dosyaları varsayılan olarak veri dosyalarından ayrı olan fiziksel bir diskte bulunur. Veri dosyalarının tempdb sayısı ve boyutu en iyi yöntemleri karşılar ve kısa ömürlü D:\ sürücüye hedeflenir.

Aşağıdaki PerfMon sayaçları SQL Server'ınızın gerektirdiği GÇ aktarım hızını doğrulamaya yardımcı olabilir:

  • \LogicalDisk\Disk Okuma/Sn (IOPS okuma)
  • \LogicalDisk\Disk Yazma/Sn (yazma IOPS)
  • \LogicalDisk\Disk Okuma Bayt/Sn (veriler, günlük ve tempdb dosyalar için okuma aktarım hızı gereksinimleri)
  • \LogicalDisk\Disk Yazma Bayt/Sn (veriler, günlük ve tempdb dosyalar için yazma aktarım hızı gereksinimleri)

IOPS ve aktarım hızı gereksinimlerini en yüksek düzeylerde kullanarak, ölçümlerinizdeki kapasiteyle eşleşen VM boyutlarını değerlendirin.

İş yükünüz 20.000 okuma IOPS ve 10.000 yazma IOPS gerektiriyorsa, Depolama Alanları kullanılarak şeritli 2 P30 disk içeren E16s_v3 (en fazla 32K önbelleğe alınmış ve 25600 açılmamış IOPS ile) veya M16_s (20.000'e kadar önbelleğe alınmış ve 10K açılmamış IOPS ile) seçebilirsiniz.

VM'lerin IOPS ve aktarım hızı için farklı ölçek sınırları olduğundan iş yükünün hem aktarım hızı hem de IOPS gereksinimlerini anladığınızdan emin olun.

Bellek

hem işletim sistemi tarafından kullanılan dış belleği hem de SQL Server tarafından dahili olarak kullanılan belleği izleyin. Her iki bileşen için de baskının belirlenmesi, sanal makinelerin boyutlandırılmasına ve ayarlama fırsatlarının belirlenmesine yardımcı olur.

Aşağıdaki PerfMon sayaçları bir SQL Server sanal makinesinin bellek durumunu doğrulamaya yardımcı olabilir:

İşlem

Azure'da işlem, şirket içi ortamdan farklı yönetilir. Şirket içi sunucular, yönetim yükü ve yeni donanım edinme maliyeti nedeniyle yükseltme yapılmadan birkaç yıl dayanacak şekilde oluşturulur. Sanallaştırma bu sorunların bazılarını azaltır, ancak uygulamalar temel alınan donanımdan en iyi şekilde yararlanacak şekilde iyileştirilmiştir; bu da kaynak tüketiminde önemli bir değişikliğin fiziksel ortamın tamamını yeniden dengelemeyi gerektirdiği anlamına gelir.

Bu, farklı bir donanım serisinde ve hatta farklı bir bölgede bulunan yeni bir sanal makinenin kolayca ulaşılabileceği Azure'da bir zorluk değildir.

Azure'da mümkün olduğunca çok sanal makine kaynağından yararlanmak istiyorsunuz, bu nedenle Azure sanal makinelerinin iş yükünü etkilemeden ortalama CPU'nun mümkün olduğunca yüksek kalmasını sağlayacak şekilde yapılandırılması gerekir.

Aşağıdaki PerfMon sayaçları, SQL Server sanal makinesinin işlem durumunu doğrulamaya yardımcı olabilir:

  • \İşlemci Bilgileri(_Total)% İşlemci Süresi
  • \Process(sqlservr)% İşlemci Süresi

Not

İdeal olarak, işleminizin %80'ini kullanmayı ve sürekli bir süre boyunca %90'ın üzerinde artışla ancak %100'e ulaşmamayı hedeflemeyi deneyin. Temel olarak, yalnızca uygulamanın ihtiyaç duyduğu işlemi sağlamak ve ardından işletmenin gerektirdiği şekilde ölçeği artırmayı veya azaltmayı planlamak istiyorsunuz.

Sonraki adımlar

Daha fazla bilgi edinmek için bu en iyi yöntemler serisindeki diğer makalelere bakın:

En iyi güvenlik uygulamaları için bkz . Azure Sanal Makineler'de SQL Server için güvenlikle ilgili dikkat edilmesi gerekenler.

Azure Sanal Makineler üzerinde SQL Server'a Genel Bakış sayfasında diğer SQL Server Sanal Makinesi makalelerini gözden geçirin. SQL Server sanal makineleri hakkında sorularınız olursa Sık Sorulan Sorular bölümüne bakın.