오픈소스 CRM 소프트웨어

 

영업관리/고객관리 솔루션인 CRM으로는 세일즈포스(Salesforce.com)나 마이크로소프트 CRM이 있습니다. 이를 대체할 오픈소스도 다수 존재하는데 그중 대표적인 오픈소스가 SuiteCRM 입니다.

 

저는 2007년에 미국과 싱가포르를 오가며 세일즈포스를 국내에 처음 도입 하였습니다. 세일즈포스닷컴은 SaaS (Software as a Service) 모델로 서비스하면 빠르게 성장 하였습니다. SuiteCRM은 Saleforce와 유사한 유연성을 제공하기 때문에 Salesfore를 대체하고 있습니다. 국내에서 세일즈포스를 사용하던 기업들 중 일부 중소기업은 고가의 비용 때문에 SuiteCRM으로 갈아타고 있습니다.

한글화와 매뉴얼까지 완비된 SuiteCRM은 구축도 편리하고 기업의 환경에 적합하도록 수정(Customize)도 편리 합니다.

 

 

오비컨

2018.04.19 ~ 2018.04.19, ver 0.01

 

 

고객관리/영업관리 도입

 

고객관리/영업관리 도입

 

기업의 영업대표는 고객관리와 영업관리가 중요한 업무입니다.. 그래서 고객관리에 부합하는 기능과 성능을 갖춘 서비스를 찾아야 합니다. 좋은 고객관리 서비스는 영업활동에 많은 도움을 주지만 서비스를 선택하는 과정은 어려움이 있습니다.

 

고객관리/영업관리는 단순히 기술적인 측면이 아니라 비즈니스 역량을 강화하고 고객의 만족도와 충성도를 이끌어내는 비즈니스 전략의 관점에서 바라봐야 합니다. 해외에서는 고객관리/영업관리를 지원하는 CRM(Customer Ralationship Management, 고객 관계 관리) 서비스를 영업대표의 필수 서비스로 인식하고 있지만 국내에서는 아직 도입 과정에 있습니다. 2007년부터 Salesforce.com이 국내에 들어와서 판매되고 있지만 비싼 가격 때문에 중소기업에서 사용하기에는 부담이 있습니다. 그래서 Saleforce.com을 사용하던 중소기업중에 일부는 SuiteCRM 이라는 가벼운 서비스로 갈아타고 있습니다.

 

기업마다 CRM에 필요한 기능과 목적이 다르기 때문에 CRM을 도입하는 기업은 철저한 도입 계획을 수립하여야 합니다. 고객관리/영업관리의 도입후 이점과 변화되는 업무 프로세스를 평가하여야 합니다. 매출 상승과 비용절감 같은 비즈니스 역량 강화뿐만 아니라 영업 프로세스, 마케팅 프로세스 등 CRM 도입후 조직의 변화도 관리하여야 합니다.

 

중소기업은 많은 비용을 지불하기에 어려움이 있으므로 별도의 개발 없이 구축, 확장, 운영할 수 있는 서비스를 선택하는 것이 좋습니다. 그런점에서 SuiteCRM은 설정과 드래그앤드랍으로 서비스를 구성할 수 있는 모듈을 생성/등록하는 활동만으로 서비스를 확장할 수 있습니다. 이러한 확장성을 통해 기업마다 다른 CRM이 갖추어야 하는 기능을 구현할 수 있습니다.

 

 

 

오비컨

2018.04.09 ~ 2018.04.09, ver 0.01

 

 

SuiteCRM 개요

 

SuiteCRM은 기업 내 발생하는 영업 및 마케팅, 고객관리에 대한 이슈를 자동화 및 고도화 과정을 통해 보다 효율적으로 관리할 수 있는 환경을 구현해주는 CRM 입니다. 국내 실정에 맞도록 설계되어 실무자들이 보다 효율적으로 사용할 수 있도록 최적화 되었으며, 실무와 맞지 않는 프로세스를 오랜 시간 동안 익혀 나가야 하는 제한점을 해결하여, 보다 빠른 적응을 돕습니다. SuiteCRM을 통해 글로벌 표준의 영업프로세스로 영업기회를 체계적으로 관리하고, 효과적인 고객지원 및 고객관리를 통해 영업 및 고객관리 비용을 절감해 보시기 바랍니다. CRM은 “영업 및 마케팅을 보다 가시화시켜 매출을 증대시킬 수 도구” 정도로 생각하면 됩니다.

 

많은 회사에서 비용 절감을 위한 대안으로 오픈소스 제품을 도입 검토 하는 경우가 많습니다. 그러나, 오픈소스 솔루션 도입의 성공을 위해서는 회사와 맞는 커스터마이징이 필수 이므로, 해당 업무를 분석 및 오픈소스를 수정할 수 있는 내부 인력이 필요합니다.  많은 회사에서 이런 부분을 간과하여 오픈소스 제품이 효율적을 운영되고 있지 못한 부분은 안타깝게 생각하고 있습니다. SuiteCRM은 구축형 뿐만 아니라 Cloud에서 운영되는 서비스 형태로 사용이 가능 합니다.

 

SuiteCRM은 성공적인 영업 관리를 위한 플랫폼 입니다. 모든 고객의 비즈니스에 맞게 최적화할 수 있는 기능을 제공 합니다. SuiteCRM으로 마케팅 관리, 영업 관리, 지원 관리를 하십시오. 이를 통해 고객 만족도를 극대화하고 고객 가치를 향상 시킵니다. 기업의 규모와 업종에 관계 없이 영업 관리가 가능하므로 중소기업과 대기업에서도 활발하게 사용하고 있습니다.

  • 고객 관리 : 거래처 관리, 연락처 관리
  • 영업 관리 : 영업기회 관리, 제품 관리, 견적서 관리, 계약 관리, 청구서 관리
  • 마케팅 관리 : 캠페인 관리, 잠재고객(가망고객) 관리
  • 지원 관리 : Knowledge Base 관리, 고객 사례 관리
  • 활동 관리 : 작업, 미팅, 이메일, 문서 등 관리

 

SuiteCRM 특징

  • 효율적인 영업 프로세스 (고객 관리, 영업기회, 활동, 견적, 주문, 계약)를 웹과 모바일을 통해 제공
  • 마케팅 프로세스를 통한 캠페인 실행과 관리, ROI 분석
  • 보고서와 대시보드를 통한 분석으로 선재적 의사 결정 지원
  • 선진화된 사용자, 데이터 권한 관리
    • 사용자, 역할, 비밀번호 관리
    • 보안 그룹 관리, 보안 그룹 구성
  • 고객 지원 프로세스와 Knowledge Base 관리 (인바운드 이메일)
  • 개발이 필요 없는 PaaS (Platform as a Service) 제공
    • 스튜디오, 드롭다운 편집기
    • 모듈제조기, 모듈 로더
  • UTF-8 지원으로 다국어를 지원 한다.
  • 견적을 바로 이메일로 전송이 가능 하다.
  • PDF 변환 기능을 제공 한다.

 

 

운영 프로세스

  • 영업기회 작성은 수동으로 작성 또는 견적을 작성한 후 영업기회로 등록이 가능 합니다.
  • 장애 처리는 엔지니어가 진행하는 장애 처리 및 기술지원을 등록 합니다.
  • 할일은 영업팀, 기술팀이 함께 작성하며 할일 처리 대상자를 지정하여 작성 및 클로징 합니다.

 

영업 프로세스

전통적인 영업순서를 나열을 해보면 “고객사 미팅 방문 > 명함 교환 > 제품 소개 > 제품 견적 > 견적내용 Follow UP > 수주 > 납품 > 리뉴얼” 순서 입니다. 간단하게 적었지만 하나의 고객사만을 대상으로 하는 것이 아니므로 각 고객별 영업관리는 정말 힘이 듭니다. 이런 문제를 보다 체계적으로 해소하기 위해 나온 솔루션이 CRM 입니다.

SuiteCRM을 사용하여 처리하는 과정 입니다.

  • SuiteCRM 서비스에 로그인 합니다.
    • 다국어와 통화를 지원 하므로 국내 본사 뿐만 아니라 해외 지사에서도 사용할 수 있습니다.
  • 대시보드 화면에서 영업/마케팅 모듈 등을 추가/삭제하여 자신과 관련된 업무를 간략하게 볼 수 있습니다.
  • 고객사와 미팅을 한 후에 받은 명함으로 거래처 메뉴에서 신규 거래처로 등록 합니다.
    • 미팅한 담당자 들은 연락처로 등록 합니다.
    • 향후 담당자와 추가로 진행할 미팅, 전화통화, 작업 등의 활동을 등록 합니다. 등록된 활동은 미리 알림이 가능 합니다.
  • 고객 등록 후 실질적인 견적서를 작성 합니다. 이미 등록되어 있는 제품을 견적서에 추가한 후 수량과 DC를 업데이트하면 최종 견적이 작성 됩니다.
    • 작성한 견적서로 영업기회의 생성이 가능 합니다.
    • PDF 견적서 파일을 생성할 수 있습니다.
    • PDF 견적서 파일을 이메일로 직접 발송이 가능 합니다. (SMTP와 IMAP 설정이 가능)
  • 영업기회에서 영업 단계를 관리하여 해당 영업기회의 수주율을 끌어 올립니다.
  • 완료된 영업기회로 계약을 작성 합니다.
    • 계약의 갱신 시점에 리마인드 메일을 보내 주므로 보다 효율적으로 갱신 영업 진행이 가능 합니다.

 

기술지원 프로세스

고객지원 모듈은 담당자 배정, 진행상황, 최종 처리 솔루션 등을 입력 및 업데이트 할 수 있습니다. 장애 처리 담당자가 배정되면 자동으로 해당 담당자 이메일로 장애건이 통보되어 처리 내용을 업데이트 할 수 있도록 유도 합니다. 고객사에서 발생한 영업 정보과 기술지원 정보는 공유 가능하므로 영업사원이 보다 효율적으로 고객 응대가 가능 합니다.

 

유명 오픈소스 제품의 퀄리티는 이미 상용S/W와 비교해도 떨어지지 않으며 오히려 IT 개발의 속도를 높일 수 있는 훌륭한 대안 입니다. 또한 SMB 기업의 IT 경쟁력을 높일수 있는 만큼 많은 기업에서 다양한 오픈 소스를 채택 및 사용을 하고 있습니다. 다만 오픈소스를 명확하게 파악하여 자사에 적용한 컨설팅 인력이 부족한 경우가 많으므로, 이 경우에는 기술력 있는 업체의 지원을 받아 사용하는 것이 좋습니다.

 

[SuiteCRM] 한글팩 적용

영업관리, 고객관리 서비스인 SuiteCRM에 한글팩을 적용 합니다.

 

“Admin > Module Loader” 메뉴를 선택하여 한글팩을 적용 합니다. 이 메뉴에서는 모듈, 테마, 언어팩만 업로드할 수 있습니다.

“찾아보기” 버튼을 선택하여 한글팩 파일(db2langpack_ver_000013.zip)을 선택 합니다. “UPLOAD” 버튼을 선택 합니다. 한글팩의 정보를 확인한 후 “INSTALL” 버튼을 선택 합니다.

  • UPLOAD  : 한글팩을 업로드 합니다.
  • DELETEPACKAGE  : 업로드한 한글팩을 서버에서 삭제 합니다.
  • INSTALL  : 한글팩을 설치 합니다.

 

설치할 파일을 확인 합니다.

  • “Show Details” 링크를 선택하면 설치할 파일의 목록을 볼 수 있습니다. 체크를 하지 않은 파일은 설치되지 않습니다.
  • “Hide Details” 링크를 선택하면 설치할 파일의 목록을 숨깁니다.

“COMMIT” 버튼을 선택 합니다.

한글팩 설치가 완료된 이후에 “BACK TO MODULE LOADER” 버튼을 선택 합니다.

 

설치한 한글팩 모듈을 확인 합니다.

  • UNINSTALL  : 설치한 한글팩을 제거 합니다.
  • DISABLE  : 한글팩을 비활성화 합니다.
  • ENABLE  : 한글팩을 활성화 합니다.

 

한국어 관련 환경 설정을 합니다.

vi  config_override.php

$sugar_config[‘languages’][‘ko_KR’] = ‘Korean (Korea)’;
$sugar_config[‘languages’][‘en_us’] = ‘English (US)’;
$sugar_config[‘default_language’] = ‘ko_KR’;$sugar_config[‘name_formats’][‘lf s’] = ‘lf s’;
$sugar_config[‘name_formats’][‘lf’] = ‘lf’;
$sugar_config[‘default_locale_name_format’] = ‘lf s’;$sugar_config[‘default_date_format’] = ‘Y-m-d’;
$sugar_config[‘default_time_format’] = ‘h:i a’;

$sugar_config[‘default_currency_iso4217’] = ‘KRW’;
$sugar_config[‘default_currency_name’] = ‘Korean Won’;
$sugar_config[‘default_currency_significant_digits’] = 0;
$sugar_config[‘default_currency_symbol’] = ‘₩’;

 

 

[CRM] 고객관리와 영업관리

 

고객관계관리(CRM, Customer Relationship Management)는 2010년도에 국내에서 유행  하였다. 이후 고객만족경영(Customer Satisfaction Management), 고객관리, 영업관리 등 다양한 이름으로 불리고 있으니 그 기저를 이루는 사상은 동일 하다. 시장의 개념이 기업 중심에서 고객 중심으로 넘어감에 따라 CRM은 모든 기업의 기본 철학이자 핵심 전력이 되었다.

 

기업이 가진 다양한 커뮤니케이션 수단을 통해 수집되는 고객의 자발적인 의사 표현을 관리하는 VOC (Voice Of Customer)도 이런 관점에서 중요 하다. VOC를 하기 위해서는 고객과의 다양한 접점에서 다양한 방식으로 고객의 현황과 의사를 수집하는 과정이 필요 하다. SuiteCRM 등의 CRM 서비스는 거래처, 연락처와 이에 따른 다양한 활동 정보를 수집, 저장, 분석을 가능하게 한다. 영업기회, 견적서, 계약서, 청구서 등은 고객의 구매 내역, 구매 주기 등과 매출과 관련된 정보를 제공 한다.

 

성공적인 CRM을 위해서 CRM 서비스의 도입과 사용한 선택이 아닌 필수 이다.

 

 

SuiteCRM에 수식 필드 추가

 

영업관리 서비스인 SuiteCRM은 사용자정의 기능을 사용해서 새로운 모듈(기능)을 추가할 수 있습니다.

예를 들면 자산, 자동차 운행 일지 등을 추가할 수 있습니다. 자동차 운행 일지(OBCon_CarDriving)를 추가한다면 거리(distince)와 단가(unit_price)에 따라 가격(price)이 변동될 수 있습니다. 가격 필드를 수식 필드로 설정하여 자동 계산 되도록 하여 봅시다.

 

가격 필드를 수식 필드로 설정

 

module/OBCon_CarDriving/ 폴더에서 아래와 같이 수정 합니다.

 

controller.php 파일 추가

<?php
class OBCon_CarDrivingController extends SugarController {
//— 데이터 저장시 pre_save(), action_save(), post_save() 함수가 실행 됩니다.
function pre_save() {                                                   //— 데이터 저장전에 실행되는 함수
parent::pre_save();

//— price를 계산 합니다.
$this->bean->price = $this->bean->distince * $this->bean->unit_price;
}
}
?>

 

vardefs.php 파일 수정

$vardefs[‘fields’][‘price’][‘readonly’] = true;

//— 아래 파일을 수정하여도 동일한 효과가 발생 합니다.
vi  custom/Extension/modules/OBCon_CarDriving/Ext/Vardefs/price.readonly.php
$dictionary[‘OBCon_CarDriving’][‘fields’][‘price’][‘readonly’] = true;

 

metadata/editviewdefs.php 파일 수정

$viewdefs [‘OBCon_CarDriving’][‘EditView’][‘templateMeta’][‘includes’] = array(array(‘file’ => ‘modules/OBCon_CarDriving/metadata/editviewdefs.js’),);

 

metadata/editviewdefs.js 파일 추가

function calPrice() {
$(“#price”).val(eval($(“#distince”).val() * $(“#unit_price”).val()));
}

$(function(jQuery) {
$(“#price”).attr(“readonly”, “true”);
$(“#price”).attr(“style”, “background-color: white;”);

$(“#distince”).attr(“onchange”, “javascript: calPrice();”);
$(“#unit_price”).attr(“onchange”, “javascript: calPrice();”);
});

 

필드를 배치하여 편집 화면을 표시하면 아래와 같습니다.

 

 

오비컨
2018.02.13 ~ 2018.02.13, ver 0.01

 

 

SuiteCRM Marketplace

 

Marketplace

SuiteCRM은 사용자정의 기능을 사용하여 기능을 확장할 수 있습니다. 확장한 기능은 패키징하여 배포도 가능 합니다. 다음은 SuiteCRM에서 사용할 수 있는 모듈과 Plugin 입니다. (SuiteCRM 7.8.7은 Sugar CE 6.5.25 버전을 사용 합니다.)

CATEGORY TYPE NAME PRICE DESCRIPTION
Outlook Plugin Official SuiteCRM Outlook Plugin 년간 $50/사용자 Outlook 연동
Google Module RT GSync: Google Apps Integration 년간 $99/사용자
  • Google Contacts Sync
  • Google Calendar Sync
  • GDrive Sync
Mobile Mobile App QuickCRM 년간 $70/사용자 모바일 앱
SMS Module SMS Integration with SuiteCRM $599 문자 메시지
Chat Module SuiteCRM Live Helper Chat Integration 년간 $499 채팅
Tel Module Enjay Mulberry – Asterisk Integration 년간 $100/사용자 Asterisk 연동
ETL Module ETLS – ETL for SuiteCRM 년간 $495 Extract, Transform, Loa
Web2Module Module WebToModule $249 웹페이지에서 입력받은 데이터를 모듈에 저장

참고 사이트

 

SuiteCRM 다운로드

영업관리, 고객관리를 위한 오픈소스 CRM 솔루션인 SuiteCRM을 경험해 보세요. 다운로드 사이트에서 소스를 다운로드 하여 쉽고 구성할 수 있습니다.

 

SuiteCRM 다운로드 사이트

 

 

오비컨
2018.02.10 ~ 2018.02.10, ver 0.01

 

 

CRM (영업관리, 고객관리)

CRM (영업관리, 고객관리)

거래처, 연락처, 가망고객, 영업기회 등 고객 정보와 영업 정보를 통합 관리 합니다. 영업관리는 중소기업에서 필수적인 비즈니스 서비스 입니다.

영업자동화

SuiteCRM을 사용하여 영업자동화를 구현할 수 있습니다. 고객과 영업 정보를 통합 관리하므로서 영업 프로세스를 간소화하고 가속화 합니다. 영업 활동을 연락처, 영업기회에서 관리하며 영업 History 관리와 예측이 가능 합니다.

마케팅 단계에서 발굴한 가망고객을 평가한 후 영업대표에서 전달 합니다. 영업기회의 할동을 추적 관리하고 비즈니스 진행 현황을 파악 합니다. SuiteCRM을 사용하여 고객과의 지속적인 관계를 관리 합니다. 관계에는 활동(미팅, 이메일, 통화, 작업)과 더불어 영업기회, 견적, 계약, 청구, 기술지원 등 고객과 관계된 모든 정보가 포함 됩니다. 영업대표는 고객과의 관계에서 발생한 모든 정보를 바탕으로 확신을 가지고 고객과 대화를 진행할 수 있습니다.

SuiteCRM을 사용하여 영업 주기를 단축 하세요.

마케팅 활동

연락처, 가망고객, 대상 등을 필터링하여 마케팅에 적합한 잠재 고객을 발굴 합니다. 다양한 형태의 마케팅 계획을 수립하고 집행 합니다. 마케팅을 통해 발굴한 가망고객을 수집하고 성과를 추적 합니다. 가망고객 평가를 통해 고객의 현황을 파악하고 영업 가능성을 향상 시킵니다.

고객의 규모에 상관없이 신규 고객을 발굴하고 기존 고객과의 관계를 강화하는데 SuiteCRM을 활용 합니다. 고객과의 상호작용을 관리하고 영업 프로세스를 간소화 합니다. 이를 통해 영업대표에게 비즈니스 통찰력을 제고 합니다. 통합된 고객 정보로 직원간의 협업이 손쉽게 이루어 집니다.

영업 프로세스

영업자동화를 통해서 일상적이며 시간을 많이 필요로 하는 업무를 자동화 합니다. 영업대표는 절감된 시간으로 영업 활동에 더욱더 집중 합니다.

알림, 이메일 템플릿 등을 사용하여 고객에게 자동화된 이메일을 발송 합니다. 계약 기간 만료시 영업대표에게 미리 알려주어 새로운 영업기회의 발굴을 지원 합니다.

영업대표는 영업 파이프라인을 관리하고 보고서, 대시보드를 통해 영업 현황을 한눙에 파악할 수 있습니다.

협업 관리

SuiteCRM은 고객, 영업과 관련된 정보를 통합 관리 합니다. 영업대표뿐만 아니라 모든 직원이 동일한 고객 정보를 활용 합니다. 따라서 기술지원 부서에서 발생한 활동을 실시간으로 영업대표가 확인할 수 있습니다.

전체 직원이 담당 업무에 관계 없이 최신의 고객 정보를 활용 합니다. 영업 파이프라인, 거래 현황, 기술지원 현황을 통합 관리 하세요.

고객 업무 사용자정의

사업 범위와 형태가 다양한 기업이 동일한 CRM 서비스를 사용할 수는 없습니다. SuiteCRM은 다양한 기업에 최적화되도록 커스터마이징이 가능 합니다. 설정 그리고 드래그앤드랍을 사용하여 SuiteCRM을 사용자정의하여 기업에 맞도록 사용 하세요.

SuiteCRM은 별도의 코딩없이 확장이 가능 합니다. 코딩을 통해서 확장도 가능하지만 이경우에도 기존 코드를 수정하지 않기 때문에 안전하게 자동 업그레이드가 가능 합니다.

  • 설정
    • 시스템
    • 로케일, 통화, 언어, 테마
    • 이메일
  • 사용자 정의
    • 스튜디오, 모듈 제조기, 드롭다운 편집기
    • 모듈 이름 변경, 메뉴 구성, 모듈과 하위 패널 표시
  • 코딩
    • 모듈 로더 : 모듈, 언어팩, 테마, 패치
    • 마켓플레이스 : 3th Party에서 작성한 모듈 사용
    • 업그레이드 마법사

CRM의 종류

  • 구축형
    • 사내 구축형 : CRM을 사내에 구축 합니다.
    • Cloud 구축형 : 기업의 CRM을 Cloud에 구축 합니다.
      사내 구축형과 Cloud형의 장점을 가집니다.
  • Cloud형 : 클라우드를 통해 서비스를 받습니다.

영업관리(CRM)의 필요성

해외의 경우, 기업의 규모에 상관없이 영업관리 솔루션은 필수적으로 사용 합니다. 영업자동화를 통해 영업 효율을 개선하는 요구외에 아래에 해당하는 경우에 영업관리 서비스의 도입을 검토하여야 합니다.

  • 고객과 영업 정보가 영업대표별로 분산되어 있어 통합 관리가 되지 않습니다.
  • 고객과 영업 정보를 확인하는데 많은 시간이 소요되어 신속한 의사결정을 할 수 없습니다.
  • 팀간의 긴밀한 협업이 이루어지지 않습니다.
  • 거래 정보가 통합 관리되지 않아 누락되는 거래가 발생 합니다.
  • 기업이 빠르게 성장하고 있지만 업무 시스템의 준비가 부족 합니다.
  • 회사가 유지보수 요청을 처리하느라 다른 일을 할 수 없습니다.
  • 간단한 업무 시스템을 도입하고 싶으나 여력이 되지 않습니다.

Why SuiteCRM

SuiteCRM은 영업사원의 고객 유지, 강화 활동을 통해서 성공적인 매출 달성을 지원 합니다.

새로운 영업 관리 프로세스를 경험해 보세요.

노트북과 핸드폰을 사용하여 즉시 고객 정보를 확인할 수 있습니다. SuiteCRM은 고객 관리와 영업 관리를 위한 핵심 프로세스를 제공 합니다. 고객 데이터와 영업 활동 데이터를 관리하며 보고서, 대시보드 등을 통해 인사이트와 트랜드를 확인할 수 있습니다. 신규 고객 확보, 기존 고객 유지, 고객 관계 강화를 지원 합니다.

SuiteCRM은 2015년에 이어 2016년에도 “InfoWorld BOSSIE 2016 Awards“에 선정된 고객 관리 솔루션 입니다. 고객 관리에 혁신과 다양한 확장성을 제공 합니다.

개인화된 마케팅을 할 수 있으며 영업의 생산성을 향상 시킵니다. SuiteCRM은 고객에 대한 전방위적인 시각을 제공 합니다.

페이지 로딩 속도 측정

 

여러 사이트를 운영하다보면 웹페이지의 로딩 속도를 개선하기 위해서 여러가지 노력을 합니다. 보통은 여러가지 도구를 사용하여 각 구간별로 병목 현상을 발생시키는 부분을 찾아 개선해 가는데 도구로도 부족한 부분이 있는 경우 별도의 코드를 작성하여 시간을 측정 합니다.

저는 주로 Java를 사용하였기 때문에 속도 측정을 위해 JavaScript와 Java 코드를 작성하여 사용하고 있습니다. 이번에 SuiteCRM(영업관리, 고객관리,CRM)과 WordPress(홈페이지, 블로그)의 속도를 개선하기 위해서 PHP용 코드도 작성을 하였습니다.

성능 측정 도구

웹페이지 성능 측정을 위해 아래 도구를 사용할 수 있습니다.

 

PHP 속도 측정용 코드

아래 코드를 사용하면 구간을 세밀하게 나누어 속도를 측정할 수 있습니다. 측정 단위는 ms (1/1000초) 단위 입니다.

 

class TimeCheck {

private $timecheck;

final function TimeCheck() {
$this->timecheck = $this->getTime();
}

private function getTime() {
$now = microtime();
$now = explode(‘ ‘, $now);
$now = $now[1] + $now[0];
return $now;
}

public function setTime() {
$timecheck = $this->getTime();
}

public function getDuration() {
return 1000.0 * ($this->getTime() – $this->timecheck);
}

public function getDurationString() {
return strval($this->getDuration());
}
}

 

//— 측정 시작 시간 저장

$objTimeCheck = new TimeCheck();

 

//— 소요 시간 출력 (화면에 숨겨서 표시), 일반적으로 로그에 표시하는 것이 좋습니다.

echo “<!– “.strval($objTimeCheck->getDuration()).” –>”;

 

 

시험삼아 워드프레스의 Plugin을 활성화/비활성화를 한 경우 홈페이지 로딩 속도를 측정해 보았습니다.
각자 운영중인 환경이 다르므로 저와는 다른 결과가 나오겠지만 참고로 보십시오. 저는 Enfold Theme를 사용하고 있는데 페이지 로딩 속도가 0.7초라고 하면 조금 느려지더라도 체감상 큰 차이는 없습니다.

  • Wordfence Security : 보안 플러그인
    • 활성화를 하면 약 15% 속도가 느려 집니다.
  • Yoast SEO : 검색엔진최적화 (Search Engine Optimize) 플러그인
    • 활성화를 하면 약25% 속도가 느려 집니다.

 

오비컨
2018.01.31 ~ 2018.01.31, ver 0.01