Programming

웹 사이트 스트레스 테스트를위한 최선의 방법

procodes 2020. 5. 6. 22:15
반응형

웹 사이트 스트레스 테스트를위한 최선의 방법


이 질문에는 이미 답변이 있습니다.

이것은 잘못된 질문 일 수 있지만 asp.net 웹 응용 프로그램에서 큰 부하를 복제하는 가장 좋은 방법은 무엇입니까? 특정 페이지에서 많은 요청을 시뮬레이션하는 쉬운 방법이 있습니까? 또는 프로파일 러를 사용하여 단일 요청을 추적 한 다음 성능이 정상인 경우이를 해결하는 가장 좋은 방법입니까?웹 응용 프로그램이 서버 사양과 얼마나 잘 작동하는지 아는 것이 좋습니다. 프로덕션 서버가 충분한 지 (특히 iis / asp.net을 사용하여 db 성능이 아닌 경우) 해결할 수 있도록 테스트 서버에서 많은 트래픽을 시뮬레이트하고 싶습니다.


내 제안은 먼저 자동 테스트를 수행하는 것입니다. 그것을 위해

셀레늄

사용하십시오 .그런 다음 셀레늄 그리드를 배포하여 여러 컴퓨터에서 동시에 테스트하십시오.자동화 된 테스트 도구 인 Selenium은 매우 빠르게 실행되지만 미니 스트레스 테스트를합니다. 네트워크의 여러 컴퓨터에서 동일한 자동화를 동시에 실행하면 작동 방식을 확인할 수 있습니다.응답 타이밍을 기록하려면 자동화를 실행하는 스크립트를 작성하는 데 사용할 수있는 멋진 API가 있습니다.편집 : 셀레늄은 사용하기가 매우 쉽고 내용을 테스트하려는 경우 페이지 내용을 주장합니다. 원하는 경우 페이지를 탐색하고 페이지를 많이 탐색 한 다음 자동화를 위해 저장하십시오. 셀레늄이 더 빨리 작동 할 수 있도록 어설 션을 넣지 마십시오.


지금까지 찾은 최선의 방법으로

http://loadimpact.com을

시도해보십시오 . 그러나 다른 대안은 없습니다.


JMeter

는 그러한 도구 중 하나입니다. 배우고 구성하기가 다소 어려울 수 있지만 일반적으로 가치가 있습니다.


 

AB

(아파치 벤치) 도구를 사용하면 한 페이지에 많은 요청을 보낼 수 있습니다 당신은 당신이 사용하려는 얼마나 많은 동시 연결을 원하는 얼마나 많은 클라이언트를 지정합니다.이것은 사이트를 개발할 때 첫 번째 단계 일 수 있습니다. 특정로드로 일부 페이지를 테스트하십시오. 이 벤치마킹 방법은 캐싱이 과도하게 사용되는 등 일부 문제가있을 수 있습니다.나중에 단일 페이지가 아닌 구체적인 트래픽을 시뮬레이션하는 도구가 필요할 수 있습니다. 나는 아직 그러한 도구에 대한 참조를 가지고 있지 않습니다.


어쩌면

분쇄기

도움이 될 것입니다? 스레드 및 경량 프로세스로 동시 요청을 시뮬레이션하거나 여러 시스템에 테스트를 분배 할 수 있습니다. 나는 매번 성공으로 그것을 광범위하게 사용하고 있습니다.


우리는 상용 제품의 시험판과 무료로 제공되는 시험판 등 몇 가지 응용 프로그램을 시도했습니다. 궁극적으로 우리가 시도한 것은

Team Test Load Agent

소프트웨어 의 시험판이었습니다 . 그것은 확실히 훌륭하게 작동하며 사용하기가 매우 간단합니다. 장기적으로 Team Foundation Server로 이동하고 부서의 모든 부분에 적절한 툴링을 갖추 겠다는 우리의 주장을 강화했습니다.그러나 명백한 단점은 가격입니다.


이런 종류의 프로젝트에

WebLOAD

사용 했습니다. 스크립트를 쉽게 만들 수 있으며 ASP.NET 통계 모니터링을 지원합니다.


DUP :

ASP.Net 스트레스 테스트


웹 서비스 테스트, 비누 받침 또는 WCF (WebHttpBinding 포함)의 경우 SOA Cleaner를 사용해보십시오.

http://xyrow.com

에서 다운로드 할 수 있습니다 . 무료 버전이 있으며 설치가 필요하지 않습니다. 또한 부하 테스트를 수행 할 수도 있습니다.


내가 좋아하는 다른 도구는 Open STA입니다 :

http://opensta.org/

주로 성능 테스트에 중점을두고 있으며 무료입니다.

2018 업데이트 :

답변이 상당히 오래 되었기 때문에 OpenSTA 프로젝트는 그다지 활발하지 않은 것 같습니다 (그러나 도구는 여전히 사용 가능합니다). 그러나 이제 두 가지 권장 도구가 있습니다.

내 의견으로는 Gatling은 제한이 없으므로 더 나은 것처럼 보이고 상용 엔터프라이즈 솔루션을 제공하고 Jenkins와 같은 지속적인 통합 도구에 적합합니다.반대로 NeoLoad는 무료 버전이지만 50 명의 사용자로 제한되어 있습니다 (일부 경우에 충분할 수 있음). 기능의 전체 비교는

여기에 있습니다

.참고 URL :

https://stackoverflow.com/questions/340564/best-way-to-stress-test-a-website

반응형