따라서 우리는 내부 회사 데이터베이스를 가지고 있습니다. 고객, 전화 통화, 판매 거래 및 고객 계약 / 체계를 관리합니다.
Access 2000 프런트 엔드 및 SQL Server 2000 표준 백 엔드입니다. 단일 서버, 이중 Xeon 3.2GHz, 2GB RAM, Windows Server 2003은 하루에 약 40 %의 CPU 부하를 받고 OS (HT)에 표시되는 4 개의 코어에 분산됩니다.
백엔드 데이터베이스는 제대로 설계되지 않았으며 숙련도가 낮은 개인이 유지 관리하는 10 년 이상 유기적으로 성장했습니다. 잘 정규화되지 않았으며 명백한 문제 중 일부에는 기본 키 또는 인덱스가없는 수만 행의 테이블이 포함되는데,이 테이블은 시스템에서 가장 많이 사용되는 일부 부분에 대해 다중 테이블 조인에도 많이 사용됩니다 (예 : 하루 8 시간 동안 모든 사람의 두 번째 모니터에 앉아 몇 초마다 큰 비효율적 인 쿼리를 실행하는 통화 관리자 응용 프로그램).
프런트 엔드는 그다지 좋지 않습니다. 수백 개의 양식, 중첩 된 저장된 쿼리, VBA 코드에 잘못 작성된 Embedded SQL, 수십 가지 "질문"등이 있으며 변경 될 때마다 관련이없는 것으로 보입니다. 우리는 "충분히 작동"하는 하나의 MDB를 설정했으며, 사내에 Access 헤비급이없고 (하나를 고용 할 계획도 없음) 그에 대한 변경 정책이 없습니다.
회사는 현재 천천히 성장하고 있으며 클라이언트, 전화 등의 수가 증가하고 동시 사용자 수가 약간 증가했으며 최근에 성능이 현저하게 악화되었습니다 (양식 간 이동 대기, 목록 채우기 대기 등) )
퍼프 먼의 말 :
- 초당 디스크 전송 : 0에서 30 사이, 평균 4.
- 현재 디스크 큐 길이 : 약 1
SQL Server의 프로파일 러는 1 분마다 수십만 건의 쿼리를 봅니다. 클라이언트의 CPU 사용량은 거의 제로이므로 서버 측 쿼리가 실행되기를 기다리고 있습니다. 이 워크로드를 DB Engine Tuning Advisor를 통해 테스트 백업에 적용했지만 그다지 큰 차이는 없었습니다.
그런데 100MB와 기가비트 이더넷이 모두 하나의 서브넷에 있고 2 층에 40 명의 ish 사용자가 있습니다.
질문에.
내가 알다시피 우리는이 상황을 해결 / 개선하기위한 두 가지 선택이 있습니다.
- 이를 폐기하고 맞춤형 또는 부분 맞춤형으로 완전히 새로운 CRM 시스템으로 교체 할 수 있습니다.
- 하드웨어를 척킹하여이 시스템의 수명을 연장 할 수 있습니다.
소프트웨어를 교체하는 것보다 훨씬 적은 비용으로 성능이 뛰어난 Intel i7 시스템을 구축 할 수 있습니다.
새로운 시스템이 개발 될 때이 시스템에서이 시스템을 호스팅 할 수 있으므로 낭비되는 하드웨어가 없습니다. 새로운 CRM 시스템이 계속 발전하고 있습니다. 1 년 이상 그런 일이 일어나지 않습니다.
이 상황에 대한 생각, 특히 당신이 여기에 있었다면 가장 감사하겠습니다.
감사