Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulama boyutlarına dinamik uyarlama (DATAS) GC, uygulama belleği gereksinimlerine uyum sağlamayı amaçlar. Bu, uygulama yığını boyutunun kabaca uzun ömürlü veri boyutuyla orantılı olması gerektiği anlamına gelir. Uygulamanız farklı özelliklere sahip makinelerde çalışırken aynı işi yapıyorsa yığın boyutu aynı veya benzerdir. İş yükünüz hafifler veya ağırlaşırsa yığın boyutu buna göre ayarlanır.
Buna karşılık, Sunucu GC modu aktarım hızını artırmayı amaçlar ve işlemi makinedeki baskın mod olarak ele alır. Sonraki GC'yi tetiklemeden önce izin verdiği ayırma miktarı uygulama boyutuna değil aktarım hızına bağlıdır. Gerekirse yığını agresif bir şekilde büyütebilir ve kullanılabilir bellek vardır. Bu büyüme işlemi farklı donanım özelliklerine sahip makinelerde çalıştırdığınızda çok farklı yığın boyutlarına neden olabilir. İşleminizi çok daha fazla çekirdeğe ve daha fazla belleğe sahip bir makineye taşıdığınızda yığın çok daha büyüyebilir. İş yükü çok daha hafif hale gelirse sunucu GC de yığını agresif bir şekilde ayarlamaz.
DATAS, özellikle talep azaldıkça yığın boyutunun iş yükünün ne kadar zorlu olduğuna göre ayarlanması gereken "yoğun" iş yüklerinde en çok yardımcı olur. Bu, özellikle bazı işlemlerin iş yükleri hafiflediğinde daha fazla işlem sığdırmak için önemli olan bellek kısıtlanmış ortamlarda önemlidir. Ayrıca kapasite planlamasına da yardımcı olur. DATAS, .NET 8'de bir kabul etme özelliği olarak sunulmuştur ve .NET 9'da varsayılan olarak etkindir.
Özellik açıklaması
Uygulama boyutu uyarlaması elde etmek ve makul performansı sürdürmeye devam etmek için DATAS şunları yapar:
- Uzun ömürlü veri boyutuna göre bir sonraki GC tetiklenmeden önce izin verilen en fazla ayırma miktarını ayarlar. Bu, yığın boyutunun kısıtlanmasında yardımcı olur.
- aktarım hızına göre izin verilen gerçek ayırma miktarını ayarlar.
- Gerektiğinde yığın sayısını ayarlar. Tek bir yığınla başlar, yani ayrılmış çok sayıda iş parçacığı varsa, bazılarının beklemesi gerekir. Bu, aktarım hızını olumsuz etkiler. VERİLER büyür ve gerektiğinde yığın sayısını azaltır. Bu şekilde, mevcut GC modları arasında bir karmadır ve bir yığın kadar (iş istasyonu GC gibi) ve makine çekirdeği sayısıyla (sunucu GC gibi) eşleşebilen bir karmadır.
- Gerektiğinde, parçalanmanın çok yüksek olmasını önlemek için tam sıkıştırma GC'leri yapar ve bu da yığın boyutunu kısıtlamaya yardımcı olur.
Karşılaştırma sonuçları
Aşağıdaki görüntülerde TechEmpower JSON ve Fortunes Benchmarks için bazı karşılaştırma sonuçları gösterilmektedir. Linux ile 48 çekirdekli bir makinede kıyaslamalar çalıştırılırken çalışma kümesinde önemli ölçüde azalma olduğunu fark edin. Maksimum aktarım hızı (RPS ile ölçülür) %2-3 oranında azalma gösterir, ancak %80'in üzerinde bir çalışma kümesi iyileştirmesi gösterir.

VERİLER etkinleştirildiğinde 0. Nesil ve 1. Nesil GC'lerin sayısı önemli ölçüde daha fazladır.

VERİLerİ devre dışı bırakma
Aktarım hızının az olduğunu fark ederseniz, çeşitli ayarları kullanarak VERİLerİ devre dışı bırakabilirsiniz. Daha fazla bilgi için bkz . Uygulama boyutlarına dinamik uyarlama (DATAS).