SQL을 사용하다 보면 조회 속도가 느리거나 성능이 떨어지는 경우가 있다.
주로 메모리를 너무 많이 써서 부하가 걸리거나, 할당된 메모리가 너무 작아서 성능이 떨어지거나이다.
메모리 할당이 필요한 이유
1. 시스템 안정성 보장
메모리 부족으로 다른 애플리케이션이나 OS가 영향을 받지 않도록 SQL Server의 메모리 사용을 제한한다.
2. 효율적인 자원 분배
시스템 메모리를 SQL Server와 다른 프로세스 간에 균형 있게 분배하여 자원을 효율적으로 사용할 수 있게 한다.
3. SQL Server 성능 최적화
충분한 메모리를 확보해 성능을 개선하고, 과도한 메모리 사용을 방지한다.
4. 메모리 누수 방지:
SQL Server가 과도하게 메모리를 사용하는 것을 방지하여 시스템의 성능을 안정적으로 유지한다.
5. 긴급 상황 대응:
SQL Server가 메모리 부족 상태에 빠지는 것을 방지해 성능 저하를 막는다.
현재 설정된 min/max값 조회
SELECT
name,
value_in_use
FROM sys.configurations
WHERE name IN ('max server memory (MB)', 'min server memory (MB)');
max server memory 설정
EXEC sp_configure 'max server memory (MB)', 28000; -- 예: 28GB 설정
RECONFIGURE;
min server memory 설정
EXEC sp_configure 'min server memory (MB)', 16000; -- 예: 16GB 설정
RECONFIGURE;
SSMS에서 변경하기
개체 탐색기(Object Explorer)에서 서버 선택 (마우스 우클릭) => 속성(Properties)
Memory 클릭 => Min/Max 값 설정 => OK
물리적 메모리에 따른 권장 메모리 설정값
내가 사용하는 서버는 RAM이 32GB라서
min server memory는 8GB가 정도로, max server memory는 24GB 정도로 설정했다.
'코딩 공부 기록 > SQL' 카테고리의 다른 글
[MSSQL] 인덱스의 스캔 방식 (2) | 2024.11.22 |
---|---|
[MSSQL] 클러스터 인덱스(Clustered Index)와 비 클러스터 인덱스(Non Clustered Index) (0) | 2024.11.22 |
[MSSQL] 로컬 서버 사용하기 (SSMS, SQL Server Developer) (0) | 2024.11.22 |
[SQL] 데이터베이스 정규화 (1NF, 2NF, 3NF, BCNF, 4NF, 5NF) (2) | 2024.11.12 |
데이터베이스 성능 분석 개요와 성능 튜닝 기초 개념 (0) | 2024.11.12 |