티스토리 뷰
그 동안
잘 사용해 오던
SQL서버인데...
언젠가서 부터
특정 시간대에 프로그램이
많이 느려진다는 이야기를
사용자들에게 들었다.
느려진다고 이야기하는 타이밍에
서버의 CPU, 메모리 사용량 등을
체크해 보았으나 CPU나 메모리의 문제가 아닌 다른 부분이 시스템을 느려지게 하고 있는 것 같았다.
그러다가 체크 해 본 부분이 디스크 IO인데... tempDB의 mdf, ldf 파일의 용량이 적절하지 않게 컸으며
읽고 쓰기 속도가 다른 프로세스들과 비교했을 때 이 역시 적절치 못하게 상위에 랭크되어 있음을 발견했다.
tempDB라는 놈은 이름에서 알 수 있듯이 임시 DB의 역할을 한다.
예를들어 임시테이블에 데이터를 저장한다든지... 쿼리의 중간결과를 저장하거나, 소팅, 해쉬테이블을 만드는 그런 쪽
임무를 담당하고 있다. 따라서 이름은 temp일지라도 SQL서버에서는 굉장히 중요한 역할을 하고 있다고 할 수 있다.
우선 프로그램에서 사용하는 쿼리 중에서 tempDB를 사용할 만한 부분이 있는지를 파악해 보았다.
역시나 사용자들이 빈번하게 사용하는 프로시져에서 임시 테이블을 join하는 부분이 있었다.
프로그램적으로는 이 부분을 수정하기로 하고.... 결과를 보니 tempDB의 ldf가 줄어든 것을 확인 할 수 있었다.
이건 나름대로 성공적인 것 같고.... 다음으로는 SQL 서버에서도 tempDB의 손을 좀 봐야 할 거 같은데...
생각 해 보니 레이드 구성에서 운영체제 드라이브를 미러링으로 구성해 놨었는데...
설정을 찾아보니 tempDB의 디폴트 경로가 운영체제에 SQL 서버가 설치된 경로로 되어 있음을 발견했다.
레이드 구성을 약간만 알더라도 미러링 구성의 읽기 쓰기 속도는 그리 좋은 편이 아니라는 것을 알 수 있을 것이다.
왜냐면 두개의 디스크에 완전히 똑같은 복사본을 보관하는 거니까...
이 부분은 또 다른 얘기라서 삼천포로 빠져 나가버리니... 여기서는 언급하지 않기로 하고....
본론으로 들어가서 물리적으로 다른 디스크로 tempDB의 mdf와 ldf를 변경하는 절차를 보도록 하겠다.
1. 먼저 tempDB의 mdf, ldf가 어디에 위치하는지를 파악한다.
SQL서버를 디폴트로 설치 했다면 SQL 2008서버라고 가정 했을 경우
mdf
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\tempdb.mdf
ldf
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\templog.ldf
이렇게 하면 된다. ㅋㅋ
그리 오래 걸리지 않는다. 해 봐야 안다.
'DB(MS, Oracle, PG, MY..etc)' 카테고리의 다른 글
하위 테이블에서 걸러낸 결과로 전체 컬럼 가져오기(group by, having count) (0) | 2019.01.09 |
---|---|
MS-SQL 튜닝에 대한 짧은 생각 (0) | 2019.01.02 |
MS-SQL 2003, 2008등에서 연결된 서버 연결하기(linked server) (0) | 2013.07.05 |
[MS-SQL] 복수의 인스턴스가 설치되었을 경우 포트 설정 (0) | 2013.06.26 |
ms-sql 숫자 천단위 콤마 표시하기 (3) | 2013.01.16 |
- Total
- Today
- Yesterday
- 추억의 게임
- 플래쉬 게임
- 플래쉬게임
- Excel
- 8비트
- SQL
- xml강좌
- 중독성짱게임
- 엑셀
- 레트로게임
- XML Programming with VB 6.0
- C
- 플래쉬
- brawlstars
- 플래시게임
- MS-SQL
- XML
- 오락실 게임
- 틀린그림찾기
- 고전게임
- c#
- 오락실게임
- 8비트상성
- 좀비게임
- 플래시
- 다른그림찾기
- 브롤스타즈
- 고전명작
- 플래시 게임
- J.S Bach
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |