SQL프로그램 검색속도가 너무 느립니다. 하드를 교체하려고하는데요

   조회 4996   추천 0    

HP ML350p gen9 서버를 사용중입니다.

 

sata 1테라x3개 하드를 쓰고있구요

 

MS SQL기반으로된 병원프로그램을 사용중입니다.

 

그런데 프로그램내에서 환자의 데이타를 불러오는 시간이 너무 깁니다. 환자에따라 다르지만 오래걸리면 10초도 걸립니다.

 

클라이언트,서버에서직접실행 동일하게 느립니다.

 

그래서 일반 i5+ssd PC에다가 SQL을 깔고 동일하게 세팅후에 실행해보니

 

2~3배가량 속도가 빠르더군요.

 

그래서 서버의 하드를 바꾸려고합니다.

 

견적을 받은것이 sas 15k 600기가짜리 하드(개당 100만원)

또하나는 sata ssd 960GB (개당180만원) 입니다.

 

HP서버라 HP에서나온OEM제품을 써야한다고 하더라구요. (그래서비싼가...)

 

아무튼 지금 사타하드를 쓰고있는 상태에서 sas 또는 sata ssd로 바꿀경우 효과를 볼수있는지가 궁금합니다.

 

 

의견을 듣고싶습니다

 

감사합니다.

용익
짧은글 일수록 신중하게.
박인호 2015-11
혹시 데이터가 쌓이면서 점점 느려지지 않았나요?
DB에 INDEX가 생성되지 않은 듯
INDEX만 잡아줘도 해결될 것으로 보입니다.

정확한 것은 확인해 봐야 하지만...
     
익스자나 2015-11
원래 다른프로그램을 사용하다가 이번에 전자챠트를사용하면서 프로그램을바꾸고

이전 프로그램에 DB를 새 프로그램에 옴겼습니다.

새 프로그램 사용 후 부터 계속 그렇습니다.
          
박인호 2015-11
처방이 많은 환자만 느린 경우면
새 프로그램에서 DB 가져오는 쿼리 작성 문제일 가능성이 높고
전반적으로 느리면 인덱스 설정 문제일 가능성이 높습니다.
무아 2015-11
query문이 너무 무거운 것 아닌가요?
query문을 좀 가볍게 동작하게 다이어트 하는 것도 방법이 될 수 있어보입니다. 예를 들어 예상되는 검색 범위를 잘 조정한다든지...
그런데 병원 환자 DB가 저렇게 대용량 SSD 를 필요로 하는 만큼 큰가요?
미디어 데이터까지 함께 저장하고 있는 것이라면 분리해주는 것이 좋을 것 같은데요.
만약 그런 상태라면 SSD로 바꾸더라도 얼마 안있어 느리다는 클래임이 올 것 같습니다.
회원K 2015-11
1. DB로직 및 DB서버 설정 검토
2. OS + DB 데이터 + DB 로그 영역 분리
3. DB 데이터 영역만 SSD로 교체

3단계로 가시는 것이 좋습니다.
이지영 2015-11
ML350의 CPU는 무엇인가요?
우선 디스크 억세스 문제도 있는데, 쿼리가 느리면 클럭 차이로 느릴수도 있을것같네요.
     
익스자나 2015-11
Xeon CPU E5-2609 v2 2.50GHZ (2개 프로세서) 입니다.
김상진 2015-11
우선은 sql튜닝

서버 설정 확인, 병목현상 처리

서버 업글순으로 하는게 정석이긴 하죠
공돌이 2015-11
7년전쯤인데요.
고객 10만명이상 / 고객정보 조회시 조회컬럼 100개이상 / 시스템 사용자 200명

아래 스펙으로 2초 미만으로 처리했습니다.
2core cpu / 5400rpm sata hdd no raid / 8g ram / oracle 9i
     
익스자나 2015-11
증상이어떠냐면요

환자리스트에서 환자를 더블클릭했을때 이전에 약처방이 많은환자(이전에30번정도 진료를받은환자)가 특히 느립니다.

처방은  약코드 / 약재이름 / 용량 / 횟수 /
            약코드 / 약재이름 / 용량 / 횟수 /
            약코드 / 약재이름 / 용량 / 횟수 /
            약코드 / 약재이름 / 용량 / 횟수 /

이런식으로 하루치가 적으면2줄 많으면10줄 정도 됩니다.
          
공돌이 2015-11
말씀하신 내용으로봐서는 SQL튜닝으로 해결해야될 과제로 보입니다.
처방전의 '약코드 / 약재이름 / 용량 / 횟수 / ' 데이터가 고객번호를 키로 구성되어 있지 않을것 같습니다.
누적된 총 데이터의 양을 모르니 조심스럽지만
적절한 인덱스를 만들어주고 SQL이 해당 인덱스를 사용하는지 확인정도에서 해결이 되지 않을까 싶습니다.
데이터양이 아주 많다면 파티션 테이블 구성과 주기적인 리오그 작업도 도움이 될테구요.

SSD로 변경하시면 당연히 레이턴시는 줄어듭니다만,
테이블 풀스캔이 일어나고 있는것으로 예상되고 Sequntial IO의 속도는 HDD에 비해 큰 이점이 없기때문에
일정기간후 데이터가 증가함에 따라 다시 똑같은 문제 봉착하실겁니다.
          
ZSNET5 2015-11
데이터 자체가 많으면 느려지는게 당연합니다만, 이건 공돌이님 말씀대로 인덱스만 새로 정리해서 만들어줘도 비약적인 속도 향상이 기대됩니다.
프로그램을 손댈 수 없을 때 가장 먼저 시도하는 SQL 튜닝의 기본입니다.
아울러, 메모리 용량이 얼마인지는 모르겠습니다만, 메모리를 늘려주면 속도향상을 기대할 수 있습니다.
slow query 목록만 찍어봐도 알 수 있는 문제 같은데요.
ZSNET5 2015-11
현재 사용하고 있는 프로그램을 튜닝하는건 불가능 할 것이므로, SQL DB쪽을 먼저 최적화 시켜줄 필요가 있습니다.
표준적으로 인덱스만 새로 만들어줘도 효과가 크며, 로그파일이 커도 속도가 저하되니 주기적으로 줄여줘야 합니다.
인덱스쪽은 그냥 최적화 명령만 때려서 될 수도 있고, 쿼리분석기로 현재 서버에 주어지는 쿼리를 분석하여 인덱싱 방법을 바꿔야 될 수도 있습니다.(당연히 이쪽이 효과가 더 좋죠)
이걸 하고도 속도가 느리다면 DB쪽을 검토하시되, 회원K님의 제안 2, 3번을 하시면 도움이 많이 됩니다.

아울러, HP서버라고해서 꼭 정품을 쓰지는 않아도 됩니다. ^.^;;
     
익스자나 2015-11
HP서버에 하드렉같이 생긴걸로 하드가 들어가는걸로알고있는데

일반 PC용 SSD를 사도 그 렉에다가 장착이 가능한가요?
박문형 2015-11
하드와 SSD는 HP장비는 HP정품밖에 돌아가지 않습니다..

시중에파는 일반하드나 다른 벤더 제품을사용하면 인식이 안되거나 인식이 되어도 시스템 팬이 계속

세게 돌거나 하는 부작용(?)이 생깁니다.
예전에 서버에 악성코드가 몇천개 나온 기억이 있네요
야간에 백신+악성코드 검사도 해보세요
윤성옥 2015-11
김종화님 말씀처럼 slow query 를 찾는게 좋을거 같습니다.
구매한 프로그램을 수정하실수 없을듯 싶으니 trace를 걸어서
느려진 쿼리가 뭔지 어떤 필드를 조회하는지 보시고 인덱스를
조정하는게 맞을거 같다고 생각되네요


QnA
제목Page 2647/5724
2014-05   5238603   정은준1
2015-12   1764081   백메가
2015-11   6415   배고프시죠
2015-11   6838   Kairos
2015-11   4600   RRRR
2015-11   4053   김건우
2015-11   4124   니포
2015-11   12365   김우진
2015-11   4669   눈팅돌이
2015-11   5555   겨울나그네
2015-11   4261   이천풍
2015-11   4419   방o효o문
2015-11   10341   회원K
2015-11   9576   회원K
2015-11   5545   김건우
2015-11   3888   정영철
2015-11   5706   심우철
2015-11   4997   익스자나
2015-11   8762   차평석
2015-11   16904   정은준1
2015-11   5740   무아
2015-11   4188   슬루프