Sunucu özelliklerindeki Boost SQL Server priority kutusu, adı nedeniyle cazip görünür: SQL Server’a “öncelik vermek” performansı artırmalı gibi gelir. Gerçekte bu ayar, Microsoft’un kullanımdan kaldırmayı planladığı, performans ayarı için gerekli olmadığını açıkça belirttiği ve yanlış koşullarda sunucunun kararlılığını bozabilen eski bir seçenektir.
Bu yazıda priority boost’un ne yaptığını, neden kapalı kalması gerektiğini, açıksa nasıl güvenle kapatılacağını ve performans için bunun yerine nelere bakılması gerektiğini anlatıyoruz.
Sunucu ayarlarınız sizin için mi çalışıyor?
Aryasoft, varsayılandan farklı tüm sunucu ayarlarını inceler; gereksiz ve riskli olanları temizler, iş yükünüze uygun yapılandırmayı belgeler.
Priority Boost Ne Yapar?
Varsayılan değeri 0 olan bu ayar, SQL Server sürecinin Windows zamanlayıcısındaki öncelik tabanını belirler. Değer 0 iken SQL Server öncelik tabanı 7 ile, 1 olduğunda ise 13 ile çalışır. Yani SQL Server’ın thread’leri, sunucudaki diğer süreçlerin önüne geçer.

Neden Açılmamalı?
- Kullanımdan kaldırılıyor: Microsoft bu özelliği gelecekteki bir sürümde kaldıracağını duyurmuştur; yeni yapılandırmalarda kullanılmamalıdır.
- Performans için gerekli değil: Microsoft’un kendi dokümantasyonu, priority boost’un performans ayarı için gerekmediğini ve yalnızca istisnai durumlarda, örneğin Microsoft destek ekibinin bir performans sorununu incelemesi sırasında kullanılabileceğini belirtir.
- İşletim sistemini aç bırakabilir: SQL Server yüksek öncelikle çalışırken işletim sisteminin ve ağ katmanının temel işlevleri kaynak bulamayabilir. Sonuç; yavaşlayan uzak masaüstü oturumları, ağ zaman aşımları ve SQL Server’ın düzgün kapanamaması olabilir.
- Cluster’larda risklidir: Microsoft, failover cluster instance’larda priority boost kullanılmamasını açıkça belirtir. Cluster heartbeat’leri zamanında işlenemezse gereksiz failover’lar yaşanabilir.
Uyarı
Priority boost’u açmak, CPU darboğazını çözmez; yalnızca darboğazın bedelini işletim sistemine ve diğer servislere öder. Sunucu zaten CPU sıkıntısındaysa sorun büyük ihtimalle verimsiz sorgularda, eksik index’lerde ya da paralellik ayarlarındadır.
Açık mı? Nasıl Kontrol Edilir ve Kapatılır?
-- Mevcut değer (value_in_use = 1 ise açık)
SELECT name, value, value_in_use
FROM sys.configurations
WHERE name = N'priority boost';
-- Kapatmak için
EXEC sys.sp_configure N'show advanced options', 1;
RECONFIGURE;
EXEC sys.sp_configure N'priority boost', 0;
RECONFIGURE;
Ayar, SQL Server servisi yeniden başlatılana kadar geçerli olmaz. value 0, value_in_use hâlâ 1 görünüyorsa değişiklik yapılmış ama servis henüz yeniden başlatılmamıştır. Yeniden başlatmayı bakım penceresine planlayın.
Varsayılandan Farklı Diğer Ayarları da Kontrol Edin
Priority boost açık bulunan bir sunucuda, başka eski “performans” ayarları da değiştirilmiş olabilir. Varsayılan değerinden farklı olan tüm sunucu ayarlarını tek sorguyla listeleyebilirsiniz. Aşağıdaki liste en sık incelenen ayarların varsayılan değerlerini içerir:
SELECT c.name, c.value_in_use, d.default_value
FROM sys.configurations AS c
JOIN (VALUES (N'priority boost', 0), (N'lightweight pooling', 0),
(N'affinity mask', 0), (N'affinity I/O mask', 0),
(N'max worker threads', 0), (N'cost threshold for parallelism', 5),
(N'max degree of parallelism', 0), (N'max server memory (MB)', 2147483647),
(N'xp_cmdshell', 0), (N'clr enabled', 0)) AS d(name, default_value)
ON d.name = c.name
WHERE CONVERT(int, c.value_in_use) <> d.default_value;
Max server memory, MAXDOP ve cost threshold for parallelism gibi ayarların varsayılandan farklı olması genellikle doğrudur; önemli olan değerin bilinçli seçilmiş olmasıdır. Priority boost, lightweight pooling ve affinity mask gibi ayarlar ise belgelenmiş özel bir neden yoksa varsayılan değerinde kalmalıdır.
İpucu
Performans için gerçekten fark yaratan ayarlar şunlardır: doğru boyutlandırılmış max server memory, iş yüküne uygun MAXDOP ve cost threshold for parallelism, veri dosyaları için Instant File Initialization, gerektiğinde Lock Pages in Memory ve Windows’ta High Performance güç planı.
Kontrol Listesi
priority boostdeğeri 0;value_in_useda 0.- Failover cluster düğümlerinde kesinlikle kapalı.
- Varsayılandan farklı sunucu ayarlarının her biri için belgelenmiş bir neden var.
- CPU baskısı varsa kök neden sorgu ve index düzeyinde araştırılıyor.
İlgili Yazılar
SQL Server Performans Danışmanlığı
Ayarları alışkanlıkla değil, ölçümle yapın
Aryasoft’un kıdemli DBA ekibi sunucu yapılandırmanızı varsayılan değerler ve iş yükünüzle karşılaştırır, riskli ayarları güvenle geri alır ve gerçekten fark yaratan iyileştirmelere odaklanır.