SameOS ~/tools/load-test-plan.md

작은 PHP 사이트 부하테스트 안전하게 하는 방법

부하테스트는 사이트를 망가뜨리려고 하는 작업이 아니라, 동시 요청(여러 방문자가 같은 순간에 접속하는 상황)이 어느 정도일 때 응답 시간이 흔들리는지 확인하는 작업입니다. 처음에는 운영 서버가 아닌 내 컴퓨터(로컬)에서 낮은 수치로 시작해야 합니다.

권장 순서

먼저 정적 파일(이미지·CSS처럼 늘 같은 내용을 주는 파일)과 루트 페이지를 대상으로 50에서 200회 요청을 보냅니다. 오류율이 0%이고 95퍼센타일(요청 100개를 빠른 순으로 세웠을 때 95번째) 응답 시간이 안정적이면 동시 요청 수를 조금씩 올립니다. 로그인 영역이나 파일 다운로드 영역은 공개 테스트 대상에서 제외합니다.

로컬 테스트 명령

python3 scripts/load_test.py --url http://127.0.0.1/ --host-header sameos.uk --requests 200 --concurrency 20

볼 지표

평균 응답 시간보다 95퍼센타일이 중요합니다. 평균은 낮아도 일부 요청이 2초 이상 튀면 실제 사용자는 느리다고 느낄 수 있습니다. 오류 코드가 5xx(서버 쪽에 문제가 있다는 뜻의 응답 코드)로 나오면 PHP-FPM, Nginx worker, 디스크 IO, 로그 쓰기부터 확인합니다.