Performans & Optimizasyon
SQL Server üzerinde best practice olarak ayarlamamız gereken ayarları zaman zaman paylaşacağım ilk olarak yeni kurduğumuz bir SQL Server sunucusunda yapmamız gereken ayarlardan bahsediyor olacağım.
SQL Server konfigurasyonları içerisinde kritik olan “Server Properties” ekranından ve “sp_configure” den ayarlayabileceğimiz ayarlar aşağıda mevcuttur
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
USE master
GO
— Öncelikle advanced options’ları açıyoruz
EXEC sp_configure ‘show advanced options‘, 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
— Gerekli ayarları kontrol ediyoruz
SELECT name, value, value_in_use, [description]
FROM sys.configurations
WHERE name IN
(
backup compression default‘, — 1 yapılmalı özellikle Backup süreleri ve storage den kazanç çok yüksek
clr enabled‘, — clr enabled (only enable if it is needed)
Database Mail XPs‘, — SQL üzerinden mail atıyorsak 1 yapılmalı
max degree of parallelism‘, — OLTP sunucularında 1 yapılmalı.
max server memory (MB)‘, — SQL Server RAM sever 🙂 bu yüzden uygun ayarları OS a göre ayarlamak gerekir
min server memory (MB)‘, — RAM optimizasyonu geniş bir konudur; min değerini ayarlamak yararlı demek tam doğru olamıyor analiz etmeden verilen bir değer OS çökmesine sebep olabilir.
optimize for ad hoc workloads‘, — AdHoc query kullanan yerler ve Memory kısıtlı olan yerlerde “1”
xp_cmdshell’ — özellikle “0” olmalı sistem tarafında büyük bir açık oluşturuyor.
)
ORDER BY name
Mevcut ayarlarımızı gördük artık ayarlamamız gereken değerler kaldı.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
USE master
GO
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE WITH OVERRIDE;;
GO
EXEC sys.sp_configure N‘backup compression default’, N‘1’
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure ‘max server memory’, 20000; — RAM miktarını kontrol ederek yapmamız gerektiğini unutmayalım.
GO
RECONFIGURE  WITH OVERRIDE;
GO
sp_configure ‘min server memory’, 0;
GO
RECONFIGURE  WITH OVERRIDE;
GO
sp_configure ‘clr enabled’, 1;
GO
RECONFIGURE  WITH OVERRIDE;
GO
sp_configure ‘max degree of parallelism’, 1;
GO
RECONFIGURE  WITH OVERRIDE;
GO
sp_configure ‘optimize for ad hoc workloads’, 1;
GO
RECONFIGURE  WITH OVERRIDE;
GO
— xp_cmdshell configure
EXEC sys.sp_configure N‘xp_cmdshell’,N‘0’ — yazılımı ekibinin kullandığı program olabilir !!!!!! sorup yapılmalı
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure ‘show advanced options’, 0;
GO
RECONFIGURE WITH OVERRIDE;;
GO
RAM ayarları ne olacak diye soracak olursanız; ideal oranları tam vermek mümkün olmasa da yaklaşık alttaki değerleri ayarlıyorum bununla birlikte altta verdiğim değerler 64 bit (x64) işletim sistemleri için ve SADECE sunucuda SQL Server çalışıyorsa geçerlidir.
Physical RAM
MaxServerMem Setting
2GB
1500
4GB
3200
6GB
4800
8GB
6400
12GB
10000
16GB
13500
24GB
21500
32GB
29000
48GB
44000
64GB
60000
72GB
68000
96GB
92000
128GB
124000
Bu yazı mastersofsql.com sayfasından alıntıdır

http://www.mastersofsql.com/post/2015/11/23/dba-toolkit-sp-whoisactive

Saygılarımla
Ramazan CESUR