2014-12-10 6 views
1

현재 응용 프로그램을 MEAN stack으로 작성하고 있으며 첫 번째 버전을 서버에 배포했습니다. 응용 프로그램은 static HTML file (및 CSS 및 일부 이미지가 추가로 포함됨)과 전체 묶음 JavaScript 파일로 구성됩니다. 많은 수의 JS가 Angular 응용 프로그램에서 NodeJS 서버로의 여러 요청을 포함하여 페이지를로드 할 때 실행됩니다.평균 응용 프로그램로드 테스트

지금까지 여러 부하 테스트 도구 (Apache Benchmark, JMeterloadtest)를 시도,하지만 그들은 단지 static HTML file를 제공에 대해 서버를 테스트합니다. 적어도 JavaScript의 init 부분을 실행하는 도구 (또는 위의 도구 옵션)가 필요합니다. 적어도 작은 브라우저 시뮬레이션이나 html 파일의 JS 실행 테스트를위한 다른 접근 방법이 필요하다는 것을 알고 있습니다. 오른쪽 방향으로 어떤 포인터가 크게 감사하겠습니다!

+0

JMeter로 충분합니다. JMeter를 구성하여 페이지를 동시에 요청하고 내장 된 리소스를로드하며 API를 호출 할 수 있습니다. –

+0

@DrewR 답변을 주셔서 고맙습니다. JMeter에 대한 나의 이해는 html 파일 (및 JS 파일과 같이 첨부 된 모든 것)을 가져 오는 것입니다. JS 코드를 실행하려면 어떻게 구성해야합니까? 아니면 내 JS 코드가 JMeter에서 직접 수행해야하는 모든 요청을 지정해야한다는 의미입니까? – WeSt

+0

예, JMeter에서 JS에 의해 실행될 요청을 작성해야합니다. 그렇지 않으면 아마도 브라우저 세션을 시뮬레이트 할 수있는 엔드 투 엔드 테스트 프레임 워크가 필요합니다 (헤드리스 브라우저) –

답변

2

비슷한 응용 프로그램 (웹 서비스를 사용하여 백엔드와 통신하는 AngularJS 프런트 엔드)을 테스트하려면 WebLOAD을 사용하고 있습니다.

시나리오를 기록 할 때 스크립트에는 이미 수행 한 것처럼 정적 리소스 검색이 포함되지만 백엔드 (앱의 NodeJS)로 이동하는 동적 http 요청도 포함됩니다.

실제로 JavaScript 코드가 실행되지만 서버에 영향을주는 요청이 기록되고 수행됩니다.

서버의 관점에서 볼 때 모든 것이 중요합니다. 서버는 클라이언트가 수행하는 작업에 대해 '알지 못함'(또는주의)하지 않습니다. 작업 부하에 영향을 미치지 않으므로로드 테스트에서 시뮬레이션하는 것이 중요하지 않습니다. 전체 (또는 헤드리스) 브라우저 (예 : Selenium)를 사용하면로드 테스팅에서 과도한 부담이됩니다. 확장 성이 좋지 않고 많은 리소스가 필요하므로 효율적이지 않습니다.

+0

입력 해 주셔서 감사합니다. 로드 테스트를 위해 (헤드리스) 브라우저를 사용하는 것에 대한 귀하의 생각은 지금까지 제가 그 방향으로 나아 가지 못하게 한 것입니다. 또한 내 웹 사이트의 HTML은 큰지도가 있기 때문에 다소 복잡합니다. 다양한 출처에서 (지리적) 정보를 검색하고 일부 NodeJS 설치를 대상으로하는 테스트가 있습니다. 매스 (headless) 브라우저로이 시나리오를 테스트 할 경우, 다른 소스와 클라이언트 렌더링도 테스트합니다. 이는 나에게 전혀 관심이 없습니다. 의견을 보내 주셔서 다시 한 번 감사 드리며, WebLOAD를 살펴 보겠습니다. – WeSt

관련 문제