Aracılığıyla paylaş


Veritabanı boyutlandırma ve performans

Veritabanı boyutlandırma, System Center - Orchestrator'ın performansını anlamanın anahtarıdır. Runbook sunucuları, yönetim sunucusu ve web bileşenleri kendi işlemleri için Orchestrator veritabanına bağımlıdır. Orchestrator dağıtımlarıyla ilgili sorunlar, veritabanındaki veri türlerinin ve bunların nasıl yönetileceğinin tamamlanmamış bir şekilde anlaşılmasından kaynaklanabilir.

Runbook Designer, Orchestrator veritabanıyla iletişim kurduğundan (yönetim sunucusu aracılığıyla), zayıf veritabanı performansı bu iletişimi engelleyecektir.

Orchestrator işleç deneyimi iki bileşeni temel alır: Orchestration Konsolu ve Web Hizmeti. Orchestration Console , Orchestrator veritabanına olan bağlantısı için Web Service'i temel alan Silverlight tabanlı bir uygulamadır. Web Service, veritabanına bağlanan bir IIS uygulamasıdır. Bu nedenle, Web Hizmeti ve Orchestration Konsolu orchestrator veritabanının performansına bağımlıdır.

Ek olarak, Orchestration Console Web Service'e bağlı olmakla birlikte, kendi performans özellikleri olan bir kullanıcı arabirimi olarak kendi çalışmasına özel benzersiz bir mantığı vardır.

Yapılandırma Verileri ve Günlük Verileri

Orchestrator veritabanı yüksek düzeyde iki tür veri içerir:

Yapılandırma verileri

Orchestrator altyapısı yapılandırma verilerini içerir. Bu tür veriler için depolama gereksinimleri küçük olduğundan, bu veriler veritabanı büyümesi bağlamında önemli değildir.

Günlük Verileri

Orchestrator, farklı günlük verileri türleri oluşturur ve bunların tümü Runbook Designer'da görüntülenebilir ve yönetilebilir. Bu verilerin depolama gereksinimleri boyut olarak farklılık gösterebilir ve büyük olabilir.

Aşağıdaki tabloda Orchestrator veritabanına depolanabilecek günlük verileri türleri listelenmiştir. Orchestrator ayrıca denetim kayıtları ve izleme için verileri ayrı günlük dosyalarında (veritabanının dışında) depolar. Tüm günlük verisi türleri hakkında daha fazla bilgi için bkz. Orchestrator Logs.

Günlük Verileri Türü Runbook Designer'daki Yeri Günlük Temizleme mi yönetiyor?
Runbook günlükleri Günlük ve Günlük Geçmişi sekmeleri Yes
Etkinlik (Platform) olayları Etkinlikler sekmesi Hayır
Denetim geçmişi Denetim Geçmişi sekmesi Hayır

Platform Kodu ve Etki Elanı Kodu

Orchestrator runbook etkinlikleri iki farklı kod türü içerir:

  • Platform Kodu

    Bu, çoğu etkinlik tarafından paylaşılan ortak koddur ve Orchestrator etkinlikleri tarafından gerçekleştirilen ortak görevleri çalıştırmak için kullanılır. Platform kodu Ortak Yayımlanan Veriler üretir.

  • Etki Alanı Kodu

    Genellikle Orchestrator platformunun kendisiyle ilişkili olmayan her etkinlik için eylemlere özgü çeşitli görevleri çalıştırır. Potansiyel olarak, platform kodu ile etki alanı kodu arasında büyük bir çeşitleme olabilir.

Belirli bir etkinlik için üretilen veriler tek veya birden çok değerli veri öğeleri içerebilir. Her etkinlik tek değerli verilerin tek bir kaydını üretir. Etki alanı kodu birden çok değerli verilerin birden çok kaydını üretebilir ve bu nedenle önceki etkinliklerden aldığı ortak yayımlanmış verilerle hangi etkinliğin yapılacağını belirlemekten sorumludur.

Temel olarak Orchestrator runbook'ları ekti alanı kodunun farklı öğeleri arasında veri geçirmek için tasarlanmıştır. Ayrıca, etki alanı kodu isteğe bağlı olarak Etkinliğe özel Yayımlanmış Veriler üretebilir.

Tüm runbook'ların etki alanı kodu ve platform kodundan oluşan etkinlikleri çalıştırma biçimleri temelde birbirine benzer; iş akışları döngüleri sağlarlar ve dallara ayrılırlar. Dallara ayrılma bir runbook belirli bir görevi yapmak için başka runbook'lara çağrı gönderdiğinde oluşur. Bir runbook ilk çağrıldığında, tek bir iş parçacığından oluşur. Bu iş parçacığı bağlantıları bir dal oluşturulmasını gerektiren bir runbook etkinliğiyle karşılaşırsa her dal için bir tane olmak üzere ek iş parçacıkları oluşturulur. Her bir iş parçacığı girişini dalı oluşturan etkinliğin ortak yayımlanan verilerinden alır. Bu veriler runbook'taki ilk etkinliklerle ilişkilendirilerek etkinliklerin abone olacağı ortak yayımlanan verileri günceller.

Etki alanı kodu potansiyel olarak veritabanı performansını dallara ayırma tarafından oluşturulan çoklu iş parçacığından daha fazla etkiler. Bunun nedeni etki alanı kodunun potansiyel olarak büyük miktarlarda etkinliğe özel yayımlanmış veriler üretmesidir.

Günlük Seçenekleri

Bir runbook'a ilişkin Özellikler seçeneğinin Günlük Kaydı sekmesi isteğe bağlı olarak günlük girişlerini depolamanıza olanak sağlar. Varsayılan günlük kaydı terimi, her etkinlik için 524 bayt veri üreten iki yayımlanan veri seçeneğinin de seçilmemesi durumunu belirtir. İki ortak yayımlanan veri kategorisinin sağladığı günlük seçenekleri:

  • Ortak Yayımlanan Veriler

    Tüm etkinliklerde ortak olan veri öğeleri kümesi. Liste için bkz . Runbook Günlük Seçenekleri.

    Bu günlük kaydı seçeneği her etkinlik için 6082 bayt üretir.

  • Etkinliğe Özgü Yayımlanan Veriler

    Etki alanı tarafından isteğe bağlı oluşturulan, etkinliğe özel veri kümesi.

    Bu günlük kaydı seçeneği belirli etkinlikler tarafından günlüğe kaydedilen verilerek olarak 6082 bayt üretir.

    İpucu

    Bu seçenek temel olarak hata ayıklama amacıyla seçilir. Günlüğün büyümesini sınırlamak için işaretini kaldırın.

Günlük kaydı seçeneklerinin ayarlanması performansı önemli ölçüde etkiler ve veritabanının büyümesini artırır. Aynı runbook etkinliğinin, biri varsayılan düzeyde (yayımlanan veri seçenekleri belirtilmeden) veri günlük kaydıyla, diğeri ise ortak yayımlanan veri kümesi seçiliyken iki kez çalıştığı senaryoyu düşünün. Etki alanı kodu aynı sürede tamamlanmalıdır. Ancak, platform kodu varsayılan günlük kaydıyla yapılandan 12 kat daha fazla ortak yayımlanan veri günlük kaydını desteklemek zorunda olduğundan, bu kodun çalışması daha uzun sürer.

Günlükleri Temizleme

Runbook Designer'da Günlük Temizleme özelliği için belirtilen varsayılan seçenekler, kullanıma hazır Orchestrator dağıtımı için en iyi kullanıcı deneyimini sağlayacak şekilde yapılandırılır. Bu değerlerin değiştirilmesi ortamın performans özelliklerini değiştirebilir ve değişikliğin etkisinin değerlendirilebilmesi için aşamalı ve yüksek filigranlı uygulanmalıdır.

Günlükleri otomatik ve el ile temizleme hakkında daha fazla bilgi için bkz . Runbook Günlüklerini Temizleme.

Performans Kıyaslama Noktaları Oluşturma

Günlük artışını test etmek için basit bir runbook oluşturmak için Standart Etkinlik Karşılaştırma Değerlerini kullanarak Orchestrator ortamının karşılaştırmalarını oluşturabilirsiniz.

Aşağıdaki yordam, Değerleri Karşılaştır etkinliğini 10.000 kez çalıştıran bir runbook oluşturur. Değerleri Karşılaştır, etki alanı kodu en az olan basit bir etkinliktir. Bu runbook, belirli bir Orchestrator çalışma zamanı ortamının genel performansını nitelemek için çeşitli koşullar altında çağrılabilir.

Orchestrator ortamınızda kıyaslama noktası olarak kullanabileceğiniz bir runbook oluşturmak için

  1. Yeni bir runbook oluşturun.

  2. Standart Etkinlik paletinden bir Compare Values etkinliği ekleyin. Yapılandırmak için etkinliğe çift tıklayın.

  3. Genel sekmesini seçin ve bu etkinliği dizeleri (varsayılan değer) karşılaştıracak şekilde yapılandırın.

  4. Ayrıntılar sekmesini seçin, Test kutusuna STRING değerini girin ve boş'a tıklayın.

  5. Etkinlik güncelleştirmelerini kaydetmek için Son'u seçin.

  6. Etkinliğe sağ tıklayın ve Döngü'yü seçin.

  7. Etkinleştir onay kutusunu seçin ve Denemeler arasında gecikme için 0 (sıfır) sayısını girin.

  8. Çıkış sekmesini seçin.

  9. Varsayılan çıkış koşulunu değiştirin. Değerleri Karşılaştır'ı seçin, Ortak Yayımlanan Verileri Göster onay kutusunu işaretleyin ve Döngü: Deneme sayısı'nı seçin. Bu değişikliği kaydetmek için Tamam'ı seçin.

  10. Güncelleştirilmiş çıkış koşulundan değer seçin ve 10000 (on bin) sayısını girin. Bu değişikliği kaydetmek için Tamam'ı seçin.

  11. Bu güncelleştirmeleri kaydetmek için Son'u seçin.

  12. Değişiklikleri Orchestrator veritabanına kaydetmek için Kontrol seçin.

Bu runbook farklı Orchestrator yapılandırmalarında denenmek üzere kullanılabilir. Örneğin, farklı veri merkezlerine dağıtılan dört Runbook Sunucunuzun performansını belirlemek için kıyaslama runbook'ları oluşturabilirsiniz.

Veri Merkezi Günlük Kaydı Yapılandırması Platform Kodu Çalışma Süresi (milisaniye) Etkinlik Başına Milisaniye Ölçek Faktörü
Konum 1 Varsayılan günlük kaydı 819 Kategori 82 1.0 (başvuru)
Konum 1 Ortak yayımlanan verilerle günlük kaydı 2012 201 2.5
Konum 2 Varsayılan günlük kaydı 1229 123 1.5
Konum 2 Ortak yayımlanan verilerle günlük kaydı 3686 369 4,5
Konum 3 Varsayılan günlük kaydı 2457 Kategori 426 3.0
Konum 3 Ortak yayımlanan verilerle günlük kaydı 4422 442 5,4
Konum 4 Varsayılan günlük kaydı 1474 147 1.8
Konum 4 Ortak yayımlanan verilerle günlük kaydı 2654 265 3.2

Platform performansında ortak yayımlanan verilerin günlük kaydından kaynaklanan önemli artışa dikkat edin. En kötü senaryo, Konum 2’de ortak yayımlanan verilerin günlüğe kaydedilmesi olarak görünür. Yüzey üzerinde bu açık ve ilgili bir sonuç gibi görünür.

Ancak, bu rakamların etki alanı kodunu değil genel platform kodunu etkilediği unutulmamalıdır. Etki alanı kodu çalışma zamanları daha uzun olabilir. Örneğin, Virtual Machine Manager Tümleştirme Paketi'ndeki Şablondan VM Oluştur etkinliği VM oluşturulurken birkaç dakika çalışabilir. Önceki örneği genişleterek, konumdan bağımsız olarak çalıştırılması 1 dakika (1 dakika = 60.000 milisaniye) süren bir runbook etkinliğindeki platform kodu maliyetlerini göz önünde bulundurun.

Veri Merkezi Günlük Kaydı Yapılandırması Platform Kodu Çalışma Süresi (milisaniye) Etki Alanı Kodu % Platform Kodu %
Konum 1 Varsayılan günlük kaydı 819 %98,6 %1,4
Konum 1 Ortak yayımlanan verilerle günlük kaydı 2012 %96,7 %3,3
Konum 2 Varsayılan günlük kaydı 1229 %98,0 %2,0
Konum 2 Ortak yayımlanan verilerle günlük kaydı 3686 %93,9 %6,1
Konum 3 Varsayılan günlük kaydı 2457 %95,9 %4,1
Konum 3 Ortak yayımlanan verilerle günlük kaydı 4422 %92,6 %7,4
Konum 4 Varsayılan günlük kaydı 1474 %97,5 %2,5
Konum 4 Ortak yayımlanan verilerle günlük kaydı 2654 %95,6 %4,4

Verilerden net bir resim ortaya çıkmaya başladı. Konum 2'de ortak yayımlanan verilerin günlük kaydının etkinleştirildiği senaryo halen en kötü senaryo olma özelliğini koruyor. Bununla birlikte, platform kodu ve günlük kaydı toplam çalışma süresinin yalnızca %6'sını alıyor. Bu önemli bir rakam olmakla birlikte en iyi senaryo %1,4'tür. Temel olarak, örnekteki etki alanı kodunda harcanan süre platform kodu çalıştırma süresinden çok daha ağır basıyor. Bunu perspektife almak için platform kodu maliyetlerini tamamen ortadan kaldırabildiyseniz yalnızca %1,4 ile %7,4 arasında runbook performans geliştirmeleri görürsünüz.

Gerçek dünya senaryolarının çoğu farklı olacaktır. Etkinlik davranışı etki alanı kodunun yapması gereken işe göre değişebilir. Örneğin, Şablondan VM Kopyalama etkinliği, Sunucu Şablonu A'dan bir VM'yi kopyalamak için bir dakika sürebilir, ancak Sunucu Şablonu B'den bir VM'yi kopyalamak 5 dakika sürebilir. Ayrıca, Runbook Sunucuları farklı performans özelliklerine sahip farklı ağlarda bulunabilir ve bu da hem etki alanı kodu performansını hem de Orchestrator veri günlüğü performansını etkileyebilir.

Veritabanı Büyümesini Belirleme

Orchestrator veritabanınızın veritabanı yöneticisi veritabanı dosyası büyüme stratejisini belirlemek için aşağıdaki yönergeleri kullanabilir:

  • Genel olarak, bir runbook'un her çağrısında veritabanı dosyalarının boyutu artmayacak. Dosya, içerdiği veriler veritabanı yöneticiniz tarafından yapılandırılan belirli bir üst eşiğe ulaştığında büyür ve her büyüdüğünde de genellikle dosya genişletilir.

  • Bir runbook etkinliği her çalıştırıldığında, tek tek sayılmalıdır. Bu, döngü özellikleri tek bir etkinliğin birden çok kez çalışmasına neden olabileceği durumlarda dikkate alınmalıdır.

  • Runbook'un her çağrısı için gereken depolama alanını belirlemek için runbook'taki etkinliklerin sayısını, seçilen günlük düzeyine göre veritabanına eklenen bayt sayısıyla çarpın. Bu değerler şöyledir:

    • 524 bayt

      Varsayılan günlük kaydı yapılandırması.

    • 6082 bayt

      Ortak yayımlanan verilerle günlük kaydı düzeyi.

    • 6082 bayt + etkinlik bazında günlüğe kaydedilen veri

      Etkinliğe özel verilerle günlük kaydı düzeyi.

  • Varsayılan olarak, tüm Orchestrator her runbook için gece 2:00’da en son 500 günlük hariç tüm günlükleri temizler. Her runbook çağırmada gerekli depolamayı belirlemek için, her runbook çağırmada gerekli depolama alanını 500 ile çarpın. Günlük Temizleme ayarını değiştirirseniz, her çağırmayı gerektiğinde bir gün, hafta veya ayda tahmin edilen çağırma sayısıyla çarpın.

Aşağıdaki tabloda günlük kaydı düzeyi yapılandırmalarının büyüme ve performans tahminleri gösterilmektedir.

Günlük Kaydı Düzeyi DB Büyüme Faktörü Performans Faktörü Üretim için Önerilen
Varsayılan 1 1 Yes
Ortak Yayımlanan Veriler 11,6x 2,5x Planlamayla sınırlı kullanım
Etkinliğe Özel Yayımlanan Veriler 11,6x kat daha büyük 2,5x kat daha büyük Hayır

Örnekler

Örnek 1

Aşağıdaki tabloda Orchestrator dağıtımı için veritabanı boyutlandırma konuları açıklanmaktadır.

Runbook Adı Etkinlik Sayısı Günlük Kaydı Düzeyi Günlük İşlem Başlatma Sayısı
Runbook 1 50 Varsayılan 100
Runbook 2 25 Varsayılan 50
Runbook 3 12 Ortak Yayımlanan Veriler 24
Runbook 4 8 Ortak Yayımlanan Veriler 500

Yukarıda açıklanan veritabanı boyutlandırmasını kullanarak runbook'lara yönelik depolama alanı gereksinimlerini tahmin edebilirsiniz.

Runbook Adı Başlatma Başına Bayt Sayısı MB Cinsinden Depolama Alanı

Varsayılan Günlük Temizleme (500 başlatma)
Aylık İşlem Başlatma Sayısı MB Cinsinden Depolama Alanı

Bir Ay

(Varsayılan Günlük Temizleme Değil)
30 Gün sonra DB depolama alanı %
Runbook 1 26.200 12.5 3.000 74,5 %9
Runbook 2 13.100 6.2 1.500 18,7 %2
Runbook 3 72.984 34,8 720 50,1 %6
Runbook 4 48.656 23,2 15.000 696,0 %83
Toplam: 76,7 MB Toplam: 839,3 MB

Bu örnek veri günlüğü için doğru kararlar vermenin önemini açıkça ortaya koymaktadır. Runbook 4 yalnızca sekiz etkinlik içerir, ancak Ortak Yayımlanan Veri Günlüğü düzeyinde yapılandırıldığında, yüksek çağrı sıklığı nedeniyle veritabanındaki depolama alanının çoğunu tüketir. Bu sonuçlara bağlı olarak, Runbook 4'ün günlük düzeyini Varsayılan günlük yapılandırmasına düşürmeyi tercih edebilirsiniz.

Örnek 2

Aşağıdaki tabloda, Orchestrator'ın başka bir dağıtımı için veritabanı boyutlandırma konuları açıklanmaktadır.

Runbook Adı Etkinlik Sayısı Günlük Kaydı Düzeyi Günlük İşlem Başlatma Sayısı
Runbook 1 50 Varsayılan 100
Runbook 2 25 Varsayılan 50
Runbook 3 12 Ortak Yayımlanan Veriler 24
Runbook 4 8 Varsayılan 500

Güncellenen yapılandırma yordamları için depolanan rakamların yeniden hesaplanması önemli ölçüde farklı sonuçlar üretir.

Runbook Adı Başlatma Başına Bayt Sayısı MB Cinsinden Depolama Alanı

Varsayılan Günlük Temizleme (500 başlatma)
Aylık İşlem Başlatma Sayısı MB Cinsinden Depolama Alanı

Bir Ay

(Varsayılan Günlük Temizleme Değil)
30 Gün sonra DB depolama alanı %
Runbook 1 26.200 12.5 3.000 74,5 %37
Runbook 2 13.100 6.2 1.500 18,7 %9
Runbook 3 72.984 34,8 720 50,1 %25
Runbook 4 4.192 2.0 15.000 60,0 %29
Toplam: 55,5 MB Toplam: 203,3 MB

Varsayılan günlük yapılandırmasında çok az değişiklik olsa da (runbook başına 500 günlük girdisi), 30 günlük depolama gereksinimleri büyük ölçüde değişti. Bu değişiklik, 30 günlük veriler için veritabanı depolama gereksinimlerinde %76 azalmaya neden olduğundan, Runbook 4 için Ortak Yayımlanan Veri günlüğünü kullanmanın depolama maliyeti dikkatli bir şekilde dikkate alınmalıdır.

Özet

Veritabanı boyutunu ve performansını yönetmek için aşağıdaki yönergeleri kullanın:

  • Gerekiyorsa Ortak Yayımlanan Verilerin günlük kaydını etkinleştirin.

  • Günlüğe kaydedilen veri miktarını etkinliklerin çalışma sayısının belirleyeceğini unutmayın. Birkaç etkinliğin birkaç kez çalıştığı küçük bir runbook, daha büyük bir runbook'un daha az sayıda çalışmasına kıyasla daha fazla veri günlüğüne kaydetmeye neden olabilir.

  • Üretim ortamlarında Etkinliğe Özgü Yayımlanan Verilerin günlüğe kaydedilmesini etkinleştirmeyin ve yalnızca hata ayıklama amacıyla kullanılmalıdır.

  • Runbook'larınızın, platform kodu çalıştırmakla karşılaştırıldığında, etki alanı kodu çalıştırmak için bunun kaç katı süre harcayacağı konusundaki bilgilerinizi geliştirin.

  • Bu belgede ele alınan teknikleri kullanarak platform kodu maliyetlerini tahmin edin. Runbook performansının hangi alanlarında geliştirme yapmak gerektiğini planlarken başvuru olarak kullanın.

  • Ölçümlerinizin normalleştirilmiş karşılaştırmalarını yaparak geliştirme olanaklarını belirleyin.

Ayrıca bkz: