Posts

초보자를 위한 마젠토의 속도를 높이는 3가지 방법

지금까지 수많은 클라이언트들을 만나고 이야기 해봤는데, 저의 경험상 마젠토 사이트를 운영하시는 분들이 가지고 있는 공통적인 문제는 바로 사이트의 페이지 로딩 속도 였습니다.
좋은 호스팅을 가지고 계신분들이 아닌이상 저렴한 호스팅에서는 속도가 항상 관건입니다.
마젠토의 장점중 하나인 확장성(Scalability)과 널려있는 3rd party 모듈들은 운영자로 하여금 여러가지를 다른 시도를 해볼수 있도록 하는데, 이것은 모듈/익스텐션 설치로 이어지고, 곧 더 많은 프로세스 요구를 의미합니다.
그리고 방문자의 증가도 속도 저하에 한몫 하게됩니다.
금전적인 여유가 있어서 호스팅을 업그레이드 할수 있으면 다행인데 그렇지 않은 분들은 속도를 높이기 위해 어떻게든 불필요한 요소를 제거해야 하거나, 복잡한 단계를 거쳐 서버 최적화를 해야 합니다.
대부분의 최적화 방법들은 개발자나 서버관련 전문가가 아닌 보통 사람들이 쉽게 다가가기 힘든 방법들이라서 이번 포스팅에는 마젠토에 대해 잘 모르는 초보자도 손쉽게 할수 있는 방법 3가지를 소개할까 합니다.
단지 필요한건 마젠토 관리자모드로 로그인만 할수 있으면 되구요, 이 3가지 방법만으로도 어느정도 효과를 볼수 있습니다.

1. 모든 CSS와 자바스크립트 합치기 (JavaScript & CSS Files Merge)

모든 CSS와 자바스크립트 합치기 (JavaScript & CSS Files Merge)

모든 CSS와 자바스크립트 합치기 (JavaScript & CSS Files Merge)

마젠토의 관리자 모드에서 System > Configuration > Advanced > Developer 로 가시면 제일 아래부분에 JavaScript Settings 와 CSS Settings 가 있습니다.
이 두가지를 “Yes”로 설정하시면 됩니다.
이것은 여러군데에 흩어져있는 JavaScript 와 CSS 파일들을 하나로 합치는 역할을 합니다.
페이지 로딩시, 해당 페이지에 필요한 파일들을 불러오느라 각각의 파일에 대한 request를 서버에 보내게 되는데, 결과적으로 JavaScript와 CSS가 여러개의 파일로 나뉘어져 있으면 파일의 갯수만큼 request를 보내게 되고 또 그만큼의 response를 받게 됩니다.
템플렛이 어떻게 만들어 졌느냐에 따라 다르지만, 이때 소요되는 시간이 상당히 길어질수 있으므로 하나로 뭉쳐진 JavaScript와 CSS 파일은 로딩속도를 높이는데 좋은 역할을 하게됩니다.

2. 컴파일 (Compilation)

컴파일 (Compilation)

컴파일 (Compilation)

마젠토의 관리자 모드에서 System > Tools > Compilation 으로 가셔서 “Run Compilation Process”를 클릭하시면 됩니다.
이것은 위의 JavaScript 와 CSS 파일들을 하나로 합치는것과 비슷한 원리인데, JS & CSS 파일을 합치는것이 페이지의 Frontend 에 해당될때, 컴파일은 마젠토 Backend 의 코어 php 파일들을 하나로 뭉치는 역할을 합니다.
마젠토의 코어는 상당히 방대하고 수많은 파일들로 이루어져 있구요, Varien과 Zend의 모델의 수도 꽤 많습니다.
이 많은 양의 php파일들을 컴파일하게 되면 페이지 로딩시 상당한 속도향상을 느낄수 있습니다.

3. 캐쉬 관리 (Cache Storage Management)

캐쉬 관리 (Cache Storage Management)

캐쉬 관리 (Cache Storage Management)

마지막으로 캐쉬관리는 아마도 마젠토를 경험해 보신 분들이라면 누구나 알고 있을거라 짐작됩니다.
마젠토의 관리자 모드에서 System > Cache Management 로 가셔서 모든 항목을 선택한후 Refresh 한후에 Enable로 돌려놓으면 됩니다.
캐쉬를 Enable로 설정해 놓은후 방문자가 페이지를 처음으로 방문했을때 해당 페이지 내용을 서버에 저장해 놓았다가 다른 방문자가 같은 페이지를 방문했을때 저장되어있는 내용을 보여줌으로써 로딩 속도향상에 도움을 주게됩니다.

위의 방법들은 개발자가 아니거나 프로그래밍에 대한 지식이 없어도 누구나 쉽게 마우스 클릭으로 설정할수 있는 부분이므로 세가지 모두 사이트에 적용하는것을 추천합니다.
만약 사이트를 변경하게 되거나 작업을 하게될 경우 위의 세가지 항목을 모두 설정 해제하셔야 변경사항이 사이트에 반영됩니다.
작업이 끝나면 다시 세가지 항목을 설정해 놓으므로써 사이트의 속도를 높일수 있습니다.

마젠토의 관리자 페이지 URL 변경방법

기본적으로 마젠토의 관리자 페이지의 주소는 http://magentoUrl/admin 입니다.
원하던 원하지 않던 저는 마젠토 관리자분들께 이 주소를 바꾸라고 권해드립니다.
간혹 있을수 있는 해커나 비정상적인 로그인을 막기위함인데요, 보안을 위해서라도 바꾸는것이 좋습니다.

일단 /app/etc/local.xml 을 열어보면 아래와 비슷한 내용이 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<config>
    <global>
        <install>
            <date><![CDATA[Fri, 18 JUL 2014 00:00:00 +0000]]></date>
        </install>
        <crypt>
            <key><![CDATA[13807911e43fc61ceca5b939dda54b98]]></key>
        </crypt>
        <disable_local_modules>false</disable_local_modules>
        <resources>
            <db>
                <table_prefix><![CDATA[]]></table_prefix>
            </db>
            <default_setup>
                <connection>
                    <host><![CDATA[localhost]]></host>
                    <username><![CDATA[my_username]]></username>
                    <password><![CDATA[my_password]]></password>
                    <dbname><![CDATA[my_dbname]]></dbname>
                    <initStatements><![CDATA[SET NAMES utf8]]></initStatements>
                    <model><![CDATA[mysql4]]></model>
                    <type><![CDATA[pdo_mysql]]></type>
                    <pdoType><![CDATA[]]></pdoType>
                    <active>1</active>
                </connection>
            </default_setup>
        </resources>
        <session_save><![CDATA[db]]></session_save>
    </global>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <frontName><![CDATA[admin]]></frontName>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

관리자 페이지의 주소를 바꾸기 위해서는 34번째 줄에있는

1
<frontName><![CDATA[admin]]></frontName>

에서 “admin”을 다른 경로로 바꿔주면 됩니다.
예를들어

1
<frontName><![CDATA[mybackend]]></frontName>

로 바꿨다면 관리자 페이지의 주소는 http://magentoUrl/mybackend 로 바뀌게 됩니다.

물론 캐쉬를 모두 삭제하는것을 잊지 마세요.
관리자 페이지에서 캐쉬를 refresh할수도 있는데 관리자 페이지 url를 바꾼 직후라면 간혹 문제가 생길수도 있습니다.
그럴땐 SSH command를 사용해서 직접 삭제하시면 됩니다.
SSH를 사용해 마젠토가 설치된 root 폴더를 찾아가서 아래의 삭제 명령을 입력하면 됩니다.

1
rm -rf var/cache/*

위와같이 변경하셨다면 원래 관리자 페이지인 http://magentoUrl/admin 을 방문하면 404 에러 메세지 페이지가 뜨구요, http://magentoUrl/mybackend 를 방문하면 관리자 페이지가 제대로 나오게 됩니다.