워드프레스는 PHP의 복잡한(?) 조합으로 구성되어 있어서, 단순하게 html로 보여지는 페이지보다는 속도가 느릴 수 있습니다.

그 대신 얻게 되는 이득이 그 속도를 넘기때문에 사용을 하게 되죠. 특별히 관리적인 편리함이 대단합니다.

워드프레스 관리자 화면에 익숙해지면, 다른 관리자 화면은 불편해서 사용을 못할 정도로 관리자 화면이 아주 우수합니다.
(물론 개발자가 어떻게 관리자 화면을 용도에 맞게 구성하느냐도 중요합니다만..)

재원에이전시 워드프레스 속도향상
웹 페이지의 속도에 영향을 미치는 부분을 하나 하나 짚어보겠습니다.

먼저는, 웹 시스템의 구조를 파악하고, 각 부분에서 속도 향상에 도움이 될 부분을 고려해 보겠습니다.

1. 고객의 PC

이건 정말 어쩔 수 없습니다. 고갱님.. PC 사양이 너무 낮습니다..;;

2. 고객의 웹브라우저

이것도 어쩔 수 없다지만, 이건 어떻게든 모던 웹 브라우저로 바꿔야 합니다. 단순이 구형 IE가 가진 버그의 문제뿐만 아니라, 모던 웹 브라우저는 자바스크립트 엔진이 구형 브라우저에 비해 향상되었습니다.

3. 고객님이 사용중인 DNS

이것도 어쩔 수 없는 문제입니다. 어쩔 수 없는데 왜 계속 언급하냐구요? 아는게 힘입니다. 알아야 면장해먹지요..;
고객이 사용중인 DNS란.. 고객의 PC에서 jewonagency.com 을 입력했을 때, DNS쪽으로 이 도메인의 IP가 어떻게 되냐는 질문을 던집니다. 그러면, DNS에서는 IP를 넘겨주고, 웹 브라우저는 그 IP로 접근을 하게 됩니다. DNS에서 값을 얼마나 빨리넘겨주느냐도 매우 중요합니다. DNS까지 가지 않고 해결하는 방법으로 /etc/hosts 나 c:\windows\system32\drivers\etc\hosts 에 도메인과 IP를 명시하는 방법이 있습니다. 하지만, 나중에 ip 변경되면 곤란한 상황이 발생하겠지요^^; 수십~수백 mSec 정도의 차이이니, 일단 패스~~ 참고로 저는 8.8.8.8 구글 DNS 자주 이용합니다. Open DNS와 같이 dns를 서비스 하는 회사가 있습니다. 그쪽으로 dns를 설정해 놓으면 약간의 속도 보상효과는 있을 겁니다.

4. 인터넷 회선 속도

이건 당연한거지만, 가끔 간과하는 것이기도 하죠;;;

5. 서버가 사용하는 회선 속도

서버가 어떤 회선을 쓰며, 얼마나 많은 서버가 동일 라우터에 붙어있는지가 또 하나의 속도를 결정짓는 요소입니다. 인터넷은 이더넷이라는 방법을 쓰는데, 이 이더넷의 방법이 패킷이 발생하면, 충돌이 자주 발생하여 속도가 느려지는 단점이 있습니다. 여러명이 동시에 쓰면 느려진다는 개념은 은연중에 알고 있는 개념이죠.

6. 서버의 사양

워드프레스에서 특히 플러그인을 많이 사용하면, 서버의 메모리 공간을 많이 차지하게 됩니다. 서버의 메모리가 부족하면, swap(가상메모리)파일이 커져서 현저하게 속도가 떨어질 수 있습니다. 또한, 디스크로 부터 자료를 요청하기 때문에, HDD도 SSD를 사용한다면, 속도 향상을 체감할 수 있습니다. jwhosting은 SSD를 사용합니다.

7. 웹 서버 모듈

일반적으로 아파치를 많이 쓰는데, 최근에 나온 nginx 를 php-fpm과 함께 쓰고, 정적인 데이터 (jpg, html, png)는 nginx로 처리하게 하면, 훨씬 쾌적한 환경을 맛볼 수 있습니다. 재원에이전시에 워드프레스를 의뢰하시는 고객에게는 nginx 와 SSD로 구성된 서버에 호스팅을 해드리고 있습니다.

8. 워드프레스의 개발 방법

워드프레스가 제공하는 플러그인이 3만여개가 됩니다(2014/5월), 그 이야기는 원하는 기능의 플러그인을 비교적 쉽게 구현할 수 있지만..
단순한 기능을 쓰기 위해서 플러그인을 설치하게 되면, 속도에 영향을 미치게 됩니다. 왜냐하면 불필요한 기능이 추가되거나, 불필요한 연산이 이루어 지고, 그에 따라 CPU파워나 메모리 공간을 더 필요로 하기 때문이죠.

9. 추가 방법론

지금 까지는 일반적인 시스템과 개발적인 측면이고, 추가로 사용할 수 있는 팁은,
가. Static 데이터는 CDN에서 서비스를 받는 방법.
나. WP 캐시 시스템을 활용하여 php를 html로 만들어 놓는 방법.
등이 있을 수 있습니다.

눈에 보이는 것이 전부는 아닙니다.

경험적을 정리하자면,

일단 서버를 nginx 와 ssd로 바꿨을 때 확실히 쾌적해 졌고,
CDN도 효과적이며, 캐시시스템은 필수는 아니지만 마음의 평안을 위해 씁니다. ^^
일부 캐시시스템은 다른 플러그인과 충돌이 날 수 있으므로, 적절한 것을 쓰셔야합니다.
또한 플러그인은 반드시 필요한 것이 아니면 사용하지 않고, 간단한 기능은 PHP 로 테마 functions.php에서 바로 구현합니다.

좋은 생각이나 경험이 있다면 알려주세요~ ^^ 글에 반영하겠습니다.