- Posted
- Filed under 01010101
몇일 전 부터 RSS 수집기가 말썽을 일으켰는데, 이 문제를 수정하느라고 한참을 고생했습니다.
계속해서 해당 프로세스가 CPU와 메모리 자원을 한없이 먹는 문제가 발생을 했는데...
thread dump를 확인한 결과 찾은 문제는, 정규표현식으로 이미지 주소를 추출하는 부분이었습니다.
이 문제를 해결하기 위해, 정규표현식 성능을 높이기 위한 방법을 좀 찾아봤습니다. 그 중에서, 몇가지 방법이 나와있는데, 이 중에서
- STEP 1 : 정규표현식을 적용할 문자열이 길면, 성능이 떨어지기 때문에, 정규표현식을 적용할 문자열을 짧게 합니다.
- STEP 2 : 정규표현식이 적용되지 않는 문자열을 필터링 합니다.
return;
}[/code]
- STEP 3 : Pattern.compile 을 한번만 해서 재사용
이렇게 적용을 했더니,
[code]STEP 0 - 3639 ms
STEP 1 - 2647 ms
STEP 2 - 2148 ms
STEP 3 - 1900 ms[/code]
이렇게 시간이 많이 절약이 됐네요.
Comments List
오~~ 형님 짱!!!
그냥 삽질과 검색의 결과죠 ㅜㅜ ...