경험 중심 1인칭 답변
성능 최적화 방법론으로 저는 측정 → 병목 식별 → 가설 설정 → 변경 → 재측정 순서를 지킵니다. 수업 프로젝트에서 쿼리 최적화를 할 때 먼저 EXPLAIN ANALYZE로 실행 계획을 확인했더니 풀 스캔이 발생하고 있었고, 인덱스를 추가하자 쿼리 시간이 2초에서 0.08초로 줄었습니다. 성능 최적화에서 가장 흔한 실수는 측정 없이 최적화하는 것입니다. 직관적으로 느린 것 같다고 바꾸면 오히려 코드가 복잡해지고 성능은 그대로인 경우가 많습니다. 검증은 동일 환경에서 최적화 전후를 반복 측정해야 의미 있고, 부하 조건을 바꿔가며 확인하는 것이 중요합니다. 앞으로도 최적화 작업을 할 때 감이 아니라 프로파일러와 로그로 병목을 먼저 찾는 방식을 유지하겠습니다.
최적화는 측정에서 시작하고 측정으로 끝납니다. 앞으로도 성능 최적화를 할 때 측정 없이 변경하지 않는 원칙을 유지하겠습니다. 프로파일러가 가리키는 곳부터 시작해야 최적화가 실제로 됩니다.