페이스북 트위터
alltechbites.com

확장성 테스트: 성공을 향한 7단계

Grant Tafreshi님이 4월 5, 2022에 게시함

개발 중에 매우 잘 작동하는 시스템은 약간 규모로 배포되며 배포가 실질 사용에 따라 확장되면 성능 목표를 충족시키는 것을 무시할 수 있습니다.

이에 대한 애플리케이션 모범 사례는 최근에 미래 사고 첨단 기술 플랫폼의 개발을 아웃소싱 한 중요한 블루칩 회사에서 비롯됩니다. 개발이 일정 뒤에 있었지만 이것은 허용되는 것으로 간주됩니다. 이 기계는 점차 개별 승인 테스트의 기능적 구성 요소를 통과했으며 마치 배포 날짜가 설정 될 수있는 것처럼 보였습니다. 그러나 공급 업체는 부하 테스트 및 확장 성 테스트를 시작했습니다. 확장되고 비용이 많이 드는 건축 변화와 기계 요구 사항의 변경이 이어졌습니다. 공급 업체는 마침내 프로젝트가 모스 볼이 될 때까지 만족스러운 시스템을 공급하기 위해 영웅적으로 싸웠습니다.

이것은 고립 된 경우가 아닙니다. 그것은 비슷한 이야기로 민속이 풍부합니다. 구급차 파견 시스템에서 세금 진술서의 전자 제출을 위해 웹 사이트에 이르기까지 시스템은 최고 수요를 확장하고 경험하기 때문에 실패합니다. 이 모든 프로젝트는 그들이 직면 한 주요 위험을 식별하고 명령하지 않은 것처럼 보입니다. 이는 위험 기반 테스트의 기본 단계 일 수 있으며 기능 테스트 또는 비즈니스 연속성 테스트에 따라 확장 성 테스트 또는로드 테스트에 동일하게 적용됩니다. 위험 평가 없이는 스케일링이 가장 큰 위험 사이에 있음을 인식하지 못했습니다. 모든 기능을 전달하기 위해

SOA (Service Oriented Architecture)에 대한 최근 동향은 확장 성 문제를 해결하려고 시도하지만 새로운 문제를 추가로 소개합니다. 외부로 제공된 서비스를 현재 솔루션에 통합한다는 것은 현재 스케일링 기능이 하중 하에서 작동하는 이러한 외부 시스템에 의존한다는 것을 의미합니다. 이것이 까다로운 작업이 될 수 있으며 슬프게도 균주 테스트 및 스트레스 테스트는 종종 간과됩니다.

더 나은 실습은 성능을 명확하게 사용하여 대규모 소프트웨어 시스템의 개발, 특히 확장 성 테스트, 볼륨 테스트 및로드 테스트를 시작하는 것입니다. 이 성능 테스트 초점을 생성하려면 :

  • Mark Market가 암시하는 정보 볼륨 및 거래량을 연구하고 수량화합니다. 이러한 수치 중 일부는 시선을 오픈하는 사람이 될 수 있으며 비즈니스 엔터프라이즈 사용자가 기계의 전체 규모를 깨닫도록 도와줍니다. 이것만으로도 여러 기능의 우선 순위를 재평가 할 수 있습니다.
  • 기계의 스케일링을 더 쉽게 만들기 위해 사용자와 시스템을 구조화 한 기계에 기능을 제시 할 수있는 방법을 결정합니다. 일반적으로 개별 사용자 데스크탑 솔루션에 대해 가질 수있는 기능과 정확히 동일한 기능을 사용하려고 시도하지 마십시오. 적절한 확장 가능한 대안을 제공합니다.
  • 개발 프로세스의 고유 영역이 각 증분 소프트웨어 릴리스에서 대표적인 규모로로드 테스트를 인식합니다. 이는 지속적인 테스트입니다. 프로젝트의 가장 큰 위험에 집중하는 것은 풀 스케일로 작동 할 수있는 기회입니다.
  • 로드 테스트가 범위와 엄격함 모두에 적합한 지 확인합니다. 로드 테스트는 성능 테스트로 응답 시간을 측정하는 것이 아닙니다. 변형 테스트 프로그램에는 응력 테스트, 신뢰성 테스트 및 지구력 테스트를 포함한 다른 스타일의 부하 테스트가 포함되어야합니다.
  • 실패가 발생한다는 것을 잊지 마십시오. 대규모 시스템에는 일반적으로 실패 동작이있는 서버 클러스터가 포함됩니다. 부하 하에서 작동하는 대표적인 척도 시스템에서 실패 테스트, 장애 테스트 및 복구 테스트가 포함되어야합니다.
  • 치명적인 실패가 발생할 수 있다는 것을 잊지 마십시오. 대규모 문제의 경우, 재난 테스트 및 재해 복구 테스트는 대표적인 규모 및 부하로 완료되어야합니다. 이러한 활동은 비즈니스 연속성 테스트의 기술 계층으로 볼 수 있습니다.
  • 외부 서비스를 사용하는 경우 외부 서비스를 인식합니다. 귀하의 위치가 SOA 접근 방식을 채택하는 것과 외부 서비스의 영향을받는 것은 이러한 서비스의 처리량 및 처리 시간이 신체 규모와 자체 요구가 증가함에 따라 수용 가능성을 유지해야합니다. 좋은 시스템 아키텍처에는 외부 서비스 동작이 악화되거나 실패한 경우 우아한 응답과 낙진 작동이 포함됩니다.
  • .