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.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri
SQL Server Machine Learning Hizmetleri'nde Python ve R iş yüklerini yönetmek için kaynak havuzu oluşturmayı ve kullanmayı öğrenin.
İşlem birden çok adım içerir:
- Mevcut kaynak havuzlarının durumunu gözden geçirin. Mevcut kaynakları hangi hizmetlerin kullandığını anlamanız önemlidir.
- Sunucu kaynak havuzlarını değiştirin.
- Dış işlemler için yeni bir kaynak havuzu oluşturun.
- Harici betik isteklerini tespit etmek için bir sınıflandırma işlevi oluşturun.
- Yeni dış kaynak havuzunun belirtilen istemcilerden veya hesaplardan R veya Python işleri yakaladığını doğrulayın.
Mevcut kaynak havuzlarının durumunu gözden geçirme
Sunucu için varsayılan havuza atanan kaynakları denetlemek için aşağıdaki gibi bir deyimi kullanın.
SELECT * FROM sys.resource_governor_resource_pools WHERE name = 'default'Örnek sonuçlar
pool_id name min_cpu_percent max_cpu_percent min_memory_percent max_memory_percent cap_cpu_percent min_iops_per_volume max_iops_per_volume 2 default 0 100 0 100 100 0 0 Varsayılan dış kaynak havuzuna atanan kaynakları denetleyin.
SELECT * FROM sys.resource_governor_external_resource_pools WHERE name = 'default'Örnek sonuçlar
external_pool_id name max_cpu_percent max_memory_percent max_processes version 2 default 100 20 0 2 Bu sunucu varsayılan ayarları altında, dış çalışma zamanının büyük olasılıkla çoğu görevi tamamlamak için yeterli kaynağı olmayacaktır. Kaynakları geliştirmek için sunucu kaynak kullanımını aşağıdaki gibi değiştirmeniz gerekir:
Veritabanı altyapısı tarafından kullanılabilecek en yüksek bilgisayar belleği miktarını azaltın.
Harici işlemin kullanabileceği en yüksek bellek miktarını artırın.
Sunucu kaynak kullanımını değiştirme
Management Studio'da, SQL Server bellek kullanımını 'maksimum sunucu belleği' ayarındaki değerin 60% ile sınırlamak için aşağıdaki deyimi çalıştırın.
ALTER RESOURCE POOL "default" WITH (max_memory_percent = 60);Dış işlemler tarafından bellek kullanımını toplam bilgisayar kaynaklarının 40% ile sınırlamak için aşağıdaki deyimi çalıştırın.
ALTER EXTERNAL RESOURCE POOL "default" WITH (max_memory_percent = 40);Bu değişiklikleri zorunlu kılmak için Resource Governor aşağıdaki gibi yeniden yapılandırmanız ve yeniden başlatmanız gerekir:
ALTER RESOURCE GOVERNOR RECONFIGURE;Note
Bunlar yalnızca başlangıç olarak önerilen ayarlardır; ortamınız ve iş yükünüz için doğru dengeyi belirlemek için makine öğrenmesi görevlerinizi diğer sunucu işlemleri ışığında değerlendirmeniz gerekir.
Kullanıcı tanımlı dış kaynak havuzu oluşturma
Resource Governor yapılandırmasında yapılan tüm değişiklikler sunucu genelinde bir bütün olarak uygulanır. Değişiklikler, sunucu için varsayılan havuzları kullanan iş yüklerinin yanı sıra dış havuzları kullanan iş yüklerini de etkiler.
Hangi iş yüklerinin öncelikli olması gerektiği konusunda daha ayrıntılı denetim sağlamak için yeni bir kullanıcı tanımlı dış kaynak havuzu oluşturabilirsiniz. Bir sınıflandırma işlevi tanımlayın ve dış kaynak havuzuna atayın. EXTERNAL anahtar sözcüğü yenidir.
Kullanıcı tanımlı yeni bir dış kaynak havuzu oluşturun. Aşağıdaki örnekte havuz ds_ep olarak adlandırılmıştır.
CREATE EXTERNAL RESOURCE POOL ds_ep WITH (max_memory_percent = 40);Oturum isteklerini yönetirken kullanmak için adlı
ds_wgbir iş yükü grubu oluşturun. SQL sorguları için varsayılan havuzu kullanacaksınız; tüm dış işlem sorguları için havuzu kullanırds_ep.CREATE WORKLOAD GROUP ds_wg WITH (importance = medium) USING "default", EXTERNAL "ds_ep";İstekler, istek sınıflandırılamadıklarında veya başka bir sınıflandırma hatası olduğunda varsayılan gruba atanır.
Daha fazla bilgi için bkz. Resource Governor İş Yükü Grubu ve CREATE WORKLOAD GROUP (Transact-SQL).
Makine öğrenmesi için sınıflandırma işlevi oluşturma
Sınıflandırma işlevi gelen görevleri inceler. Görevin geçerli kaynak havuzu kullanılarak çalıştırılacak bir görev olup olmadığını belirler. Sınıflandırma işlevinin ölçütlerini karşılamayan görevler sunucunun varsayılan kaynak havuzuna geri atanır.
Kaynak havuzlarını belirlemek için Resource Governor tarafından bir sınıflandırıcı işlevinin kullanılması gerektiğini belirterek başlayın. Sınıflandırıcı işlevi için yer tutucu olarak null atayabilirsiniz.
ALTER RESOURCE GOVERNOR WITH (classifier_function = NULL); ALTER RESOURCE GOVERNOR RECONFIGURE;Daha fazla bilgi için bkz ALTER RESOURCE GOVERNOR . (Transact-SQL).
Her kaynak havuzunun sınıflandırıcı işlevinde, kaynak havuzuna atanması gereken deyimlerin veya gelen isteklerin türünü tanımlayın.
Örneğin, isteği gönderen uygulama 'Microsoft R Konağı', 'RStudio' veya 'Mashup' ise, aşağıdaki işlev kullanıcı tanımlı dış kaynak havuzuna atanan şemanın adını döndürür; aksi takdirde varsayılan kaynak havuzunu döndürür.
USE master GO CREATE FUNCTION is_ds_apps() RETURNS sysname WITH schemabinding AS BEGIN IF program_name() in ('Microsoft R Host', 'RStudio', 'Mashup') RETURN 'ds_wg'; RETURN 'default' END; GOİşlev oluşturulduğunda, yeni sınıflandırıcı işlevini daha önce tanımladığınız dış kaynak grubuna atamak için kaynak grubunu yeniden yapılandırın.
ALTER RESOURCE GOVERNOR WITH (classifier_function = dbo.is_ds_apps); ALTER RESOURCE GOVERNOR RECONFIGURE; GO
Yeni kaynak havuzlarını ve ilişkilendirmeyi doğrulayın
İş yükü gruplarının her biri için sunucu bellek yapılandırmasını ve CPU'sunu denetleyin. Aşağıdakileri gözden geçirerek örnek kaynak değişikliklerinin yapıldığını doğrulayın:
- SQL Server sunucusu için varsayılan havuz
- dış işlemler için varsayılan kaynak havuzu
- dış işlemler için kullanıcı tanımlı havuz
Tüm iş yükü gruplarını görüntülemek için aşağıdaki deyimi çalıştırın:
SELECT * FROM sys.resource_governor_workload_groups;Örnek sonuçlar
group_id name önem request_max_memory_grant_percent request_max_cpu_time_sec request_memory_grant_timeout_sec max_dop group_max_requests pool_id pool_idd external_pool_id 1 dahili Orta 25 0 0 0 0 1 2 2 default Orta 25 0 0 0 0 2 2 256 ds_wg Orta 25 0 0 0 0 2 256 Tüm dış kaynak havuzlarını görüntülemek için sys.resource_governor_external_resource_pools (Transact-SQL) yeni katalog görünümünü kullanın.
SELECT * FROM sys.resource_governor_external_resource_pools;Örnek sonuçlar
external_pool_id name max_cpu_percent max_memory_percent max_processes version 2 default 100 20 0 2 256 ds_ep 100 40 0 1 Daha fazla bilgi için bkz. Resource Governor Katalog Görünümleri (Transact-SQL).
Geçerliyse, harici kaynak havuzuyla ilişkilendirilmiş bilgisayar kaynakları hakkında bilgi döndürmek için aşağıdaki ifadeyi çalıştırın:
SELECT * FROM sys.resource_governor_external_resource_pool_affinity;Havuzlar AUTO benşimi ile oluşturulduğundan hiçbir bilgi görüntülenmez. Daha fazla bilgi için bkz. sys.dm_resource_governor_resource_pool_affinity (Transact-SQL).
Sonraki Adımlar
Sunucu kaynaklarını yönetme hakkında daha fazla bilgi için bkz:
Makine öğrenmesi için kaynak idaresine genel bakış için bkz: