왜 워드프레스에서 데이터베이스를 관리하고 최적화하는 것이 필요할까요? 그에 앞서 먼저 이해해야 할 것이 있습니다. 워드프레스에서 한 개의 포스트를 위해 글쓰기를 하는 동안 얼마나 되는 데이터베이스를 사용할까요?

워드프레스의 리비전

워드프레스에서는 리비전이라는 개념이 있습니다. 위의 화면처럼, 글쓰기를 할 때 편집창의 오른쪽 사이드바에 리비전 갯수가 표시가 됩니다. 글쓰기를 시작할 때에 포스트의 상태를 공개로 하기 전에 여러 번 수정이나 추가를 하고, 그럴 때마다 업데이트를 해서 현재 상태를 저장해 둡니다. 이렇게 매번 저장이 될 때마다 하나의 리비전이 생성됩니다. 사실, 워드프레스는 친절하게도 사용자가 업데이트를 하지 않아도 60초마다 자동으로 리비전을 저장합니다.

이렇게 리비전을 생성하는 이유는 복구를 하기 위해서입니다. 실수로 어떤 내용을 삭제한 상태로 저장해 버렸다면, 바로 전에 저장한 리비전으로 복구하면 됩니다. 글쓰기 중에 정말 훌륭한 안전 장치입니다.

하지만, 이미 글을 완성해서 공개한 후에는? 더이상 이전으로 복구할 이유가 없다면? 그간 저장해 둔 여러 개 ~ 십 수개의 리비전들은 의미가 없습니다. 그런데, 문제는 이전이 각각의 리비전들이 현재의 완성된 포스트와 용량이 별 다를 바 없다는 겁니다. 20개의 리비전이 있다면, 필요한 한 포스트의 20배에 달하는 용량을 사용하고 있는 겁니다.

만약 내 블로그에 1,000개의 포스트가 있다고 한다면, 매번 글쓰기 할 때마다 평균 20개의 리비전이 있다면? 데이터베이스에는 2만개의 리비전이 저장되어 있는 겁니다. 필요한 용량의 20배의 용량을 사용하고 있는 것이지요. 포스트당 평균 10kb를 사용한다면, 실제로 사용하는 포스트는 10메가바이트 가량인데(실제로 1메가바이트는 1024kb입니다만, 계산을 쉽게 하려면…) 리비전 때문에 20배인 200메가 바이트를 차지하게 됩니다.

이렇게 불필요한 용량을 많이 차지하다보면, 전반적인 퍼포먼스에 영향을 줍니다. 사이트 전체의 속도가 저하될 수 있습니다.

리비전을 설정하기

이 리비전을 적절하게 조절하면 부담을 줄일 수 있습니다. 워드프레스의 설정 파일인 wp-config.php 파일의 아래의 내용을 추가하는 겁니다.

아래의 코드는 리비전을 최대 3개로 정합니다. 3개 이전의 리비전은 자동으로 없어집니다. 사실, 몇 번 리비전이 저장될 시간을 넘어섰다면 거의 돌아가 복구할 가능성이 없다고 생각할 수 있습니다.

만약 아예, 리비전 기능을 쓰지 않겠다면? 아래의 코드를 추가하면 리비전 기능을 사용하지 않게 됩니다.

리비전을 쓰되, 자동 저장 시간(디폴드 60초)를 늘릴 수도 있습니다. 아래의 코드에서 뒷 부분 300이라는 숫자는 300초입니다. 5분마다 자동으로 리비전을 생성하는 겁니다.

 

위의 방법들은 리비전을 아예 사용하지 않게 하거나, 리비전의 수를 줄이는 방법입니다. 그러나, 사용을 줄이더라도 이미 만들어진 불필요한 리비전들은 어떻게 해야 하죠?

 

리비전을 삭제하기

이미 만들어진 리비전들이 많을 수 있습니다. 위에서 설정했더라도 포스트의 수가 많아지면 리비전도 쌓여서 큰 부담이 됩니다. 그래서, WP Optimize, WP Sweep등의 플러그인을 사용하면 만들어진 리비전들을 삭제할 수 있습니다. 이런 플러그인을 사용하면, 그외에 링크가 끊어진 사용되지 않는 데이터 등 불필요한 것들을 함께 찾아내 삭제할 수 있습니다.

이렇게 워드프레스의 포스트 또는 페이지의 리비전을 잘 관리하면 더욱 쾌적한 사이트를 유지할 수 있게 됩니다.