문제

SQL Server 2008의 경우 3 개의 인스턴스가 있습니다. 각 인스턴스에 여러 데이터베이스가있는 여러 시스템에 있습니다.MDF 및 LDF 파일에 대해 내 SAN에 2 개의 분리 된 LUN이 있습니다.ndx 및 tempdb 파일은 각 시스템의 로컬 드라이브에서 실행됩니다.o.k.3 인스턴스의 경우 데이터 파일에 대해 동일한 볼륨을 공유하고 로그 파일의 다른 볼륨을 공유합니까?

SAN에서 씬 프로비저닝이 없으므로 각 데이터베이스에 대해 아닌 경우 각 인스턴스에 대한 볼륨 (드라이브 문자)을 만들어야하기 때문에 디스크 공간을 불러 일으키지 않으려고합니다.적어도 로그와 데이터 파일을 분리해야한다는 것을 알고 있습니다.인스턴스는 드라이브의 공간 만 공유하는 실제 데이터베이스 파일을 공유하지 않습니다.

모든 도움이 감사합니다.

도움이 되었습니까?

해결책

물론 대답은 다음과 같습니다. "그것은 의존합니다". 그러나 그것이 어떤 힌트에 의존하는지 힌트를 주려고 할 수 있습니다.

SQL Server 인스턴스는 "자원에 대한 독점적으로 액세스 할 수 있다고 가정합니다. 따라서 기본적으로 사용 가능한 모든 RAM을 채우고 모든 CPU를 사용하며 최대 성능을 얻기 위해 I / O 채널을 포화 시키려고합니다. 그것이 인스턴스가 동일한 디스크에 동시에 액세스하지 못하게하는 일반적인 조언이있는 이유입니다.

SQL Server는 순차적 I / O 액세스가 임의의 I / O보다 훨씬 높은 TRHOughput을 제공하므로 업무 필 조직과 같은 메커니즘이 많이 있습니다 (Logfile 조직, 읽기 미리 읽기, 게으른 작성자 및 기타) 가능한 한 무작위 I / O를 피하기 위해

이제 SQL Server의 세 가지 인스턴스가 동시에 단일 볼륨에 순차적 I / O 요청을 수행 한 다음 볼륨의 관점에서 임의의 I / O 요청을 다시 받으면 성능이 아프게됩니다.

I / O 하위 시스템이 중요한 병목 현상이라면 문제 일뿐입니다. 로그 파일 볼륨이 인스턴스에서 intermingled 순차 쓰기가 문제가 발생하지 않으면 문제가되지 않습니다. 대부분의 시간 버퍼 캐시에서 데이터 읽기를 충족시킬 수있는 경우 I / O 하위 시스템에서 많은 읽기 성능이 필요하지 않습니다.

각 경우에서는 피해야 할 사항은 로그 또는 데이터 파일의 여러 성장 단계입니다. 하나의 파일 시스템의 여러 파일이 커지면 단편 소스에서 임의의 I / O 로더라도 조각화 및 조각화가 순차적으로 읽거나 쓰기 요청을 다시 변환 할 수 있습니다.

SSD를 디스크로 사용하면 전체 그림이 다시 변경됩니다. 이들은 완전히 다른 요구 사항과 행동이 있지만 SSD에 대해 아무 것도 말하지 않았으므로 "기존의"디스크 기반 배열 또는 RAID 구성을 사용한다고 가정합니다.

짧은 요약 : 상황이 맞으면, 당신은 SAN과 SQL 관점에서 시스템에 대해 훨씬 더 많이 알지 못하면 평가하기가 어렵습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top