문제

우리는 현재 웹 애플리케이션 제품 개발과 관련하여 몇 가지 안정성 문제에 직면하고 있습니다. 이 제품은 파트너 계약자가 부분적으로 구축했으며 안정성에 대한 우수한 표준 메트릭을 원합니다. 우리가 직면 한 문제는 끊임없는 충돌입니다. 웹 애플리케이션은 처리 할 수있는 것보다 더 많은 요청이있을 때를 식별 할 수없고 메모리 누출과 같은 메모리를 쌓고 나중에 복구 할 수없는 유형없이 죽습니다.

파트너 계약자가 만나기 위해 매우 간단한 측정을 작성하고 싶습니다. 우리는 몇 가지 아이디어에 대해 생각했습니다.

  • 높은 부하를 식별하고 서버가 고도로로드에서 복구 될 때까지 다시 시도 할 수없는 서버를 제공 할 수있는 시스템.
  • 로드 밸런서 및 캐싱과 같은 확장 성 옵션을 사용할시기의 명확한 메트릭을 가질 수있는 동시 또는 페이지 뷰의 정해진 수의 동시에.

이 순간 우리는 캐싱 및로드 밸런싱을 사용하여 X 시간마다 (부하에 따라) 웹 응용 프로그램을 재활용 할 수 있도록해야합니다.

당신의 도움을 주셔서 감사합니다.

도움이 되었습니까?

해결책

"높은 부하"는 실제로 정의하기가 어렵습니다.

최소한의 수용 가능한 서비스 수준이 무엇인지 결정하는 것이 훨씬 쉽습니다.

  1. 최소 동시 요청 수.

  2. 요청을 제공하는 최대 시간.

  3. 시간당 최소 요청 수.

이와 같은 간단한 서비스 수준은 측정하기 쉽고 시뮬레이션하기 쉽고 계약에 쉽게 쓰기 쉽습니다. 모든 변호사 나 회계사는 부하 테스트 결과를 검토하고 최소값을 충족 시키거나 충족하지 않았다고 말할 수 있습니다. 깊은 기술 지식이 전혀 필요하지 않습니다.

이렇게하면 "최소값은 최대 값이됩니다". 그들이 시간당 최소 10,000 개의 요청을 제공해야한다고 말하면, 테스트 결과는 종종 최대 값을 보여줍니다.

따라서 비즈니스 모델에서 최소값과 최대를 정의하십시오. 사람들을 행복하고 생산적으로 유지 해야하는 사람은 몇 명입니까? 더 많은 것을 요구하는 것은 어리석은 일입니다. 더 적은 수의 요구는 불행하거나 비생산적인 사용자를 의미합니다.

다른 팁

일반적으로 사양에 내장 된 이러한 성능 유형 요구 사항을 보았습니다 ... "시스템은 동시 사용자의 x 양"또는 "시간당 x 요청 수"를 지원해야합니다.

이러한 것들은 LoadRunner와 같은 것을 사용하여 쉽게 테스트하고 검증하거나 HTTPUnit과 같은 것을 사용하여 유사한로드 테스터를 굴릴 수 있습니다.

필요한 것은 다음과 같은 매개 변수입니다.

  1. 로드 테스트 :

    i) 응용 프로그램 사용 동작을 추정하십시오. (즉,) 아니요. 동시 사용자의 일반적인 사용자 활동

    ii) 응용 프로그램을 점차적으로로드하고 CPU 사용량, 응답 시간, 처리량 등과 같은 매개 변수를 살펴 봅니다.

  2. 지속 가능성 :

    상당한 시간 (12-24 시간) 동안 응용 프로그램 (최적로드로)을로드하고 동일한 매개 변수 CPU 사용, 오류 레벨 등을보십시오.

하드웨어를 점차적으로 추가하고 응용 프로그램의 동작을 모니터링하는 확장 성을 시도 할 수도 있습니다.

이것은 시스템의 행동에 대한 괜찮은 이해를 제공해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top