성능 테스트는 모든 LINE 서비스에서 없어서는 안되는 필수 과정입니다. 하지만 다음과 같은 이유로 성능 테스트의 환경을 설정하고 관리하는 작업이 항상 쉽고 효율적인 것은 아닙니다.
먼저, 기능과 컴포넌트, 이벤트 등에 따라 서버 워크로드의 기준이 다릅니다. 컴포넌트의 종류나 이벤트의 규모에 따라 해당 기능의 성능 기준이 달라지기 때문에 RPS(Request Per Second) 역시 천차만별입니다. 또한, 대부분의 오픈소스 성능 툴에는 다수의 테스트 실행자(executor)를 통제하거나 테스트별 결과 보고서를 통합해 주는 기능이 없습니다. 테스터가 직접 단계 별로 테스트를 진행하고 성능 테스트 스크립트를 실행하기에 적합한 수준의 장비를 찾아야 합니다. 이를 위해 신규 장비 할당과 필요한 라이브러리 설치, 스크립트 업로드, 스크립트가 테스트 장비에 과부하가 걸리지 않는 범위에서 필요한 워크로드를 생성하는지 확인하기 위한 여러 번의 시도를 거쳐야 합니다.