데이타베이스 서버 업그레이드나 신규 구매에 대한 조언을 구합니다.
2013.11.01 11:19
질문하시기 전에 게시판 검색을 먼저 해주세요.
타블릿PC, 스마트폰에 관한 질문 또는 요청은 <포터블기기 질문답변> 게시판을 이용해주세요.
=============================================================================================
이 쪽 서버쪽에 계신분이 좀 계신 것 같아서 질문을 올립니다.
제가 이쪽 하드웨어 쪽으로는 거의 문외한인데 회사에서 맡겨서 어디서 시작해야할지도 몰라서 질문을 올립니다.
2007년도에 구매한 현재 저희가 가지고 있는 서버 모델은
모델 ibm x3550
CPU Xeon DC 2.0ghz * 2
FSB 1333Mhz
Cache 4 MB L2 cache
HDD 73 GB ( 3.5 SAS )
RAID RAID-1 Mirror 기본 제공
그런데 현 시스템이 데이타 엑세스가 좀 많아지면 현격히 기다림 현상이 나타나서 이 현상을 해결 하기위해서
새로 시스템을 구축하거나 아니면 현 시스템이 SATA를 지원한다면 SAS에서 바꿀려고 합니다.
그런데 제가 가지고 있는 정보로는 이 서버가 SATA를 지원하는지 안하는지에 대한 정보를 구할 수가 없어서
혹 이 시스템에 대해서 아시는 분이 있으면 저에게 말씀해주시면 고맙겠습니다.
그리고 만약 새로 서버를 사야 될경우에는 어디서 정보를 구하는 것이 좋은지에 대한 부탁도 드립니다.
코멘트 16
-
일부 x3550 서버에 SATA HDD(IBM정품파트)끼워서 사용했습니다.
요기 참고하세요. http://www-03.ibm.com/systems/xbc/cog/Withdrawn/x3550_7978/x3550_7978hdd.html
HDD를 바꾸는것보단 저렴한 dell서버라도 구매하는거 추천합니다.
-
티쓰리유저
11.01 14:00
스노우캣님 그리고 냠냠님 두 분 대답 정말 고맙습니다. 저희가 쓰는 것을 보면 CPU남아도는데 HDD 엑세스하는 DB Access땜에 지연시간으로 업무에 차질이 있어서 저는 그냥 HDD만 갈아 끼우면 되지 않나 생각했는데요. 두 분다 새로 신규구매 낫다고 하시는데 그러한 이유는 서버로서 너무 오래 되어서 그런 것인가요?
만약 구매하는게 적당하다면, 혹시 추천하시는 판매점이 있으면 추천 해주시길 바랍니다.
-
김강욱
11.01 16:39
1) 서버의 수명도 감가상각이 0가 되는 보통 5년정도 부터 죽어나가기 시작한다? 고 보는 시각도 있습니다. ^^;;;;
뭐 저희 서버도 10년된...-_-;
2) 자금이 되신다면 SSD 도 추천 드립니다. 정말 탁월한 성능 향상이 ...단지 용량이 250~500G 밖(??) 에 안되서...
3) 제가 서버를 구매하는 방식은, 우수 서버 관리 업체를 방문해보시면, 서버 스펙을 홈페이지에 제시하는데,
그 서버가 서버 관리 업체가 문제가 제일 발생안한다고 보는 서버입니다. 문제가 발생하면 자기가 힘들기 때문이죠.
가격도 브랜드에 비해 월등히 싸고, 드라이버나 기타 문제에서도 잘 검증되었다고 보셔도 될 듯 합니다.
-
집념
11.01 15:03
1. DB 종류 : MsSQL, MySQL, Oracle, MS ACCESS 어떤 종류 인지
2. DB 용량 : 현재 사용중인 DB 크기
3. RAM : 크기
4. HDD : 세부 스펙, 예를 들면 RPM, 종류 SCSI, SATA 인지...
5. OS : 리룩스, 윈도우 서버 인지..
위의 정보를 파악을 하셔야 합니다.
그래야 하드웨어에 대한 기준점이 잡힙니다.
특히 1,2,3 이 가장 중요합니다. 한정된 예산으로 나름 최적화된 하드웨어를 구매해야 하는데 단순 하드웨어 사양하고 증상만 알려주시면 서버 변경이라는 답변 이외에 드릴 말씀이 없습니다.
-
김강욱
11.01 16:33
DB 서버 시면 쿼리 튜닝를 좀 더 해보심이~
DB 서버는 정말 무한 업그레이드 대상이라~
-
유태신
11.01 16:54
현재 db 상황을 모르기에 뭐라고 말씀드리기 어렵지만,
서버나 HDD를 바꾸기보다는 기존의 쿼리 실행문이나 인덱스 설정 등을 조정하시는 게 훨씬 효과가 좋을 수 있습니다.
MS-SQL 서버나 Oracle의 경우, 공인자격증을 가진 DB 분석가가 튜닝하면 최소 2~3배에서 수십배까지 성능이 향상되는 경우가 많습니다.
18여년 전 제가 S사 사업장에서 근무할 때, 당시 사내 날고긴다는 Oracle 경험자들이 1년 넘게 튜닝해서 속도를 2배 빠르게 했지만, 부족해서 서버를 대량 증설하는 가에 고민하다가, 외국에서 DB 분석가 2명을 초빙해서 1달 맡겼는데, 속도가 10배 빨라졌다는... (당시 국내에 Oracle DB 분석 자격증을 가진 사람을 찾기 어려웠거든요.. 쩝!)
자칫 수십억 들어갈 뻔한 걸 단돈 몇 천만원으로 해결한 거죠...
DB 및 Query 분석을 전문가에게 맡기는 것도 답일 수 있습니다.
-
꼬소
11.01 17:06
시스템 자원이 다 남아 도는데 delay가 생긴다는건 DB에서 lock이 걸렸을 가능서이 더 커 보입니다.
사용하는 table에 index가 과도하게 생성되어 있는지 또는 특정 job에 관련하여 과도하게 사용이 되어지는지 등의
내부적인 논리적 검증이 먼저 필요 할 듯 합니다.
HW를 업그레이드하면 일시적인 성능 향상은 기대 할 수 있지만, 사용자가 증가 할 경우 동일한 현상이 발생 할 수 있습니다.
table의 index나 사용자의 관점에 맞춘 튜닝이 좀 더 필요 해 보이네요..
-
티쓰리유저
11.01 20:00
김강욱님, 꼬소님, 유태신님, 집념님, 답변 감사드립니다.
제가 먼저 제대로 저의 현재 상황을 더 자세하게 말해야하는데
제가 질문을 잘못했네요.
1. DB 종류 : MS SQL 2000 Standard Edition
2. DB 용량 : 10GB
3. RAM : 2GB
4. HDD : SAS 73GB
5. OS : Windows Server 2003
입니다. 꼬소님 말대로 DBA를 불러서 해보는 것도 방법인 것 같은데, 저희가 중소기업이라 기 몇천만원짜리 DBA를 불러오기는
좀 사이즈가 작아서요. 그거에 비해 Hardware증설이 더 싸게 먹히는 것 같은데요.. 저도 DBA 전문가가 아니라서 잘은 모르지만, 제가 봐도 좀 저희 DB가 설계부터 좀 잘못된 부분이 많은데, 설계를 고치지 않고도 빨라질 수 있는지 궁금하네요.
혹 어디서 잘하시는 DBA분석가 분을 모실 수 있는지도 궁금하네요. 이것도 사람 능력에 따라 천차 만별이겠지만, 대충 시장 가격이 어떻게 형성되어잇는지도 궁금하고요.
-
집념
11.01 22:13
MSSQL의 전형적인 퍼포먼스 저하 케이스입니다.
MSSQL 은 일단 램 > 하드 > CPU 로 성능을 체감합니다.
램은 DB 용량 + OS 용량 을 구입하셔야 합니다. 저는 16G가 좋을것 같습니다.
사이즈가 1년에 1G 증가한다면 2G(OS) + 10G(현재사용중인용량) 나머지 4G는 4년정도는 더 버틸 수 있을 겁니다.
사이즈가 MDF만 10G일 경우입니다. 확장자가 MDF 인 파일이 10G 아닌 LDF 포함이라면 MDF 용량만 다시 램 계산을 하시면 됩니다.
정말 만약인데 MDF 용량이 2G 미만이면 RAM 만 2G 더 추가하시고 나서 LDF 파일 축소를 하면 꽤 효과가 있을 겁니다.
여기서 램을 16G를 모두 사용하실려면 OS + MSSQL 2008(이상) 모두 64Bit여야 합니다.
하드 10000 ~ 15000RPM SAS 2개로 구성해서 한개는 OS 설치 나머지 한개는 DB 데이타가 있는 하드로 구성해야 됩니다.
물론 하나로 해도 되는데 MSSQL HDD 튜닝 권장은 독립적인 하드 분리입니다.
운이 좋아서 MDF만 용량이 2G 미만이라면 괜찮은데 그게 아니라면 특정 부품만 바꿔서는 효과 보기가 정말 어려울 것 같습니다.
예산이 나름 풍족하시다면 서버 구매( + OEM OS 구입) + MSSQL 2008 이상 구입 견적 비용을 알아보셔야 합니다.
그리고 2000 -> 2008 바로 변경이 안되고 2000->2005->2008 로 마이그레이션 과정이 필요한데 이부분도 고려를 해보셔야 합니다.
-
SON
11.01 22:47
집념님 말씀대로 비트수 정보도 좀 알면 좋겠네요.
Windows 가 32bit 인지, 64bit 인지, MSSQL도요
-
김강욱
11.03 22:38
db 를 오랫동안 modify 하셨다면, 재생성도 한번 고려해보세요.
잦은 업데이트로 청크가 많아지고, 인덱스 뎁스가 너무 깊어져서 그렇게 될 수도 있다고 봐야 할 것 같구요.
주로 입력하는 화면이 느리신건지, 아니면 조회하는 화면이 느리신건지?
입력하는 화면이 느리시다면 위에 방법을 추천 드리구요.
조회하는 화면이 느리시다면 DBA 까지 불러 보심이 좋을 듯 합니다.
DB 설계를 잘못하면 왠만큼 스펙 키우셔도 대책이 없을 겁니다.
1G만 조인하면 될 것을 10G 조인하면, 사실 이건 뭐 답이 없죠.
-
티쓰리유저
11.04 09:22
먼저 김강욱님 답변에 고맙습니다.
몇몇 이상의 동접자가 같은 테이블을 조회할 때마다 Lock이 걸리는 경우가 정말 잦습니다.
김강욱님 말씀대로 말한 사항이 저희에게 전부 해당되는 것 같네요.
잦은 업데이트를 해왔고요. DB설계가 일단 잘못되었고요.
제가 1G의 단위가 무엇을 의미하는지는 모르겠지만, 조인이 한 20개이상이 되는 쿼리를 자주 접했습니다.
특히 저희쪽 업무의 핵심이 되는 부분에서는 일단 눈에 보이는 것은 10 개 이상 넘어가고 프로시저와 뷰를 불러오는 데
그 안에서 돌아가는 로직은 제가 모르지만 보이지 않게 돌아가는 조인이 더 많지 않겠냔는 추측을 하고 있습니다.
저의 선임도 이 문제를 알고는 있지만, 이것을 고칠 방법은 대대적인 업그레이드인데 그러하기엔 돈과 시간이 현재 없고요.
그래서 하드웨어 업그레이드를 통한 방법을 생각하고 있는데요. 저도 잘 모르겠습니다. 그냥 서버만 사기엔 돈에 비해서 얼마나
효과가 나올지 의심이 되어서요.
-
김강욱
11.04 10:47
1) 가장 우선적인 방법으로 OPTIMIZE 하시길 권유 드리구요.
2) 그리고, 가장 무거운 화면만 먼저 해결하시면 여유가 좀 생기시리라 생각됩니다.
3) 두번째 간단한 방법으로는, 정말 무거운 테이블들만 별도 디스크에 구성하세요. 가급적이면 SSD 가 나을 듯 합니다.
그러면 메인보드의 최대 밴드위스 내에서 I/O 에 걸리는 부하를 분산시킬수 있을 듯합니다.
메모리를 늘릴 수 있다면 늘리는 것도 손 쉬운 방법입니다.
4) 만약, 데이타베이스 스키마와 인덱스, 쿼리를 뽑아주시면 제가 검토해서 말씀 드릴 수 도 있을 듯합니다.
하여간, 운영중인 시스템이기 때문에 한꺼번에 다 해결하실 생각하지 마시고, 할 수 있는 것부터 하시는 것을 권장 드립니다.
-
티쓰리유저
11.05 14:14
답변을 주신 김강욱님 이렇게 세세하게 답변을 주셔서 감사합니다.
1) 저도 이 생각이 우선적입니다만, 지금 현재 저희가 Optimization에 할 인력이나 시간이 안나와서요.. ㅠㅠ
2) 저도 같은 생각입니다.
3) 현재 이 방법을 생각하고 있습니다. 그래서 SSD로 옮겼을 때 속도가 조금이라도 향상되기를 바라고 있습니다.
4) 제가 잘 모르기엔 저희 데이타 베이스 정보를 뽑아서 잘하는 분한테 보여주고 가르침을 받고 싶지만, 그게 보안 문제가 있어서 그건 불가능 할 것 같습니다.
예.. 지금 이거 하나말고도 쌓여 있는 일은 산더미라서, 하나씩 천천히 해결해 나가야죠.
-
티쓰리유저
11.02 02:42
집념님과 Son님 답변 감사합니다.
특히 집념님의 답변에 정말 감사를 드립니다. 지금 제 사수가 다른일로 바뻐서
제가 이 업무를 맡게 되었는데 전혀 경험이 일천한지라 어디서부터 어떻게 시작해야하는지 무엇을 제대로 물어봐야 하는지
자체도 모르고 하고 있습니다.
솔직히 저도 예산이 얼마나 풍족 한지 모르겠습니다만, 대충 싼 서버 2대정도 맞출 정도의 예산이 있다고 예상을 합니다.
그래도 뭐.. 이게 결재선에 올라가서는 어떻게 바뀔지는 저도 모르죠..
Windows 현재 32bit를 OS그리고 MSSQL 2000 둘다 32 비트를 쓰고 있습니다.
64비트로 전향은 저희에겐 상당히 장기적인 프로젝트로 진행될 것같아서 지금 현재로서는 돈이 되도 힘들 것 같습니다. 지금 개발환경이 전부 32비트로 맞추어서 있어서 그것에 따른 계속적인 프로젝트가 진행되고 있어서 지금 이 프로젝트를 중단하고 64비트로 이전이 안정화되기까지 기다리는 것이 상당힌 어려움이 따를 것 같거든요.
그래도 나중에는 결국 서버 업그레이드 이외에는 답이 안나올 것 같은데, 지금은 제가 회사 사정을 잘 몰라서 어찌 대답이 힘든 부분입니다.
아 그리고 말을 안했는데, 현재 저희 WAS 서버와 DB서버를 하나의 물리적 서버에서 돌리고 있습니다.
아마 이게 문제가 아닌가 하는 생각도 드는데요.
저희가 여유가 있는 서버가 있긴 있으나, 그 서버는 IBM보다도 좀더 후진 DELL PE380인가 그런 것 같습니다. 속도난 램이나 전부 한단계 아래였던 것으로 기억납니다. 그냥 백업 서버로서 사용되고 있고요. 만약 WAS를 이 DELL에 옮기고 IBM을 DB서버로서 따로 쓰면 속도 향상이 증대 될까요?
당시의 구매를 진행했던 그 견적서와 구매넘버를 통해 구입처에 문의하시는 게 맞습니다.
디스크만 바꿔 끼워서 돌아갈지 안 돌아갈 지를 확인하기위해서 필요한 정보가 꽤 많습니다. 심지어는 납품된 폼팩터, 컨넥터도 확인해야 하는 시기의 서버니깐요.
회사규모나 예산규모를 잘 몰라서 말씀드리긴 그렇습니다만.. 이 맘때쯤.. 매출 때문에 살짝 오래된 브랜드 서버들을 떨이로 많이 팝니다. 신규 구매라면 그런 것도 확인해보시는 것이 나쁘지 않습니다.