저장 프로 시저 확장 성 테스트


14

각 페이지로드에서 주어진 사용자에 대한 새 메시지 수를 UI에 전달하기 위해 이메일 응용 프로그램이 호출됩니다. DB 수준에서 테스트하고있는 몇 가지 변형이 있지만 모두 저장된 proc 호출에 의해 추상화됩니다.

중단 점 (초당 요청 수)이 무엇인지 확인하기 위해 DB를 슬래시하려고합니다.

간단히 말해서, userId에 클러스터 된 인덱스가있는이 userId, newMsgCount와 같은 테이블이 있습니다. SQL은 초당 수백 또는 수천 개의 응답을 서버에 제공 할 수 있어야합니다. 지연이 내 .NET 앱이라고 생각합니다.

SQL 성능을 기반으로 테스트 결과를 달성하기 위해 어떻게 이것을 좋은 테스트로 만들 수 있습니까?

저장된 proc 이름과 DB를 펀딩하기위한 매개 변수를 제공 할 수있는 도구가 있습니까?

DB가 분을 반환 할 수 있는지 확인하고 싶습니다. 초당 250 개의 응답 중


1
좋은 질문입니다. 좀 더 일반적인 것으로 확장하고 물어보십시오 : 데이터베이스를 어떻게로드 테스트합니까?
Nick Chammas

답변:


11

SQLQueryStress는 소규모 동시성 테스트를위한 훌륭한 도구이지만 실제로로드 테스트를 수행하는 것은 아닙니다. 대부분의 SQL Server 스트레스 테스트 시나리오 인 RML 유틸리티에 대처할 수있는 놀랍게도 알려진 도구 세트는 Microsoft에서 무료로 제공합니다 .

도구에 대한 간단한 개요 :

  • ReadTrace 는 프로파일 러 추적을 .trc 파일에서 .rml (재생 마크 업 언어)로 변환합니다.
  • OStress 는 서버에서 .rml 및 .sql 파일을 재생하는 데 사용됩니다.
  • ORCA (OStress Replay Control Agent)는 분산 된 OStress 인스턴스에서 재생을 조정합니다.
  • 리포터 는 성능 분석 보고서를 제공합니다.

샘플 데이터베이스 및 워크로드, RML 유틸리티 9.0을 사용하는 Microsoft SQL Server의 정밀 성능을 포함하는 SQLCat 팀의 우수한 빠른 시작 기사가 있습니다.

재생을 위해 프로파일 링 활동을 선택하거나 시나리오에서 더 적절할 경우 OStress 및 ORCA를 통해 재생하는 .sql 스크립트 세트를 수동으로 크랭크 할 수 있습니다.

부하 테스트 및 성능 문제 조사에 유용한 도구입니다.


6

사용할 수있는 도구 중 하나는 SQLQueryStress 입니다. 빠른 시작을 위해 저장 프로 시저 반복 및 스레드 수를 제공하십시오. 그런 다음 스트레스 테스트를 시작하십시오. CPU 초, 논리적 읽기 등과 같은 메트릭이 표시됩니다.


4

.NET 개발자 인 것 같습니다. 한 가지 방법은 멀티 스레딩을 사용하고 데이터베이스 및 저장 프로 시저에 대해 일정량의 동시 적중을 갖는 작은 응용 프로그램을 작성하는 것입니다. 이런 일이 발생하는 동안 추적을 실행하십시오.

SQL Server의로드를 자동으로 늘리려면 특정 간격에서 동시 스레드 양을 늘리기 위해 응용 프로그램 코드를 작성하십시오.

그것이 내가 갈 길입니다.


오픈 소스 프로젝트 Benchmark.NET 을 사용하고 병렬 벤치 마크 를 사용 하여이 앱을 작성하지 않는 이유는 무엇 입니까?
Andrei Rînea
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.