2009-11-25 4 views
1

고객은 웹 사이트에서 동시에 50 명을 시뮬레이션해야하며 응답 시간은 5 초 이내 여야합니다. 하지만 웹 사이트에서 테스트를하면 네트워크 속도, 하드웨어 등을 제어 할 수 없습니다. 시험 결과에 영향을 미칠 수 있습니다. 또 다른 것은 우리 웹 사이트에 일부 antiforgerytoken이 있습니다. 성능 테스트 도구는 요청을 기록한 후이 메커니즘을 시뮬레이트 할 수 없으며 시스템이 다시 전송합니다. 토큰이 무효화되므로 실패합니다. 및이 성능 테스트를 어떻게 수행합니까? 제안 사항이 있으십니까? 미리 감사드립니다.웹 사이트에서 성능 테스트를 수행하는 방법

답변

1

내 일반적인 접근 방식은 단계적으로 진행됩니다.

먼저 WCAT와 같은 간단한 도구를 사용하여 개발 환경에서 테스트하십시오. JavaScript를 실행하거나 포스트 백을 수행하지는 않지만, 동시 요청 및 스레드에 스트레스를 줄 수 있습니다. 이는 종종 성능상의 주요 병목 현상입니다.

원하는대로 작동하면보다 복잡한 시나리오를 지원하는 Visual Studio Team Test로 이동하십시오. 실험실에서 시작한 다음 베타/사전 제작 환경으로 이동하십시오. 또한 클라이언트 측 측정 외에 또는 때로는 서버 측 성능 카운터를 사용하여 모니터링하는 것을 좋아합니다.

위조 방지 논리의 경우 부하 테스트 용으로 만 해당 검사가없는 시스템 버전을 빌드 할 수 있습니다.

다음으로 베타 환경에서 실제 사용자를 대상으로 테스트하십시오. 세부 사항은 프로젝트에 따라 다릅니다. 실제 사용자를 확보하지 못하면 실제 브라우저에서 테스트 스크립트를 실행하는 수십 대의 PC로 설정을 만들었습니다. 로드 러너 (비싸지 만)와 같이 여기서 도울 수있는 훌륭한 써드 파티 도구가 있습니다.

마지막으로 소프트웨어가 생산되면 모니터링 및 테스트를 계속하십시오. 예기치 않은 차이나 불일치로 인해 베타 버전에서 잘 작동하는 소프트웨어가 생산 단계에서 붕괴되는 경우는 드물지 않습니다 (예 : IIS 구성).

+0

서버 측 성능 카운터 및 모니터링, 안녕 카운터 값을 가져 오기 위해 원격 서버에 연결하는 데 여러 번 시도했지만, 항상 실패 했으므로 권한이 없다는 메시지가 나타납니다. 제안 사항이 있습니까? 또는 원격 서버에 연결하기 전에 일부 소프트웨어를 설치해야합니까? – MemoryLeak

+0

쉬운 방법은 원격 데스크톱과 perfmon을 사용하는 것입니다. 원격 서버에 대해 로컬 perfmon을 사용하려면 적절한 권한을 갖고 올바른 포트를 열어 두어야합니다. 필요할 때 MSDN에서 해당 세부 정보를 찾습니다. IIRC를 사용하려면 권한이 올바르게 작동하려면 동일한 도메인이나 작업 그룹에 있어야합니다. – RickNZ

+0

원격 모니터링을위한 환경 설정에 대한 자세한 내용이 있습니까? 여러 번 시도했지만 항상 실패했습니다 ... – MemoryLeak

1

로드 테스트를 실행할 때 환경을 가능한 한 최상으로 에뮬레이트하는 것이 가장 좋습니다. 테스트 시스템의 리소스가 프로덕션 시스템과 다른 경우 다른 결과가 발생할 수 있습니다.

그래도 주어진 하드웨어로 테스트를 실행하고 발생한 숫자를보고 할 수 있습니다. 예를 들어, 측정 할 수 있기 때문에 프로덕션 시스템이 사용할 수있는 양에 관계없이 시스템에 필요한 대역폭의 양을 알 수 있습니다.

그러나 클라이언트가 볼 수있는 것을 기준으로 측정하려면 동일한 환경에서 수행해야합니다.

+0

그리고 보통 어떤 소프트웨어를 사용합니까? 그렇게 할 수있는 절차가 있습니까? – MemoryLeak

+0

우리는 현재로드 테스트에 Visual Studio Team System Test Edition을 사용하고 있습니다. 그것은 잘 작동하고 우리에게 많은 데이터를 제공합니다. 그것은 내가 만난 가장 싼 부하 테스트 솔루션입니다. 기타 mareket에는 LoadRunner 및 QALoad가 있습니다. –

관련 문제