
아무리 스레드를 늘려도 성능 개선에 소용없던 이유 (MySQL CPU 사용률 99%)
·
트러블슈팅
TL;DR단일 스레드에서 멀티스레드로 전환했음에도 배치 성능이 개선되지 못했던 이유MySQL CPU 사용률 99%가 병목의 원인이었으며, 이는 비즈니스 요구사항 때문에 불가피했던 LIKE 패턴 매칭 쿼리 때문이었습니다. 문제 해결을 위해 LIKE 쿼리를 IN 절로 변환하는 작업을 진행했고, 그 결과 CPU 사용률은 20% 이하로 떨어지고 배치 처리 시간은 10분에서 단 25초로 단축되어 사용자들이 최신 데이터에 즉시 접근할 수 있게 되었습니다. "배치 성능 개선? 그거 멀티스레드 쓰면 해결되는 거 아니었어?"아마 많은 개발자분들이 저와 같은 생각을 해보셨을 겁니다.저는 사용자에게 최신 데이터를 제공하는 신규 기능을 개발하고 있었습니다. 이 신규 기능의 핵심은 사용자가 원하는 특정 기준으로 데이터를 커스텀..