워드프레스 DB를 깔끔하게 – revision과 autosave 관리

Revison 관리하기

워드프레스 버젼 2.6이상을 사용하고 있고, 멀티유저 블로그를 운영하고 있거나 긴 글을 여러번에 나누어 쓰는 사용자라면, 워드프레스를 백업할 때마다 몇십메가에 달하는 SQL 용량에 놀라게 될 것이다. “아무리 생각해도 SQL파일이 몇십메가나 될리가 없는데!” 하면서 말이다.

워드프레스의 테이블중 wp_posts 테이블에는 post 정보 외에도 첨부파일, autosave, Draft, revision 등이 들어가는데 그중에 가장 자리를 많이 차지하는 것이 revision 이다. 긴 글을 작성하면 보통 여러번에 걸처 수정을 하면서 글을 쓰게 되는데 그 수정을 할 때마다의 글이 지워지지 않고 계속 저장되는 것이 revision 이다. (이 기능 덕분에 나중에 문제가 되었을 때 기존 버젼으로 되돌릴 수도 있다)

문제는 위키나 소프트웨어 버젼관리 시스템은 히스토리 관리를 위해서 delta(기존버젼과 새버젼의 차이)만을 저장하기 때문에 크기가 크지 않은데 반해 워드프레스는 모든 버젼의 풀-텍스트를 저장한다는 점이다. 즉, 10Kb 짜리 텍스트를 조금 조금씩 10번 수정하면 위키나 SW버젼관리 시스템에서는 11Kb를 잡아먹는 데 반해 워드프레스에서는 100Kb를 잡아먹는다.

그래서 워드프레스에는 Revision을 지워주거나 관리해주는 plugin이 있다.

  • Revision Removal리비젼을 깔끔하게 지워주는 간단한 플러그인이다.
  • Revision Control정기적으로 오래된 Revision을 지워주거나 특정갯수 이상의 Revision을 삭제해준다

Revision을 끄는 옵션은 없지만..

그런데 워드프레스 관리자에는 이 revision 기능을 끄는 옵션이 없다! 나처럼 이런 기능이 필요없는 사람도 쓸데없는 DB공간의 낭비와 속도의 저하를 가져오는 revision기능을 끌 수가 없다. 하지만 wp-config.php 를 직접 수정하므로서 revision 기능을 관리할 수 있다.

Revision 기능 끄기

define('WP_POST_REVISIONS', false );

너무 많은 Revision을 피하기 위해서 Revision을 5개까지만 저장하고 싶다면,

define('WP_POST_REVISIONS', 5 );

AutoSave 관리하기

autosave는 워드프레스 사용중에 입력이 없으면 자동으로 저장해두는 기능이다. autosave 는 revision과 달리 한 post에 하나밖에 생성되지 않는다.

autosave 의 시간을 조절하기 위해서는 아래와 같은 코드를 wp-config.php 에 넣어주면 된다.

define('AUTOSAVE_INTERVAL', 600); // 파라메터인 숫자는 초 이다

나는 Revision Removal 플러그인으로 기존 Revision을 다 정리한 다음, Revison 기능을 꺼버리고 Autosave기능은 default로 나두었다.


  1. addi Avatar

    정말 좋은 팁이네요.
    감사합니다. ^^

    1. tebica Avatar

      도움이 되셨다니 다행이네요-
      오랜만의 제 블로그에 답글 감사합니다!

  2. de5perado Avatar

    감사합니다.좋은 자료네요.
    워드프레스 여러모로 매력적이긴 하지만 미국놈들 프로그램 아니랄까봐 뜬금없는 기능이 너무 많은게 좀 흠인 것 같습니다.
    우여곡절 끝에 시작하게 되었는데 좀 황당할 때도 많아요. 한국사람 성격에 비춘다면 ㅋ
    게시판도 그렇고..암튼 성격을 좀 버리는거 같습니다.

    1. tebica Avatar

      이제는 워드프레스가 많이 비대해졌지요. 개인적으로는 이제 버릴것을 좀 버리고 성능을 집중적으로 개선해 주었으면 하는 생각이 저도 있습니다

  3. 나무 Avatar
    나무

    좋은 정보 감사합니다. 워드프레스 시작한지 며칠 되지 않았는데도 저도 리비전 파일이 66개나 있어서 삭제하고 설정을 껐습니다. ^^

  4.  Avatar
    Anonymous

    안녕하세요 질문이 있습니다.~ autosave 기능은 왜 default 로 해 놓으시는 건가요?

    1. 박 민우 Avatar

      죄송하지만, 이 글을 작성한지 너무 오래되어서 정확한 이유가 기억이 나지 않습니다.
      다만 “한 post에 하나밖에 생성되지 않기 때문에” 큰 부담이 안되어서 그렇게 한거 같다는 생각이 드네요

  5. Fruitfulife Avatar

    리비전 기능 꺼둘까 하다가 혹시나 하고 두 개까지 허용하기로 했습니다. 사실 그런 거 없이도 잘 해왔는데 말이죠.
    덕분에 리비전 컨트롤 플러그인 알아갑니다. 고맙습니다 ^^