OS X 메일 데이터베이스를 최적화하여 성능을 끌어 올리는 방법

2016. 2. 25. 22:00    작성자: ONE™

OS X Mail 데이터베이스 최적화

맥 운영체제에 내장된 '메일(Mail)' 앱은 오래 사용할 수록 이메일, 첨부파일 내역을 기록하는 'SQLite' 데이터베이스 덩치가 점점 커집니다. 게다가 시간이 지날수록 데이터베이스에 빈 공간이 늘어나고 조각화가 심해지집니다.

이 때문에 메일 앱이 굼뜨게 움직이거나 메시지를 불러오는 데 더 많은 시간이 걸리곤 하는데요. 좀 더 쉽게 풀어서 말하면, 곳간은 나날이 쌓여가는데 여기저기 너저분하게 퍼질러 있어서 정작 필요한 물건을 찾는 데 많은 시간이 허비되는 것과 비슷합니다. 사실 버그라기 보다는 데이터베이스 관련 기술의 특성 또는 한계라고 할 수 있죠.

이에 오래 전부터 메일 앱의 데이터베이스를 정리해 성능 저하 원인을 제거하거나 완화시키는 방법이 알음알음 사용되고 있는데요. 메일 앱을 좀 더 빠르게 만들고 싶은 분이라면 한두 달에 한 번 정도 적용해 볼만 합니다. 저도 이 방법으로 틈틈히 최적화 작업을 해주고 있습니다.

기본적으로 sqlite 최적화 명령어인 'vacuum'을 사용해 메일 데이터베이스를 깨끗이 정리하는 원리인데요. 옴니그로울 개발자인 '호크 윙(Hawk Wings)'이 메일 앱에 적용되는 스크립트를 처음 만들었고, 이를 다시 NVAlt 개발자인 '브레타 터프스트라(Brett Terpstra)'가 다듬어 OS X 최신 버전에서 적용되고록 고쳐놓았습니다.

덕분에 프로그램 설치도 필요 없고 터미널 명령어 한 줄이면 됩니다. (소스코드는 여기서 볼 수 있습니다. 웹 개발자라면 어떤 내용인지 바로 이해하실 겁니다.)

적용 방법

주의 : 만에 하나 예기치 못한 문제가 발생할 수 있으므로, 타임머신 등의 백업 솔루션을 갖춘 분만 적용하시기 바랍니다.

0. 메일 앱이 실행 중이라면 먼저 종료합니다.

1. 응용 프로그램 > 유틸리티 폴더에 있는 '터미널(Terminal)'을 실행합니다.

2. 콘솔에 다음과 같이 명령어를 적어주고 엔터 키를 누르면 데이터베이스 색인에 대한 최적화 작업이 시작됩니다. 작에 소요되는 시간은 데이터 베이스 용량에 따라 차이가 날 수 있습니다. ▼

bash <(curl -s https://raw.githubusercontent.com/pbihq/tools/master/MailDBOptimiser.sh)

3. 작업이 완료되면 데이터베이스 색인 용량이 얼마나 줄어들었는지 보여줍니다. 두 달만에 스크립트를 돌렸는데 거의 색인 용량이 20% 가량 줄어들었습니다. ▼

4. 다시 메일 앱을 실행합니다.

코멘트

메일 앱에서 제공하는 '메일상자 재형성' 기능으로도 비슷한 효과를 볼 수 있지만, 이메일과 첨부파일을 받는데 상당한 시간이 소요되죠. 반면에 이 방법은 디스크에 이미 저장된 파일을 다루는 것이므로 속도 면에서 훨씬 효율적입니다. 그렇다고 데이터베이스 최적화 작업을 너무 자주 수행할 필요는 없습니다. (시스템 최적화에 들이는 들이는 노력과 시간이 성능 저하로 인한 손해보다 더 커서는 안 되겠죠.) 앞서 언급한 것처럼 한 두달에 한 번꼴로 틈틈히 해주시면 사뭇 빨리진 메일 앱을 만나실 수 있을 겁니다.



참조
Brett Terpstra - Vacuuming Mail.app on El Capitan
GitHub - MailDBOptimiser

관련 글
OS X 메일 앱 검색기능이 작동하지 않는 문제와 해결 방법
OS X Mail 앱 초기화 방법
OS X Spotlight 인덱스 재생성으로 해결할 수 있는 문제 유형

    
  1. Blog Icon
    truehouse

    4.7MB -> 3.6MB 로 줄었네요..ㅎㅎ
    감사합니다!

  2. Blog Icon
    제니스

    62MB -> 49MB 우후!!

  3. Blog Icon
    optimusic

    좋은 정보 고맙습니다.

  4. Blog Icon
    김...

    12.4메가에서 10메가로 줄었네요.
    체감상 조금 빨라진 것 같기도... ㅎㅎㅎ
    감사합니다.

  5. Blog Icon

    감사합니다~^^ 다른작업도 빨라진것 같은 느낌은 멀까요?ㅋㅋ

  6. Blog Icon
    roxie

    12->11 이 되었네요.

    심리적으로도 빨라진것 같.. 습니다.

    좋은 팁 감사합니다. ^^

  7. Blog Icon
    Bosemania

    좋은 팁 감사합니다.

    지금 해보니 index 129M => 117M ....T-T;;
    Local mail 박스는 필요한데, 사이즈는 점점 커지고...
    이런건 뭔가 좋은 방법이 없을까요 ?

  8. Blog Icon
    duii

    20 -> 18 되었습니다 ㅎㅎ
    원래 느리다는 생각은 별로 안들었지만..

  9. Blog Icon
    마늘대디

    132 -> 126MB로 개선되었습니다 ^^
    감사합니다.

  10. Blog Icon
    sf49ers

    이거 점말 좋은 팁이네요. Airmail로 갈아탈까 고민중이었는데 빠릿빠릿해졌어요!
    고맙습니다.

  11. Blog Icon
    맥시무스

    회사계정이랑 개인계정 여러개 등록해서 쓰고 있었는데
    확실히 효과가 있네요. 색인 용량이 192MB에서 170MB 정도로 조금 밖에 안 줄었는데도
    체감 성능이 확 올라갔습니다.
    제게는 완전히 꿀팁입니다. 말씀하신 것처럼 한두달에 한번씩 돌려봐야 겠어요

  12. Blog Icon
    강휘

    명령어 적용하고 처음 몇 분 동안은 반대로 느려진게 아닌가 했는데 좀 더 스크롤도 더 부드러워졌고
    메시지도 더 빨리 읽어오네요 좋은 팁 소개해 주셔서 감사합니다!

  13. Blog Icon
    이현수

    빨라지네요! 감사!!! 89MB->84MB인데 무척 원활해진 느낌입니다.
    5개 이메일계정을 등록해서 쓰는데, 그중 3개는 메일함이 무지 큽니다...
    그래서 메일상자 재형성은 꿈도 못꿨는데, 이렇게 좋은 방법이~~~

  14. Blog Icon
    slo

    324kb -> 284kb

    이거 뭐 정리했다고 하기도 무안할 정도로 나오네요. 메일을 자주 쓰는데로 이리 적은 건 왜일까요 ㅎㅎ