0
는의는 다음과 같은 상황을 가정 해 봅시다 : 나는 4 코어 CPU를 사용하는 데이터베이스 서버가멀티 스레드 성능 테스트 MS SQL 서버 DB
- 을;
- 내 컴퓨터에는 2 개의 코어 CPU가 있습니다.
- 그들은 GHZ의 관점에서 같은 속도라고 가정합니다.
- 시스템은 네트워크를 통해 연결됩니다 (두 줄은 각각 200MB/s).
테스트 도구는 # of threads 매개 변수를 제공하며 서버와 병렬로 명령을 실행합니다.
질문 :
- 가 어떻게 병렬/읽기 테스트 할 저장 프로 시저를 통해 기록? 어떤 충고라도 환영 받으면 브레인 스토밍하십시오.
- 많은 스레드가 서버에서 쿼리를 실행하고 있다는 것을 어떻게 증명할 수 있습니까? (또는이 서버와 DB의 책임으로 고려하지 않아야합니까?)
- 주로 SQL 서버의 경우 언제든지 실행되는 스레드 수를 제어합니다. "서버 속성"> 프로세서> 프로세서 및 스레드 섹션 수를 확인했습니다. 더 확인해야합니까?
- 응용 프로그램이 실제로 모든 내 컴퓨터 코어에서 실행되는지, 즉 가상 컴퓨터 대신 실제 스레드를 사용하는지 어떻게 확인할 수 있습니까? 아니면 가상의 사람들에게만주의를 기울여야합니까?
- 네트워크 대역폭에주의해야합니까? 병목 현상이 될 수 있습니까? (저는 큰 데이터 만 보내고 변수 만있는 명령은 보내지 않습니다).
SQL Server는 일반적으로 CPU 바인딩이 아닌 I/O 바인딩입니다. 성능을 테스트하는 중이면 I/O에 집중하십시오. –
@ElectricLlama 응답 해 주셔서 감사합니다. 내 컴퓨터에서 저장 프로 시저를 호출하는 스레드 수를 늘릴 지 여부를 확인하기 위해 실제로 수행 할 작업을 추측합니다. SQL 서버 측에서도 마찬가지입니다. 로컬 컴퓨터에서 수행하는 경우 개발 환경에서 이러한 현상이 발생한다고 확신 할 수 있습니까? –