denetim listesi: Azure vm 'lerinde SQL Server için en iyi uygulamalar

AŞAĞıDAKILER IÇIN GEÇERLIDIR: SQL Server VM'de sanal makine

bu makalede, Azure sanal makinelerinde (vm 'ler) SQL Server performansını iyileştirmek için en iyi uygulamalar ve yönergeler dizisi olarak hızlı bir denetim listesi sunulmaktadır.

kapsamlı ayrıntılar için, bu serinin diğer makalelerine bakın: denetim listesi, VM boyutu, Depolama, güvenlik, hadr yapılandırma, taban çizgisi toplama.

Genel Bakış

Azure sanal makinelerinde SQL Server çalıştırılırken, şirket içi sunucu ortamlarında SQL Server için geçerli olan veritabanı performansı ayarlama seçeneklerini kullanmaya devam edin. Ancak, bir genel buluttaki ilişkisel veritabanının performansı, bir sanal makinenin boyutu ve veri disklerinin yapılandırması gibi birçok faktöre bağlıdır.

Genellikle maliyetleri iyileştirmek ve performansı iyileştirmek arasında bir denge vardır. bu performans en iyi yöntemler serisi, Azure sanal makinelerinde SQL Server için en iyi performansı elde etmek üzere odaklanır. İş yükünüz daha az güç alıyorsa, önerilen en iyi duruma getirme gerektirmeyebilirsiniz. Bu önerileri değerlendirdiğiniz için performans ihtiyaçlarınızı, maliyetlerinizi ve iş yükü desenlerini göz önünde bulundurun.

VM Boyutu

aşağıda, Azure vm 'de SQL Server çalıştırmak için en iyi VM boyutu uygulamalarının hızlı bir denetim listesi verilmiştir:

  • Standard_M8-4ms, E4ds_v4veya DS12_v2 ya da üzeri gibi 4 veya daha fazla vCPU ile VM boyutlarını kullanın.
  • SQL Server iş yüklerinde en iyi performansı elde etmek amacıyla bellek için iyileştirilmiş sanal makine boyutlarını kullanın.
  • DSv2 11-15, Edsv4 serisi, d-ve Mv2 serisi, OLTP Iş yükleri için gereken en iyi bellekten Vcore oranını sunmaktadır. Her iki e serisi sanal makine, görev açısından kritik iş yükleri için gereken en yüksek bellek-vCore oranını sağlar ve ayrıca veri ambarı iş yükleri için de idealdir.
  • Görev açısından kritik ve veri ambarı iş yükleri için daha yüksek bir bellek-sanal çekirdek oranı düşünün.
  • SQL Server ayarları ve depolama seçenekleri en iyi SQL Server performans için yapılandırıldığı için Azure sanal makine marketi görüntülerini kullanın.
  • Hedef iş yükünün performans özelliklerini toplayın ve işletmeniz için uygun VM boyutunu tespit etmek üzere bunları kullanın.
  • mevcut SQL Server iş yükünüz için doğru VM boyutunu bulmak için veri Geçiş Yardımcısı SKU önerisi aracını kullanın.

Daha fazla bilgi edinmek için bkz. kapsamlı VM boyutu en iyi uygulamaları.

Depolama

aşağıda, Azure VM 'de SQL Server çalıştırmaya yönelik depolama yapılandırması için en iyi uygulamalar hakkında hızlı bir denetim listesi verilmiştir:

  • disk türünü seçmeden önce, uygulamayı izleyin ve SQL Server data, log ve tempdb dosyaları için depolama bant genişliği ve gecikme süresi gereksinimlerini saptayın .
  • Depolama performansını iyileştirmek için, kullanılabilir önbelleğe alınmamış en yüksek ıOPS 'yi planlayın ve sanal makine ve disklerin azalmasını/azaltmasınıönleyerek veri okuma işlemleri için performans özelliği olarak veri önbelleğe alma özelliğini kullanın.
  • Verileri, günlüğü ve tempdb dosyalarını ayrı sürücülere yerleştirin.
    • Veri sürücüsü için, önbellek desteğinin kullanılabilirliğini sağlamak üzere yalnızca Premium P30 ve P40 disklerini kullanın
    • Kapasite ve test performansı için günlük sürücüsü planı, Premium P30-P80 disklerinideğerlendirirken maliyet ile karşılaştırıldığında.
      • Alt milisaniyelik depolama gecikmesi gerekliyse, işlem günlüğü için Azure Ultra diskler ' i kullanın.
      • D serisi sanal makine dağıtımları için, Azure Ultra disklerini kullanarak yazma Hızlandırıcısı göz önünde bulundurun.
    • en D:\ iyi VM boyutunu seçtikten sonra, çoğu SQL Server iş yükü için tempdb 'yi yerel kısa ömürlü SSD sürücüsüne yerleştirin.
  • g/ç bant genişliğini hedef sanal makinenin ıops ve aktarım hızı sınırlarına yükseltmek için Depolama Alanları kullanarak birden çok Azure veri diski Stripe.
  • Veri dosyası diskleri için konak önbelleğini salt okunurdur olarak ayarlayın.
  • Günlük dosyası diskleri için konak önbelleğe almayı hiçbiri olarak ayarlayın.
    • SQL Server dosyaları içeren disklerde okuma/yazma önbelleğini etkinleştirmeyin.
    • diskinizin önbellek ayarlarını değiştirmeden önce SQL Server hizmetini her zaman durdurun.
  • Geliştirme ve test iş yükleri için standart depolama kullanmayı düşünün. Üretim iş yükleri için Standart HDD/SDD kullanılması önerilmez.
  • Kredi tabanlı disk patlaması (P1-P20) yalnızca daha küçük geliştirme/test iş yükleri ve departman sistemleri için düşünülmelidir.
  • depolama hesabını SQL Server VM ile aynı bölgede sağlayın.
  • Azure coğrafi olarak yedekli depolamayı (coğrafi çoğaltma) devre dışı bırakın ve depolama hesabında LRS (yerel yedekli depolama) kullanın.
  • Veri diskinizi, geçici D:\ sürücü dışında (varsayılan 4 KB 'ye sahiptir) bir sürücüye yerleştirilmiş tüm veri dosyaları için 64 KB 'lık ayırma birimi boyutu kullanacak şekilde biçimlendirin. SQL Server Azure Marketi aracılığıyla dağıtılan VM 'Ler, depolama havuzu boyutu 64 KB olarak ayarlanan ayırma birimi boyutu ve ayırma ile biçimlendirilen veri disklerinde gelir.

daha fazla bilgi için bkz. kapsamlı Depolama en iyi uygulamalar.

SQL Server özellikleri

aşağıda, SQL Server örneklerinizi üretimde bir Azure sanal makinesinde çalıştırırken SQL Server yapılandırma ayarları için en iyi yöntemler hızlı bir denetim listesi verilmiştir:

Azure özellikleri

aşağıda, azure VM 'de SQL Server çalıştırırken azure 'a özgü yönergeler için en iyi yöntemler hızlı bir denetim listesi verilmiştir:

HADR yapılandırması

her zaman açık kullanılabilirlik grubu ve yük devretme kümesi örneği gibi yüksek kullanılabilirlik ve olağanüstü durum kurtarma (hadr) özellikleri, temel alınan Windows sunucusu yük devretme kümesi teknolojisini kullanır. Bulut ortamını daha iyi desteklemesi için HADR ayarlarınızı değiştirmeye yönelik en iyi uygulamaları gözden geçirin.

Windows kümeniz için aşağıdaki en iyi yöntemleri göz önünde bulundurun:

  • Geçici ağ hatalarından veya Azure platformu bakımda beklenmedik kesintilerden kaçınmak için kümeyi daha az agresif parametrelerle değiştirin. Daha fazla bilgi için bkz. sinyal ve eşik ayarları. Windows Server 2012 ve üzeri için aşağıdaki önerilen değerleri kullanın:
    • SameSubnetDelay: 1 saniye
    • SameSubnetThreshold: 40 sinyal
    • CrossSubnetDelay: 1 saniye
    • CrossSubnetThreshold: 40 sinyal
  • VM 'lerinizi bir kullanılabilirlik kümesine veya farklı kullanılabilirlik bölgelerine yerleştirin. Daha fazla bilgi için bkz. VM kullanılabilirlik ayarları.
  • Her küme düğümü için tek bir NIC ve tek bir alt ağ kullanın.
  • Küme çekirdeği oylarını 3 veya daha fazla sayıda oy kullanacak şekilde yapılandırın. DR bölgelerine oy atamayın.
  • Kaynak kısıtlamaları nedeniyle beklenmedik şekilde yeniden başlatmalar veya yük devretme yapmaktan kaçınmak için kaynak sınırlarını dikkatle izleyin.
    • işletim sistemi, sürücüler ve SQL Server en son derlemelerde olduğundan emin olun.
    • Azure vm 'lerinde SQL Server performansını iyileştirin. Daha fazla bilgi edinmek için bu makaledeki diğer bölümleri gözden geçirin.
    • Kaynak limitlerini önlemek için iş yükünü azaltın veya yayın.
    • Kısıtlamalardan kaçınmak için daha yüksek sınırlara sahip bir VM 'ye veya diske taşıyın.

SQL Server kullanılabilirlik grubunuz veya yük devretme kümesi örneğiniz için aşağıdaki en iyi yöntemleri göz önünde bulundurun:

  • Sık karşılaşılan beklenmedik hatalardan karşılaşıyorsanız, bu makalenin geri kalanında açıklanan en iyi performans uygulamalarını izleyin.
  • SQL Server VM performansını iyileştirmek, beklenmeyen yük devretmeleri gidermezse, kullanılabilirlik grubu veya yük devretme kümesi örneği için izlemeyi kullanmayı düşünün. Ancak bunu yapmak sorunun temel alınan kaynağını ele geçirebilir ve hata olasılığını azaltarak belirtileri maskeleyebilir. Yine de temel alınan kök nedeni araştırıp ele almanız gerekebilir. Windows Server 2012 veya üzeri için aşağıdaki önerilen değerleri kullanın:
    • Kira zaman aşımı: en fazla kiralama zaman aşımı değerini hesaplamak için bu denklemi kullanın:
      Lease timeout < (2 * SameSubnetThreshold * SameSubnetDelay).
      40 saniye ile başlayın. SameSubnetThreshold SameSubnetDelay Daha önce önerilen gevşek ve değerleri kullanıyorsanız, kira zaman aşımı değeri için 80 saniyeyi aşmayın.
    • Belirtilen dönemde en fazla başarısızlık sayısı: Bu değeri 6 olarak ayarlayın.
  • HADR çözümünüze bağlanmak için sanal ağ adı (VNN) kullanılırken, MultiSubnetFailover = true kümeniz yalnızca bir alt ağa yayılsa bile bağlantı dizesinde öğesini belirtin.
    • İstemci desteklemiyorsa, MultiSubnetFailover = True RegisterAllProvidersIP = 0 HostRecordTTL = 300 istemci kimlik bilgilerini daha kısa süreler için ayarlamanız ve önbelleğe almanız gerekebilir. Ancak, bunun yapılması DNS sunucusuna ek sorgular oluşmasına neden olabilir.
  • Dağıtılmış ağ adı (DNN) kullanarak HADR çözümünüze bağlanmak için aşağıdakileri göz önünde bulundurun:
    • ' Yi destekleyen bir istemci sürücüsü kullanmanız gerekir MultiSubnetFailover = True ve bu parametrenin bağlantı dizesinde olması gerekir.
    • Kullanılabilirlik grubu için DNN dinleyicisine bağlanırken bağlantı dizesinde benzersiz bir DNN bağlantı noktası kullanın.
  • Bir yük dengeleyici veya DNN gereksinimini atlamak için temel kullanılabilirlik grubu için bir veritabanı yansıtma bağlantı dizesi kullanın.
  • Yüksek kullanılabilirlik çözümünüzü dağıtmadan önce, yanlış hizalanmış g/ç kullanmaktan kaçınmak için VHD 'nizin sektör boyutunu doğrulayın. Daha fazla bilgi için bkz. KB3009974 .

Daha fazla bilgi edinmek için bkz. kapsamlı HADR en iyi yöntemleri.

Sonraki adımlar

Daha fazla bilgi edinmek için bu serideki diğer makalelere göz atın:

en iyi güvenlik uygulamaları için bkz. Azure sanal makinelerinde SQL Server için güvenlik konuları.

Azure sanal makinelerine genel bakış ' a SQL Serverdiğer SQL Server sanal makine makalelerini inceleyin. SQL Server sanal makineleri hakkında sorularınız olursa Sık Sorulan Sorular bölümüne bakın.