워드프레스 사이트의 속도와 SQL 쿼리의 관계


워드프레스를 사용해서 웹사이트를 제작해서 사용하다보면 시간이 지날수록 사이트 속도가 느려지는 경험을 하게됩니다. 워드프레스 사이트의 속도가 느려지는 문제는 여러가지가 있지만 일반적으로 가장 큰 영향을 미치는 것은 플러그인과 테마인 경우가 많습니다.


특히 운영자는 워드프레스의 가장 큰 장점인 플러그인에 매료되어 플러그인을 이것저것 설치하는 경우가 많고 플러그인의 갯수는 계속 누적됩니다.

워드프레스 플러그인이나 테마도 PHP 개발환경 속에서 동작하는 하나의 프로그램이기 때문에 플러그인과 테마가 동작을 할 때마다가 PHP 프로그램은 구동되고 데이터베이스인 MySQL의 SQL 쿼리(Query)를 수행하게 됩니다. 즉, 플러그인이 많다거나 무거운 테마를 설치했다는 것은 많은 수의 SQL 쿼리가 데이터베이스에 수행되거나 데이터베이스에 부하를 주는 쿼리가 수행되는 것을 의미합니다. 그에 따라서 자연히 시스템의 속도는 저하되게 됩니다.


SQL( Structured Query Language, 구조화 질의어)는 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. SQL은 데이터베이스로부터 정보를 얻거나 갱신하기 위한 표준 대화식 프로그래밍 언어이다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다.


사이트 속도가 느려졌다면?


워드프레스 사이트 속도가 느려졌다면 운영자가 취해야하는 행동은 두 가지 정도가 있습니다.
첫번째는 웹사이트 속도를 느리게하는 플러그인이나 테마를 찾아내서 제거하는 일입니다.
두번째는 워드프레스를 구동시키는 웹호스팅 서버의 하드웨어적인 상황을 점검해 보는 것입니다.

첫번째로 이야기한 웹사이트 속도를 느리게하는 원인 프로그램을 찾아내는 것은 이전에 P3 플러그인을 활용한 워드프레스 성능 최적화 방법에서 설명드렸습니다. 아래 포스팅 내용을 참고바랍니다.




웹호스팅 환경 점검은 어떻게?


위에서 언급한 첫번째 방법을 활용해서도 워드프레스 사이트 속도가 개선이 되지 않는다면 두번째 방법으로는 워드프레스 서버 환경이나 용량을 살펴보아야 합니다. 웹호스팅 서버의 환경을 점검할 때 PHP 프로그램의 함수인 phpinfo()를 사용합니다. 워드프레스는 PHP 프로그램으로 만들어진 CMS(Contents Management System) 프로그램이기 때문에 PHP 프로그램을 활용해서 서버 점검이 가능한 것입니다.




phpinfo() 함수로 웹호스팅 환경 점검하기


PHP 프로그램의 함수인 phpinfo()를 사용하기 위해서는 먼저 PHP 파일을 하나 만들어야 합니다. PHP 프로그램 파일을 만들때 일반 윈도우 메모장을 이용해도 좋지만 가능한 HTML 및 프로그램 작성이 간편한 HTML 편집기를 이용하는 것이 좋습니다. 무료로 사용가능한 에디터 프로그램은 국내 아크로소프트에서 제작한 아크로에디터(AcroEdit)나 서브라임텍스트가 있습니다. 저는 서브라임텍스트를 권장합니다. 여기에서는 서브라임텍스트를 사용하겠습니다.

서브라임텍스트는 아래 포스팅 내용중에 다운받는 곳이 설명되어있습니다. 참고바랍니다.

phpinfo.php 파일 만들기


먼저, 아래와 같이 서브라임텍스트 프로그램을 실행시킨 뒤에 File > New File 메뉴를 클릭합니다.



이제는 Ctrl+S 단축키를 눌러서 phpinfo.php 하는 이름으로 저장합니다.



아래와 같이 PHP 코드를 작성한 뒤에 Ctrl+S로 파일을 저장합니다.




웹호스팅 서버 디렉토리에 업로드 하기


phpinfo 파일이 만들어졌다면 웹호스팅 서버에 FTP 프로그램을 이용해서 서버에 업로드합니다. 서버 업로드 폴더 경로는 www로 접속한 디렉토리입니다.



웹호스팅 서버 정보 웹브라우저에서 확인하기


웹브라우져를 열고 자신의 워드프레스 사이트에 접속합니다. 자신의 사이트에 접속하려면 자시의 웹사이트 주소뒤에 다음과 같은 경로가 붙어야 합니다.



웹브라우져를 열고 접속하니 웹호스팅 정보가 아래 화면과 같이 나타납니다. 브라우져 스크롤을 하면 아래로 웹호스팅 서버 환경에 대한 정보를 확인할 수 있습니다. 맨 상단에는 PHP 버전이 나타나 있습니다. 서버의 정보를 불필요하게 노출할 필요는 없기 때문에 아래 화면은 마스킹 처리를 하였습니다.
워드프레스를 사용시 권장하는 PHP 버전은 5.24이상입니다. 5.3이상이기 때문에 PHP 버전은 문제가 없습니다.




운영자는 웹브라우저에 나타난 웹호스팅 서버 상세 정보를 검색해서 확인할 수 있습니다.

서버 메모리 용량 확인하기


웹호스팅 서버의 메모리 용량이 너무 작아서 워드프레스 속도가 느릴 수도 있습니다. 특히 64MB 정도의 용량은 부족할 수 있습니다.
메모리 용량을 확인해서 작다면 증설해야 합니다. 메모리 용량을 확인하기 위해서 웹브라우저 화면에서 Ctrl+F 로 memory_limit 로 검색합니다.

아래 화면과 같이 memory_limit 항목에 서버의 메모리가 검색되었습니다. 현재 서버의 메모리 용량은 128MB 입니다. 메모리 용량이 더크면 좋겠지만 일단 128MB 정도면 무거운 테마를 구동하지 않는 이상 기본적으로 워드프레스를 구동하는데는 문제가 없습니다. 워드프레스 메모리는 가능한 128MB 이상을 사용하는 것을 권장합니다.




서버의 MySQL 버전 확인하기


웹브라우져에서 mysql로 검색합니다. 아래 화면과 같이 MySQL 버전은 5.1입니다. 워드프레스는 MySQL 버전은 5.0이상을 권장하고 있습니다.




파일 업로드 용량 확인하기


파일 업로드 용량 설정은 기본적으로 두 가지로 설정되어있습니다. 하나는 워드프레스에서 첨부할 수 있는 파일의 최대 크기를 설정한 것이고, 또하나는 웹호스팅 서버에서 파일업로드시 최대 파일 크기를 설정한 곳입니다.

웹브라우져에서 post_max_size로 검색합니다. post_max_size는 워드프레스 시스템을 사용해서 업로드할 수 있는 최대 파일의 크기를 설정한 곳입니다. 현재는 21M로 설정되어있습니다.




웹브라우져에서 upload_max_filesize로 검색합니다. upload_max_filesize는 웹호스팅 서버에 업로드할 수 있는 최대 파일의 크키입니다. 현재는 21M입니다.




정보 확인후 파일은 삭제하기


가능한 사용한 phpinfo.php 화일은 서버에서 삭제하는 것이 좋습니다. 굳이 자신의 서버정보를 외부에 공개할 필요는 없습니다.
서버에 대한 정보를 고스란히 노출하는 것은 시스템 보안상 결코 좋은 방법은 아니기 때문입니다.



+ Recent posts