5

웹 응용 프로그램의 성능을 테스트 할 때 일반적으로 사람들이 집중하고있는 것은 무엇입니까? http 응답 시간입니까? 또는 서버에서 응답을받은 후 클라이언트 브라우저에서 페이지를로드/렌더링하는 데 시간이 걸리는 시점입니까?웹 응용 프로그램에서 페이지 렌더링 /로드 시간을 측정하는 것이 얼마나 중요합니까?

업계 전반에 걸쳐 일반적으로 측정되는 수치는 무엇입니까? 언제해야하는지에 관해 어떤 권고 사항이 있습니까?

동일한 도구 권장 사항이 있습니까?

클라이언트가 응답을받은 후 Visual Studio 웹 테스트를 사용하여 웹 페이지로드/렌더링 시간에 대한 성능을 측정 할 수 있습니까? 아니면 그냥 HTTP 응답 시간?

답변

3

세 단어로 : 성능이 중요합니다!

내 황금률은 매우 간단합니다. 모든 것을 측정하고 모든 것을 최적화해야합니다. 이는 순수한 기술 과제 일뿐만 아니라 비즈니스 팀과도 관련이 있습니다. 다음은 Velocity Conf의 몇 가지 고전적인 사례입니다.

  • ~2초가 느린 수익/사용자의 4.3 % 감소에서 결과였다 페이지입니다.
  • Google - 400 밀리 초 지연으로 검색/사용자 수가 0.59 % 감소했습니다.
  • 야후! - 400 밀리 초의 속도 저하로 전체 페이지 트래픽이 5-9 % 감소했습니다.
  • Shopzilla - 사이트 속도를 5 초 높이면 전환율이 7-12 % 증가하고 검색 엔진 마케팅에서 세션 수가 두 배로 늘어나고 필요한 서버 수를 절반으로 줄였습니다.
  • Mozilla - 방문 페이지를 2.2 초 동안 면도하면 다운로드 전환 수가 15.4 % 증가했으며, 이로 인해 연간 Firefox 다운로드가 6 천만 회 늘어날 것으로 예상됩니다.
  • 넷플릭스 - 단일 최적화, gzip 압축을 채택하여 13-25 %의 속도 향상을 얻었으며 아웃 바운드 네트워크 트래픽을 50 % 줄였습니다.

업계 전반에 걸쳐 일반적으로 측정되는 수치는 무엇입니까? 언제든지 수행해야하는 용어로 권장 사항이 있습니까?

스티브 수 더스, 웹 성능 최적화의 선구자에서

, "최종 사용자 응답 시간을 80 ~ 90 %의 프론트 엔드에 소요되는"여기 처음 시작 : 너무 많은 요청, 최적화되지 않은 이미지, 유엔 - 축소 된을 내용 (js/css)은 정적 오류를 배포하지 않으며 일반적인 오류입니다.

반면에이 부분은 실제로로드 & 활동에 의존하므로 백엔드를 잊지 마십시오. 일부 사이트는 백엔드 문제로 인해 가장 많은 실적 세금을 지불하고 있습니다. 페이지 생성 시간이 사용자로드에 비례하여 증가하므로 앱의 처리량 피크를 찾아 SLA가 정상인지 확인해야합니다.

같은 도구에 대한 권장 사항이 있습니까?

모든 항목을 다루는 마법 도구는 없지만 앱의 특정 부분에 도움이되는 많은 유용한 도구가 있습니다.

  • 페이지 렌더링 : 구글 크롬 Speedtracer는 또는 IE 11 UI 응답 성 도구
  • 프런트 엔드 : 페이지 속도, YSlow에, WebPageTest.org (온라인), GtMetrix (온라인) (온라인) 핑덤
  • 백엔드 : ASP. 순 미니 프로파일, 일별, 비주얼 스튜디오 프로파일 & 비주얼 스튜디오 웹 /로드 테스트
    • Google 웹 로그 분석 RUM (실제 사용자 모니터링)에 대한

클라이언트가 응답을받은 후 Visual Studio 웹 테스트를 사용하여 웹 페이지로드/렌더링 시간에 대한 조건을 단위로 측정 할 수 있습니까? 아니면 그냥 HTTP 응답 시간?

아니요, Visual Studio 웹 &로드는 HTTP 요청에서만 포커스를 테스트합니다. 자바 스크립트는 실행되지 않으며 가상 사용자는 가상 브라우저가 아닙니다. laod/redner 시간을 측정하는 것은 불가능합니다. 우리 회사에서는 통합 테스트와 부하 테스트에만 사용합니다.

자세한 내용을 보려면 post (해설자 : 저는 저자입니다)을 볼 수 있습니다. 또 다른 흥미있는 링크는 Jeff Atwood (StackOverflow의 공동 설립자), Performance is a feature입니다.

성능은 광대 한 주제이며 여기서만 다루는 부분은 적지 만 좋은 출발점이 있습니다.