프로시저 하나가 있는데...
요놈이 현업에서 어쩔땐 1분 어쩔땐 6분 =-= 이 걸린다고 하여
프로시져를 직접 돌려보니 일단 6분까지는 재현되지 않고..
1분까지는 걸리더라구요.
현업이 붙을때 VPN을 통해 Webservice에 붙어 조회하는 관계로 IIS쪽에 패킷모니터링 하나 키고
작업할때 IIS쪽에 바로 붙는 지 보니...문제없고...DB에도 바로 붙되...
DB 프로시져 자체가 실제 확인할 때 3분정도 걸리더라구요.
dm_os_wait_task쪽을 보니 내부 프로시저에서 다른 구문들은 다 빨리 끝나는데
시간을 Check해보니 특정 Insert into Table select * from table 하는 라인에서
랜덤으로 계속 시간이 빨랐다 느렸다 하네요.
느린 경우 SET STATISTICS IO ON 으로 살펴보면 Physical Read가 엄청 튀더군요 Logical Read는 거의 동일합니다.
[ / PAGEIOLATCH_XX 류 Waittype이 대기 주요 원인 ]
IO 상태가 문제가 있나 싶어
Perfmon으로 보니
위와 같은 상태인데...최악일땐 최악이지만 전체적으로 상태가 최악은 아닌 것 같아서...
disk Queue length 의 경우는
이러한데...얘도 보통은 10전후반대가 많은 듯한데...
이게 근데 SELECT문 자체는 3초 이내로 끝나는데 INSERT INTO로 특정 Table에 넣기만 하면 랜덤하게 시간이 다르게 나오네요...
혹시나 싶어 별도로 index없는 깡통 table을 하나 똑같은 스키마로 만들면 이것도 빠르긴 빠른데....
느릴 땐 또 엄청 느리게 나오네요.
insert 해당 Table 에 PK index 조각도가 59%여서 Rebuilding한 상태이며, Fill Factor의 경우 0으로 잡혀있긴한데
이 Table이 상당히 빈번하게 update,insert,select되는 테이블인지라 70정도로 잡아놨습니다.
무엇을 또 살펴봐야 할까요 =-=
구름 뜬 질문이라 죄송합니다.^^;
Comment 2
-
minsouk
2015.08.13 17:08
-
dontcryme
2015.08.13 17:24
답변 감사합니다. 사실 5년정도 된 HDD인데(5년전에 구축 후 아무도 손안됨)
사내에 DBA가 없고 제가 2년전에 들어와서 (전 SW담당) 배우면서 열심히 튜닝 중인데 ^^;
perfmon 건은 수치화 된 문서를 보니 15ms이하까지만 봐줄만 하다 해서 간간히 멋지게 튀긴 하는데...
낮은 경우도 있어서...그냥..IO문제는 아닐려나...하고 있는데..역시나 IO일려나요 =-=; ^^;;;
SSD는 비싸다고 안된다고...하여 곧 다른 HDD로 갈아탈 예정인데 갈아타고 봐야 겠네요. 흡..
디스크가 많이 느려 보입니다. -_-~