이건 도저히 감을 잡을 수 없어서 문의 드립니다.
프로시져를 튜닝을 해서, 2~3초 에 끝나도록 하였습니다. (100만건 집계)
SQL Server Manaement Studio에서 실행했을때는 2~3초로 걸리는데,
웹화면에서 동일한 검색조건으로 실행하면, 6초 이상 걸립니다.
웹화면에서 조회버튼을 누르고, 대기중이다가, 프로파일러에 나오는 프로시져를 카피해서
SQL Server Manaement Studio에서 다시 실행하면, 역시 2~3초 걸리는데,
프로파일러에서 해당 프로시져를 호출한 시간을 확인해 보면 14초 이렇게 나오고,
웹화면에서 뿌려지는 시간도 14초 정도 걸리더군요.
디비에서 직접 하면 2,3초 걸리는게, 웹화면에서 느리다면, 어디부터 봐야할지 감이 안 잡힙니다.
디비쪽에서는 이제 다 했으니, 손 놓겠다...라고 말 할 수도 없고,
긴긴 밤, 아니 새벽, 이렇게 잠 못 이루고 고민하는 불쌍한 영혼 좀 구제해주세요.
Comment 3
-
정선
2013.03.05 21:31
아코, 제 이름이 언급되었네요^^
초짜해커님이 알려주신대로 우선 Web이랑 SSMS랑 각각의 쿼리 실행계획을 확인하고 비교해 보세요.
SSMS에서는 실행계획을 바로 보면 되는데, Web에서 호출되는 것을 보기가 쉽지 않죠.
DMV를 이용하시거나, Profiler를 이용하거나 혹은 모니터링 툴을 이용하거나, 기타 등등 인데
아무래도 쉽지 않으실테니...그러면...2008 버전이니까 SSMS에 있는 "작업모니터"를 이용해 보시죠.
첨부한 그림을 보시고 14초 걸리는 해당 쿼리를 찾아서 실행 계획 표시를 하고 두 개를 비교해 보세요.
인덱스는 제대로 사용하는지, 조인은 어떻게 처리되는지 등등을 비교해 보시고 이후 분석/튜닝을 해 보시기 바랍니다.
그 다음은 ... 음... 글로 설명드리기 어렵네요. 일단 거기까지하고 주변에 도움을 받아보시는 것이 좋을 듯 합니다.
도움이 되시길.
-
minsouk
2013.03.08 20:21
안녕하세요 쿼리성능 관련해 관심이 많은 사람 입니다.
쿼리 성능 관련해서는 언제든지 연락 주세요~
준비물은 TeamViewer v6.0.17222 , Line (네이버 japan 메신저) 에 minsouk1 추가 후
연락 주시면 언제든지 봐 드리겠습니다. (단, 업무시간은 힘들 수 도 있어요 ^^)
010-9967-0955 입니다.
같은 쿼리를 실행하면 같은 플랜을 사용했을거고 그럼 같은 성능이 나와야 하는게 당연하죠.
근데 응용프로그램과 SSMS에서 성능이 다르게 나온다면 다른 플랜을 사용했을 가능성이 크네요.
SSMS와 응용프로그램의 세션 환경이 달라서 생기는 문제입니다.
예전에 김정선강사님이 이 문제에 대해 세미나에서 언급한적도 있었고
검색해보시면 답 나올듯
아니면 조금 기다리면 고수들이 답글로 ㅎㅎ...