Post

Log 퍼포먼스 비교

Log 퍼포먼스 비교

서비스를 운영 하면서 로깅으로 인한 속도 저하를 직접 체감할 일이 많았다.
빠른 속도로 데이터를 발송하고 많은 양의 데이터를 수신하다 보니 오류 추적을 위해 남겨둔 로그 때문에 속도가 저하되는 경우가 생긴 것이다.
로깅 퍼포먼스를 확인하기 위해 서치와 테스트를 진행했다.

아래 글을 참고하여 테스트 해봤다.
https://dveamer.github.io/backend/HowToUseSlf4j.html


실제 퍼포먼스 비교

고정 조건 : 

  1. 같은양의 텍스트 로그 1000줄

String.format && 앱 Log Root Level : debug

time = 21ms
time = 11ms
time = 13ms
time = 7ms
time = 10ms
time = 8ms
time = 11ms
time = 11ms
time = 25ms

String.format && 앱 Log Root Level : info

time = 18ms
time = 13ms
time = 11ms
time = 11ms
time = 23ms
time = 53ms
time = 17ms
time = 15ms
time = 10ms
time = 14ms

평균 10ms 가 넘는다.


log({}) 연산 && 앱 Log Root Level : debug

time = 6ms
time = 7ms
time = 8ms
time = 6ms
time = 7ms
time = 5ms
time = 5ms

log({}) 연산 && 앱 Log Root Level : info

time = 8ms
time = 7ms
time = 5ms
time = 8ms
time = 8ms
time = 6ms
time = 14ms
time = 6ms
time = 5ms

평균 7~8ms 속도가 나온다.

결론

String.format 과 log({}) 으로 서로 다르게 작성된 로깅은 간단한 테스트 결과 만으로도 차이가 존재했다.

This post is licensed under CC BY 4.0 by the author.