Azure Batch en iyi yöntemleri

Bu makalede, Azure Batch hizmetini etkili bir şekilde kullanmaya yönelik en iyi yöntemler ve yararlı ipuçları ele amaktadır. Bu ipuçları, Batch çözümlerinizin performansını geliştirmenize ve tasarım tuzaklarından kaçınmanıza yardımcı olabilir.

İpucu

Uygulama içinde güvenlik hakkında Azure Batch için bkz. Batch güvenlik ve uyumluluk için en iyi yöntemler.

Havuzlar

Havuzlar Batch hizmetlerinde işleri yürütmek için işlem kaynaklarıdır. Aşağıdaki bölümlerde Batch havuzları ile çalışma önerileri sağlanmıştır.

Havuz yapılandırması ve adlandırma

  • Havuz ayırma modu: Batch hesabı oluştururken iki havuz ayırma modu arasında seçim yapabilirsiniz: Batch hizmeti veya kullanıcı aboneliği. Çoğu durumda, havuzların Batch tarafından yönetilen aboneliklerde arka arkasında ayrılmış olduğu varsayılan Batch hizmet modunu kullanabilirsiniz. Alternatif Kullanıcı aboneliği modunda, bir havuz oluşturulduğunda Batch VM'leri ve diğer kaynaklar doğrudan aboneliğinizde oluşturulur. Kullanıcı aboneliği hesapları öncelikli olarak senaryoların küçük ama önemli bir alt kümesini etkinleştirmek için kullanılır. Daha fazla bilgi için bkz. Kullanıcı aboneliği modu için ek yapılandırma.

  • 'virtualMachineConfiguration' veya 'cloudServiceConfiguration': Şu anda herhangi bir yapılandırmayı kullanarak havuz oluşturabilirsiniz ancak yeni havuzların 'cloudServiceConfiguration' değil 'virtualMachineConfiguration' kullanılarak yapılandırılması gerekir. Tüm geçerli ve yeni Batch özellikleri Sanal Makine Yapılandırma havuzları tarafından desteklene. Cloud Services Yapılandırma havuzları tüm özellikleri desteklemez ve yeni özellikler planlanmaz. 29 Şubat 2024'den sonra yeni 'cloudServiceConfiguration' havuzları oluşturalamayabilecek veya mevcut havuzlara yeni düğümler ekleyemeyebilirsiniz. Daha fazla bilgi için bkz. Batch havuzu yapılandırmasını Cloud Services Sanal Makineye geçirme.

  • İş ve görev çalışma zamanı ile ilgili dikkat edilmesi gerekenler: Öncelikli olarak kısa çalışan görevlerden oluşan işleriniz varsa ve beklenen toplam görev sayıları küçükse, bu nedenle işin genel olarak beklenen çalışma süresi uzun olmaz, her iş için yeni bir havuz ayırmayın. Düğümlerin ayırma süresi işin çalışma süresi azalacaktır.

  • Birden çok işlem düğümü: Tek tek düğümlerin her zaman kullanılabilir olması garanti edilemez. Yaygın olmayan bir durumla birlikte, donanım hataları, işletim sistemi güncelleştirmeleri ve diğer sorunlar tek tek düğümlerin çevrimdışı duruma neden olabilir. Batch iş yükünüz belirlenebilir ve garantili ilerleme gerektiriyorsa, birden çok düğüme sahip havuzları ayırmanız gerekir.

  • Yaklaşan yaşam sonu (EOL) tarihleri olan görüntüler: Yaklaşan Batch desteği yaşam sonu (EOL) tarihleri olan görüntülerden kaçınmanız önemle önerilir. Bu tarihleri API, PowerShell ListSupportedImages veya Azure CLI aracılığıyla bulabilirsiniz. Havuzlarla ilgili EOL tarihleri görünümlerinizi düzenli aralıklarla yenilemek ve EOL tarihi oluşmadan önce iş yüklerinizi geçirmek sizin sorumluluğundadır. Belirtilen düğüm aracısı ile özel bir görüntü kullanıyorsanız, özel görüntü türetilen veya hizalanmış görüntü için Batch desteği yaşam sonu tarihlerini takip edin.

  • Benzersiz kaynak adları: Batch kaynakları (işler, havuzlar vb.) genellikle zaman içinde gelir ve gider. Örneğin, Pazartesi günü bir havuz oluşturabilir, Salı günü silebilir ve ardından Perşembe günü başka bir benzer havuz oluşturabilirsiniz. Her yeni kaynağa daha önce hiç kullanılmadı olarak benzersiz bir ad verilsin. Bunu yapmak için BIR GUID (kaynak adının tamamı olarak veya bir parçası olarak) veya kaynağın kaynak adına oluşturulma tarihini ve saati katıştırabilirsiniz. Batch, gerçek kaynak kimliği insan dostu olmayan bir şey olsa bile kaynağa daha okunabilir bir ad veremeyen DisplayName'idestekler. Benzersiz adlar kullanmak, günlüklerde ve ölçümlerde hangi kaynağın bir şey yaptığını ayırt etmek için daha kolay hale getirir. Ayrıca, bir kaynak için destek durumuna gerek olursa belirsizlik ortadan kaldırır.

  • Havuz bakımı ve hatası sırasında süreklilik: en iyisi, işlerinizi havuzları dinamik olarak kullanmaktır. İşleriniz her şey için aynı havuzu kullanıyorsa, havuzda bir sorun olursa işlerin çalışmama ihtimali vardır. Bu durum özellikle zaman açısından hassas iş yükleri için önemlidir. Bunu düzeltmek için, her işi zamanlayarak dinamik olarak bir havuz seçin veya oluşturun ya da iyi durumda olmayan bir havuzu atlayarak havuz adını geçersiz kılmanın bir yolunuz vardır.

  • Havuz bakımı ve hatası sırasında iş sürekliliği: Bir havuzun, iç hatalar veya kapasite kısıtlamaları gibi, bir havuzun isteğine göre büyüyemeyen birçok nedeni vardır. İşleri farklı bir havuzda (büyük olasılıkla farklı bir VM boyutuyla) yeniden hedefleyeyebilirsiniz; Batch, gerekirse UpdateJob) aracılığıyla bunu destekler. Hiçbir zaman silinmeyecek ve hiçbir zaman değişmeyecek beklentisiyle statik havuz kimliğine güvenmekten kaçının.

Havuz ömrü ve faturalama

Havuz ömrü, ayırma yöntemine ve havuz yapılandırmasına uygulanan seçeneklere bağlı olarak değişebilir. Havuzlar, herhangi bir zaman noktasında rastgele bir yaşam süresine ve farklı sayıda işlem düğümüne sahip olabilir. Havuza işlem düğümlerini açıkça veya hizmet tarafından sağlanan özellikler(otomatik ölçeklendirme veya otomatik havuz) aracılığıyla yönetmek sizin sorumluluğuzdur.

  • Havuz yeniliği: En son düğüm aracısı güncelleştirmelerini ve hata düzeltmelerini almak için havuzlarınızı birkaç ayda bir sıfır olacak şekilde yeniden boyutlandırın. Havuzunuz yeniden oluşturmadıkça (veya 0 işlem düğümüne yeniden boyutlandırılmadıkça) düğüm aracısı güncelleştirmelerini almaz. Havuzlarınızı yeniden oluşturmanız veya yeniden boyutlandırmadan önce, Düğümler bölümünde ele alınarak hata ayıklama amacıyla tüm düğüm aracısı günlüklerini indirmeniz gerekir.

  • Havuz havuzu: Benzer bir notta, havuzları günlük olarak silmek ve yeniden oluşturmamak gerekir. Bunun yerine, yeni bir havuz oluşturun ve ardından mevcut işlerinizi yeni havuza işaret etmek için güncelleştirin. Tüm görevler yeni havuza taşındıktan sonra eski havuzu silin.

  • Havuz verimliliği ve faturalama: Batch'in kendisi ek ücret ödemez, ancak kullanılan işlem kaynakları için ücret ödemezsiniz. Durumuna bakılmaksızın havuza ilişkin her işlem düğümü için faturalandırabilirsiniz. Bu, düğümün çalışması için gereken depolama ve ağ maliyetleri gibi ücretleri içerir. Daha fazla bilgi için bkz. Azure Batchiçin maliyet analizi ve bütçeler.

  • Kısa ömürlü işletim sistemi diskleri: Sanal Makine Yapılandırma havuzları, yönetilen disklerle ilişkili ek maliyetlerden kaçınmak için VM önbelleği veya geçici SSD'de işletim sistemi diskini oluşturan kısa ömürlü işletim sistemi diskleri kullanabilir.

Havuz ayırma hataları

Havuz ayırma hataları, ilk ayırma veya sonraki yeniden boyutlandırmalar sırasında herhangi bir noktada ortaya çıkar. Bunun nedeni bir bölgedeki geçici kapasite tükenmesi veya Batch'in bağlı olduğu diğer Azure hizmetlerde hata olması olabilir. Çekirdek kotanız bir garanti değil bir sınırdır.

Planlanmamış kapalı kalma süresi

Batch havuzlarının Azure'da kapalı kalma süresi olaylarıyla yaşaması mümkündür. Batch için senaryoyu veya iş akışınızı planlar ve geliştirerek bunu unutmayın. Düğümler başarısız olursa Batch bu işlem düğümlerini sizin adına otomatik olarak kurtarmayı çalışır. Bu, kurtarılan düğümde çalışan tüm görevlerin yeniden zamanlamalarını tetikler. Kesintiye neden olan görevler hakkında daha fazla bilgi edinmek için bkz. Yeniden denemeler için tasarlama.

Özel görüntü havuzları

Sanal Makine Yapılandırması'Azure Batch bir sanal makine havuzu yapılandırmasını yapılandırmasını tamamlarsanız, havuzdaki her işlem düğümü için işletim sistemini sağlayan bir VM görüntüsü belirtirsiniz. Havuzu desteklenen bir Azure Market görüntüsüyle oluşturabilir veya galeri görüntüsü ile özel Azure İşlem oluşturabilirsiniz. Özel görüntü havuzu oluşturmak için yönetilen bir görüntü de kullanabilirsiniz, ancak mümkün olduğunda Azure İşlem Galerisi'ni kullanarak özel görüntüler oluşturmanızı öneririz. Azure İşlem Galerisi'ni kullanarak havuzları daha hızlı sağlama, daha büyük miktarda VM ölçeklendirme ve VM sağlama konusunda güvenilirliği artırmanıza yardımcı olur.

Üçüncü taraf görüntüleri

Havuzlar, Azure Market'de yayımlanan üçüncü taraf görüntüleri kullanılarak oluşturulabilir. Kullanıcı aboneliği modu Batch hesaplarıyla, belirli üçüncü taraf görüntülerle havuz oluştururken "Market satın alma uygunluğu denetimi nedeniyle ayırma başarısız oldu" hatasını alabilirsiniz. Bu hatayı çözmek için görüntünün yayımcısı tarafından ayarlanmış olan koşulları kabul etme. Bunu yapmak için azure cli Azure PowerShell kullanabilirsiniz.

Azure bölgesi bağımlılığı

Zaman duyarlı veya üretim iş yükünüz varsa tek bir Azure bölgesiyle çalışmamanız gerekir. Nadir de olsa bölgenin tamamını etkileyebilecek sorunlar vardır. Örneğin, işlemenizin belirli bir zamanda başlaması gerekirse, başlangıç zamanından önce birincil bölgenizin havuzu ölçeğini genişletmeyi göz önünde bulundurabilirsiniz. Bu havuz ölçeği başarısız olursa, bir yedekleme bölgesinde (veya bölgelerde) bir havuzun ölçeğini genişletmeye geri dönebilirsiniz.

Farklı bölgelerdeki birden çok hesapta bulunan havuzlar, başka bir havuzda sorun olduğunda hazır, kolay erişilebilir bir yedekleme sağlar. Daha fazla bilgi için bkz. Yüksek kullanılabilirlik için uygulama tasarlama.

İşler

İş, yüzlerce, binlerce ve hatta milyonlarca görevi içeren bir kapsayıcıdır. İş oluştururken bu yönergeleri izleyin.

Daha az iş, daha fazla görev

Tek bir görevi çalıştırmak için bir iş kullanmak verimsizdir. Örneğin, her biri 10 görev içeren 100 iş oluşturmak yerine 1000 görev içeren tek bir işin kullanımı daha verimlidir. Her biri tek bir görevle 1000 iş çalıştırarak en az verimli, en yavaş ve en pahalı yaklaşımı benimsersiniz.

Bu nedenle, eşzamanlı olarak etkin binlerce iş gerektiren bir Batch çözümü tasarlamaktan kaçının. Görevler için kota yoktur, bu nedenle mümkün olduğunca az işin altında çok sayıda görev yürüterek iş ve iş zamanlama kotalarınızı verimli bir şekilde kullanır.

İş ömrü

Batch işinin sistemden silinene kadar süresiz bir ömrü vardır. Durumu, zamanlama için daha fazla görev kabul edilip edileye olmadığını gösterir.

Açıkça sonlandırılmadıkça bir iş otomatik olarak tamamlanmış durumuna taşınmaz. Bu, onAllTasksComplete özelliği veya maxWallClockTime aracılığıyla otomatik olarak tetiklenir.

Varsayılan etkin iş ve iş zamanlaması kotası var. Tamamlanan durumdaki işler ve iş zamanlamaları bu kotaya sayılmaz.

Görevler

Görevler, bir işi oluşturan tek tek iş birimleridir. Görevler kullanıcı tarafından gönderildi ve Batch on tarafından işlem düğümlerine zamanlandı. Aşağıdaki bölümlerde, görevlerinizi sorunları işlemek ve verimli bir şekilde gerçekleştirmek üzere tasarlamaya yönelik öneriler sağlanmıştır.

Görev verilerini kaydetme

İşlem düğümleri, doğası gereği kısa ömürlüdür. Otomatik havuz ve otomatik ölçeklendirme gibi Batch özellikleri düğümlerin kaybolmalarını kolaylaştırabilir. Düğümler havuzdan ayrılarak (yeniden boyutlandırma veya havuz silme nedeniyle) bu düğümler üzerinde bulunan tüm dosyalar da silinir. Bu nedenle, bir görev, çıktısını üzerinde çalıştır olduğu düğümden ve tamamlandıktan sonra dayanıklı bir depoya taşıması gerekir. Benzer şekilde, bir görev başarısız olursa, arızayı tanılamak için gereken günlükleri dayanıklı bir depoya taşıması gerekir.

Batch, OutputFilesDepolama çeşitli paylaşılan dosya sistemleri aracılığıyla veri yüklemek için Azure Depolama'i tümleştirdikten sonra, karşıya yükleme işlemini görevlerinize kendiniz gerçekleştirebilirsiniz.

Görev ömrünü yönetme

Artık gerekli olmadığı zaman görevleri silin veya retentionTime görev kısıtlaması ayarlayın. ayarlanırsa retentionTime Batch, süre dolduğunda görev tarafından kullanılan disk alanını otomatik retentionTime olarak temizler.

Görevleri silme işlemi iki şeyi başarıyla tamamlar. İşte bir görev derlemesi yapmamanizi sağlar; bu da ilgilendiğiniz görevi sorgulamayı/bulmayı zorlaştırabilirsiniz (Tamamlandı görevlerine göre filtrelemeniz gerektir). Ayrıca düğümdeki karşılık gelen görev verilerini de temizler retentionTime (sağlanan görev verilerine henüz isabetmiştir). Bu, düğümlerinizin görev verileriyle doldurulmaması ve disk alanı doldurulmaması için yardımcı olur.

Koleksiyonda çok sayıda görev gönderme

Görevler tek tek veya koleksiyonlarda gönderebilirsiniz. Ek yükü ve gönderme süresini azaltmak için görevleri toplu gönderim yaparken, görevleri aynı anda en fazla 100 koleksiyonda gönderin.

Düğüm başına en fazla görevi uygun şekilde ayarlama

Batch, düğümler üzerinde fazla abone görevleri destekler (bir düğümün çekirdekten daha fazla görev çalıştırması). Görevlerinizin havuzuzdeki düğümlere "sığması" sizin için bir görevdir. Örneğin, her biri %25 CPU kullanımı tüketen sekiz görev zamanlamayı bir düğümde (ile bir havuzda) zamanlamayı denerse düzeyi düşürülmüş bir deneyimiz taskSlotsPerNode = 8 olabilir.

Yeniden denemeler ve yeniden yürütme için tasarlama

Görevler Batch tarafından otomatik olarak yeniden denenebilir. İki tür yeniden deneme vardır: kullanıcı tarafından denetlenen ve iç. Kullanıcı tarafından denetlenen yeniden denemeler görevin maxTaskRetryCount tarafından belirtilir. Görevde belirtilen bir program sıfır olmayan bir çıkış koduyla çıkarsa, görev değerine kadar yeniden maxTaskRetryCount denenr.

Nadir de olsa, işlem düğümünde iç durumu veya görev çalışırken düğümdeki bir hatanın güncelleştirilenema gibi hatalardan dolayı bir görev dahili olarak yeniden denenebilirsiniz. Görev, mümkünse, görevden vazgeçmeden ve görevi farklı bir işlem düğümünde olabilecek Batch tarafından yeniden zamanlandırmayacak şekilde ertelemeden önce, mümkünse iç sınıra kadar aynı işlem düğümünde yeniden denenecek.

Görevlerinizi ayrılmış veya düşük öncelikli düğümlerde yürütürken tasarım farkları yoktur. Bir görevin düşük öncelikli bir düğümde çalışırken mi yoksa ayrılmış bir düğümde hata nedeniyle kesintiye uğraması durumunda, her iki durum da görevi hataya dayanacak şekilde tasararak azaltıldı.

Dayanıklı görevler oluşturma

Görevler hataya dayanacak ve yeniden denemeyi sağlayacak şekilde tasarlanmalı. Bu, uzun süre çalışan görevler için özellikle önemlidir. Bunu yapmak için, görevlerin birden çok kez çalıştırılasalar bile aynı, tek bir sonuç oluşturmalarını sağlar. Bunu başarma yollarından biri, görevlerinizi "hedef arama" yapmaktır. Başka bir yol da, görevlerinizin bir kez etkili olduğundan emin olmaktır (kaç kez çalıştırıldıkları fark etmez görevler aynı sonuca sahip olur).

Yaygın bir örnek, dosyaları bir işlem düğümüne kopyalama görevidir. Basit bir yaklaşım, belirtilen tüm dosyaları her çalıştırıcıda kopyalanan ve verimsiz olan ve hataya dayanacak şekilde olmayan bir görevdir. Bunun yerine, dosyaların işlem düğümünde olduğundan emin olmak için bir görev oluşturun; zaten mevcut olan dosyaları yenidencopy olmayan bir görev. Bu şekilde, görev kesintiye uğrarsa bıraktığı yerden devam ediyor olur.

Kısa yürütme süresiyle kaçının

Yalnızca bir veya iki saniye çalıştıran görevler ideal değildir. Tek bir görev için önemli miktarda iş (en az 10 saniye, en fazla saat veya gün) yapmaya çalışırsınız. Her görev bir dakika (veya daha fazla) süreyle yürütülse, zamanlama yükü genel işlem süresine göre küçüktür.

Düğümlerde kısa görevler için havuz Windows kullanma

Bir görevi Batch düğümlerde zamanlarken, görev kapsamıyla mı yoksa havuz kapsamıyla mı çalıştıracaklarını seçebilirsiniz. Görev yalnızca kısa bir süre çalıştıracaksa, görev için otomatik kullanıcı hesabı oluşturmak için gereken kaynaklar nedeniyle görev kapsamı verimsiz olabilir. Daha fazla verimlilik için bu görevleri havuz kapsamına ayarlamayı göz önünde bulundurabilirsiniz. Daha fazla bilgi için bkz. Havuz kapsamı ile bir görevi otomatik kullanıcı olarak çalıştırma.

Düğümler

İşlem düğümü, uygulama iş yükünün bir kısmını işlemeye ayrılmış bir Azure sanal makinesi (VM) veya bulut hizmeti VM'dir. Düğümlerle çalışırken bu yönergeleri izleyin.

Bire bir etkili başlangıç görevleri

Diğer görevlerde olduğu gibi düğüm başlatma görevi de bir kez etkili olmalı çünkü düğüm her yeniden çalıştıracak. Bir kez etkili bir görev, birden çok kez çalıştırarak tutarlı bir sonuç üreten görevdir.

Yalıtılmış düğümler

Uyumluluk veya mevzuat gereksinimleri olan iş yükleri için yalıtılmış VM boyutlarını kullanmayı göz önünde bulundurabilirsiniz. Sanal makine yapılandırma modunda desteklenen yalıtılmış boyutlar Standard_E80ids_v4 şunlardır: Standard_M128ms , , , , ve Standard_F72s_v2 Standard_G5 Standard_GS5 Standard_E64i_v3 . Yalıtılmış VM boyutları hakkında daha fazla bilgi için bkz. Azure'da sanal makine yalıtımı.

Uzun süre çalışan hizmetleri işletim sistemi hizmetleri arabirimi aracılığıyla yönetme

Bazen düğümdeki Batch aracısı ile birlikte başka bir aracı çalıştırmanız gerekir. Örneğin, düğümden veri toplamak ve bunu rapor etmek istiyor olabilirsiniz. Bu aracıların bir Windows veya Linux hizmeti gibi işletim sistemi hizmetleri olarak dağıtılmasını systemd öneririz.

Bu hizmetleri çalıştırdığınızda düğümdeki Batch tarafından yönetilen dizinlerde dosya kilitleri almaları gerekir, aksi takdirde Batch dosya kilitleri nedeniyle bu dizinleri silemez. Örneğin, Windows hizmetini bir başlangıç görevine yüklüyorsanız, hizmeti doğrudan başlangıç görevi çalışma dizininden başlatmak yerine, dosyaları başka bir yere kopyalayın (veya dosyalar varsa kopyalamayı atlayabilirsiniz). Ardından hizmeti bu konumdan yükleyin. Batch başlangıç görevinizi yeniden çalıştırarak başlangıç görevi çalışma dizinini silebilir ve yeniden oluşturabilir. Hizmetin başlangıç görevi çalışma dizininde değil, diğer dizinde dosya kilitleri olduğundan bu işe yarar.

Dizin birleşimleri oluşturmaktan Windows

Bazen dizin sabit bağlantıları olarak adlandırılan dizin birleşimleri, görev ve iş temizleme sırasında başa zordur. Sabit bağlantılar yerine symlinks (soft-links) kullanın.

Batch aracısı günlüklerini toplama

Düğümde çalışan bir düğümün veya görevlerin davranışıyla ilgili bir sorun fark ediyorsanız, söz konusu düğümlerin yerini çözmeden önce Batch aracısı günlüklerini toplayın. Batch aracısı günlükleri, Batch hizmeti Upload API'si kullanılarak toplanabilir. Bu günlükler Microsoft'a bir destek biletinin parçası olarak sağlanmalıdır ve sorun giderme ve çözmede yardımcı olur.

Işletim sistemi yükseltmelerini yönetme

Kullanıcı aboneliği modu Batch hesapları için otomatik işletim sistemi yükseltmeleri, özellikle de görevler uzun süre çalışıyorsa görev ilerlemesini kesintiye uğratmaya neden olabilir. Bire bir etkili görevler oluşturma, bu kesintilerden kaynaklanan hataları azaltmaya yardımcı olabilir. Ayrıca, görevlerin çalıştırması beklenilen zamanlar için işletim sistemi görüntüsü yükseltmelerini zamanlamanizi öneririz.

Bu Windows için enableAutomaticUpdates varsayılan olarak true olarak ayarlanır. Otomatik güncelleştirmelere izin verme önerilir, ancak işletim sistemi güncelleştirmelerinin beklenmedik bir şekilde yaşanmaması için bu değeri false olarak ayarlayın.

Yalıtım güvenliği

Yalıtım amacıyla, senaryo için işleri birbirinden yalıtmanız gerekirse, bunları ayrı havuzlarda bulundurarak bunu yapma. Havuz, Batch'te güvenlik yalıtımı sınırıdır ve varsayılan olarak iki havuz görünür değildir veya birbirleriyle iletişim kurameyebilir. Ayrı Batch hesaplarını yalıtım için kullanmaktan kaçının.

Bağlantı

Batch çözümlerinizin bağlantısıyla ilgili aşağıdaki kılavuzu gözden geçirebilirsiniz.

Ağ Güvenlik Grupları (NSG'ler) ve Kullanıcı Tanımlı Yollar (UDR)

Bir sanal ağ içinde Batchhavuzları sağlarken, hizmet etiketinin, bağlantı noktalarının, protokollerin ve kuralın yönüyle ilgili yönergeleri yakından takip BatchNodeManagement edin. Temel Alınan Batch hizmeti IP adreslerini kullanmak yerine hizmet etiketinin kullanılması kesinlikle önerilir. Bunun nedeni IP adreslerinin zaman içinde değişe değişmesidir. Batch hizmeti IP adreslerini doğrudan kullanmak Batch havuzlarınız için kesintilere, kesintilere veya kesintilere neden olabilir.

Kullanıcı Tanımlı Yollar (UDR) için, bu adresler zaman içinde değiştiklerinden, yol tablonda Batch hizmeti IP adreslerini düzenli aralıklarla güncelleştirmek için bir işleminizin olduğundan emin olun. Batch hizmeti IP adreslerinin listesini alma hakkında bilgi edinmek için bkz. Şirket içi hizmet etiketleri. Batch hizmeti IP adresleri hizmet etiketiyle (veya Batch hesabı bölgenize BatchNodeManagement eşleşen bölgesel varyantla) ilişkilendirilecek.

DNS 'i manlama

Sistemlerinizin Batch hesabı hizmet URL 'niz için DNS yaşam süresi (TTL) aldığından emin olun. Ayrıca, Batch hizmeti istemcilerinizin ve Batch hizmetine yönelik diğer bağlantı mekanizmalarının IP adreslerine dayanmadığından emin olun (veya aşağıda açıklandığı gibi statik genel IP adreslerine sahip bir havuz oluşturun ).

İstekleriniz 5 xx düzeyinde HTTP yanıtı alıyorsa ve yanıtta bir "bağlantı: kapatma" üst bilgisi varsa, Batch hizmeti istemciniz var olan bağlantıyı kapatarak öneriyi gözlemlemelidir, Batch hesabı hizmet URL 'SI için DNS 'i yeniden çözümleyip yeni bir bağlantı isteği gerçekleştirmeye devam etmelidir.

İstekleri otomatik olarak yeniden dene

Batch hizmeti istemcilerinizde, normal işlem sırasında bile isteklerinizi otomatik olarak yeniden denemek için uygun yeniden deneme ilkelerine sahip olduğundan emin olun. Bu yeniden deneme ilkeleri, en az 5 dakikalık bir aralığı kapsamalıdır. Otomatik yeniden deneme özellikleri, .net RetryPolicyProvider sınıfıgibi çeşitli Batch SDK 'leriyle sağlanır.

Statik genel IP adresleri

Genellikle, bir Batch havuzundaki sanal makinelere, havuzun kullanım ömrü boyunca değişebilir genel IP adresleri üzerinden erişilir. Bu, belirli IP adreslerine erişimi sınırlayan bir veritabanı veya başka bir dış hizmetle etkileşim kurmayı zorlaştırır. Havuzunuzdaki genel IP adreslerinin beklenmedik şekilde değişmemesini sağlamak için, denetlediğiniz bir statik genel IP adresleri kümesini kullanarak bir havuz oluşturabilirsiniz. Daha fazla bilgi için bkz. belirtilen genel IP adreslerine sahip bir Azure Batch havuzu oluşturma.

Cloud Services yapılandırmasıyla bağlantı test ediliyor

Azure Yük dengeleyicisinden ıCMP protokolüne izin verilmediğinden, normal "ping"/ıCMP protokolünü Cloud Services ile kullanamazsınız. Daha fazla bilgi için bkz. Azure Cloud Services Için bağlantı ve ağ.

Toplu düğüm temel alınan bağımlılıklar

Batch çözümlerinizi tasarlarken aşağıdaki bağımlılıkları ve kısıtlamaları göz önünde bulundurun.

Sistem tarafından oluşturulan kaynaklar

Azure Batch, sanal makinede değiştirilmemelidir bir Kullanıcı ve grup kümesi oluşturur ve yönetir. Bunlar şu şekildedir:

Windows:

  • Poolnonadmin adlı Kullanıcı
  • Wataskcommon adlı bir Kullanıcı grubu

Linux:

  • _Azbatch adlı bir Kullanıcı

Dosya temizleme

Toplu işlem, saklama süresi sona erdiğinde görevlerin çalıştırıldığı çalışma dizinini etkin bir şekilde temizlemeye çalışır. Bu dizinin dışında yazılan tüm dosyalar, disk alanını doldurmaktan kaçınmak için Temizleme sorumluluğudur .

dosya hala kullanımda olduğundan, starttask çalışma dizininden Windows bir hizmet çalıştırırsanız, çalışma dizini için otomatik temizleme engellenir. Bu, performansın düşmesine neden olur. Bunu yapmak için, bu hizmetin dizinini Batch tarafından yönetilmeyen ayrı bir dizinle değiştirin.

Sonraki adımlar