문제의 역사:
현대 정보 시스템은 종종 부하 하에 작동하며, 사용자 수와 데이터 양이 증가하고 있습니다. 비즈니스는 제품의 높은 성능과 확장성, 내결함성 및 최소한의 다운타임 위험을 요구합니다.
문제:
성능 요구 사항은 명확하게 제시되지 않는 경우가 많으며, 종종 형식적으로 "빠르게 작동" 또는 "100,000 사용자까지 확장 가능"이라고 표현됩니다. 불충분한 기준은 해결책을 검토, 조정 또는 테스트하는 것을 불가능하게 하며 때때로 자원 낭비로 이어집니다.
해결책:
주요 특징:
제품 분석 없이 업계 표준 메트릭스를 사용할 수 있습니까?
표준 메트릭스는 기준으로 유용하지만 반드시 비즈니스의 특성과 제품의 타겟 오디언스에 맞게 조정되어야 합니다. 그렇지 않으면 주요 시나리오와 부하를 고려하지 못할 수 있습니다.
개발 테스트에서 부하가 충분합니까? 확장성을 확신할 수 있습니까?
아니요, 테스트 환경은 종종 실제 인프라 파라미터와 크게 다릅니다. 실제와 최대한 유사한 부하 테스트를 수행하고 주기적으로 반복해야 합니다.
비즈니스 기능성에 대한 손실 없이 최대 성능을 구현할 수 있습니까?
거의 항상 타협이 존재합니다: 때때로 안정성과 예산 준수를 위해 제한(예: 일괄 처리 또는 특정 시나리오에 대한 한도)이 도입됩니다.
부정적인 사례: 요구 사항 명세서에 "높은 부하에서 작동"을 명시했지만 메트릭을 정의하지 않았습니다. 릴리스에서 데이터 로드가 몇 시간을 소요하여 비즈니스는 고객을 잃었습니다. 장점: 빠른 요구 사항 합의. 단점: 부하 하에서 시스템의 예측 불가능한 행동.
긍정적인 사례: 분석가는 비즈니스 시나리오를 요청하고 아키텍트와 협력하여 한계를 설정하고 부하 테스트를 수행했습니다. 릴리스에서 시스템은 프로모션의 피크 부하를 견뎠습니다. 장점: 예측 가능한 성장, 마케팅 프로모션의 성공적인 진행. 단점: 추가 테스트로 인한 릴리스 지연.