Redis 소개: WordPress 성능 및 확장성 향상

게시 됨: 2023-07-19

WordPress 사이트의 성능과 확장성을 강화하고 싶습니까? 캐싱 환경을 혁신하는 고급 키-값 데이터베이스 서버인 Redis를 만나보십시오. 초고속 성능과 타의 추종을 불허하는 확장성을 갖춘 Redis는 읽기, 쓰기 또는 사용자 로드 요구 사항이 많은 애플리케이션에 이상적인 솔루션입니다.

이 기사에서는 Redis의 세계를 탐구하고 WordPress에서 Redis를 구성하는 방법을 보여줍니다. 이미지 및 스타일시트와 같은 정적 콘텐츠를 위한 소규모 캐시 또는 완전한 캐싱 백엔드 솔루션을 찾고 있다면 Redis가 도와드립니다.

사용 사례 시나리오

귀하가 WordPress에 구축된 온라인 뉴스 포털의 소유자라고 상상해 보십시오. 귀하의 웹사이트는 매일 수십만 명의 방문자를 확보하고 중요한 이벤트나 뉴스 속보가 발생하는 동안 트래픽이 급증합니다. 결과적으로 데이터베이스 서버의 과부하로 인해 웹 사이트에서 페이지 로드 시간이 느려집니다. 이 문제는 방문자를 좌절시킬 뿐만 아니라 페이지 로드 속도가 SEO의 중요한 요소이기 때문에 SEO 순위에 부정적인 영향을 미칩니다.

웹 사이트의 성능과 확장성을 강화하기 위해 고급 키-값 데이터베이스 서버인 Redis를 구현하기로 결정했습니다.

레디스란?

레디스 다이어그램
레디스 다이어그램

Redis는 동일한 데이터베이스에서 데이터를 저장하고 검색하는 데 사용할 수 있는 오픈 소스 도구이므로 별도의 데이터베이스가 필요하지 않습니다. 또한 시장에서 가장 인기 있는 캐싱 솔루션 중 하나로 간주됩니다. Redis는 모든 운영 체제에서 실행되고 필요한 경우 기능을 확장하거나 사용자 지정할 수 있는 Lua라는 프로그래밍 언어를 사용합니다.

Redis 작동 방식

Redis는 데이터베이스, 캐시 및 메시지 브로커 역할을 하는 오픈 소스 메모리 내 데이터 구조 저장소입니다. 고성능, 단순성 및 다용도성을 위해 설계되어 많은 응용 분야에서 인기 있는 선택입니다.

메모리 내 데이터 스토리지

Redis는 주로 메모리에 데이터를 저장하므로 매우 빠른 읽기 및 쓰기 작업이 가능합니다. Redis는 데이터를 메모리에 보관함으로써 디스크 I/O 작업을 피하므로 응답성이 뛰어납니다.

키-값 데이터 모델

Redis는 각 데이터 조각이 고유한 키와 연결되는 키-값 데이터 모델을 따릅니다. 이를 통해 관련 키에 직접 액세스하여 데이터를 빠르게 검색할 수 있습니다.

데이터 지속성

Redis는 메모리 내 데이터 저장소이지만 데이터 지속성을 위한 옵션을 제공합니다. 주기적으로 데이터 세트를 스냅샷으로 디스크에 저장하는 스냅샷을 지원합니다. Redis는 또한 모든 쓰기 작업을 기록하는 AOF(추가 전용 파일) 로깅 메커니즘을 제공하여 시스템 장애 시 데이터 복구를 허용합니다.

데이터 구조

Redis는 문자열, 목록, 세트, ​​정렬된 세트, 해시 등과 같은 풍부한 데이터 구조 세트를 제공합니다. 이러한 데이터 구조를 통해 다양한 유형의 데이터를 효과적으로 저장하고 조작할 수 있습니다.

명령 및 작업

Redis는 지원되는 데이터 구조에서 작업을 수행하기 위한 광범위한 명령을 제공합니다. 이러한 명령을 사용하면 데이터를 저장, 검색, 업데이트 및 삭제할 수 있을 뿐만 아니라 다양한 계산 및 변환을 수행할 수 있습니다.

발행/구독 메시징 시스템

Redis에는 게시/구독 메시징 시스템이 포함되어 있습니다. 클라이언트는 특정 채널을 구독하고 게시자가 해당 채널에 메시지를 보낼 때마다 메시지를 받을 수 있습니다. 이 기능은 실시간 통신 및 이벤트 기반 아키텍처를 가능하게 합니다.

복제 및 클러스터링

Redis는 복제를 지원하므로 Redis 인스턴스의 여러 복사본(복제본)을 만들 수 있습니다. 복제는 고가용성과 내결함성을 제공합니다. Redis는 또한 여러 Redis 노드에 데이터를 분산할 수 있는 클러스터링을 제공하여 수평적 확장성과 향상된 성능을 제공합니다.

클라이언트 라이브러리 및 언어 지원

Redis는 다양한 프로그래밍 언어에 대한 클라이언트 라이브러리를 제공하므로 Redis를 애플리케이션에 쉽게 통합할 수 있습니다. 이러한 라이브러리는 Redis와 상호 작용하고 해당 기능을 활용할 수 있는 편리한 API를 제공합니다.

캐싱 및 성능 최적화

Redis는 종종 애플리케이션의 성능을 향상시키기 위해 캐시로 사용됩니다. Redis에서 자주 액세스하는 데이터를 캐싱함으로써 애플리케이션은 데이터베이스와 같은 기본 데이터 소스의 로드를 줄일 수 있습니다. 이 캐싱 메커니즘은 응답 시간과 전체 시스템 성능을 크게 향상시킵니다.

워드프레스 작동 방식

WordPress는 웹 사이트 생성 및 관리를 단순화하는 인기 있는 콘텐츠 관리 시스템(CMS)입니다. WordPress를 사용하려면 웹 서버에 설치하고, 데이터베이스를 설정하고, 관리자 대시보드에 액세스하여 사이트를 사용자 지정합니다.

다양한 테마 중에서 선택하여 디자인을 제어하고 추가 기능을 위한 플러그인을 설치할 수 있습니다. WordPress는 게시물 및 페이지와 같은 다양한 콘텐츠 유형을 지원합니다. 업데이트 및 백업을 포함한 정기적인 유지 관리는 최적의 성능과 보안을 보장합니다.

WordPress로 Redis를 설정하는 이유

Redis와 WordPress: 승리하는 팀
Redis와 WordPress: 성공적인 조합

WordPress로 Redis를 설정하면 웹 사이트의 성능과 확장성에 몇 가지 이점이 있습니다. Redis를 WordPress와 함께 사용해야 하는 이유는 다음과 같습니다.

향상된 성능

Redis를 캐시로 사용하면 데이터베이스 쿼리, 렌더링된 HTML, 개체 데이터와 같이 자주 액세스되는 데이터를 메모리에 저장할 수 있습니다. 이렇게 하면 데이터베이스에서 데이터를 검색하거나 비용이 많이 드는 작업을 실행할 필요성이 줄어들어 페이지 로드 시간이 빨라지고 전체 사이트 성능이 향상됩니다.

데이터베이스 로드 감소

WordPress는 콘텐츠, 설정 및 기타 정보를 검색하기 위해 데이터베이스 쿼리에 크게 의존합니다. Redis에서 데이터베이스 쿼리를 캐싱하면 동일한 데이터에 대한 후속 요청을 메모리에서 직접 제공하여 데이터베이스 서버의 부하를 줄일 수 있습니다. 이는 트래픽이 많은 웹 사이트나 리소스가 제한된 데이터베이스 서버가 있는 웹 사이트에 특히 유용할 수 있습니다.

향상된 확장성

Redis는 WordPress 사이트의 확장성을 개선하는 데 도움이 될 수 있습니다. 데이터베이스 서버에서 Redis로 일부 로드를 오프로드하면 성능 저하 없이 더 많은 동시 사용자와 트래픽을 처리할 수 있습니다. 이는 단일 데이터베이스 서버가 병목 상태가 될 수 있는 시나리오에서 특히 유용합니다.

개체 캐싱

Redis는 WordPress에서 개체 캐시로 사용할 수 있으므로 자주 액세스하는 PHP 개체 및 데이터를 메모리에 저장할 수 있습니다. 이렇게 하면 복잡한 쿼리, 비용이 많이 드는 계산 및 비용이 많이 드는 함수 호출의 실행 속도를 높여 사이트의 응답성을 높일 수 있습니다.

전체 페이지 캐싱

Redis는 WordPress의 전체 페이지 캐싱에도 사용할 수 있습니다. 모든 요청에서 각 페이지를 동적으로 생성하는 대신 Redis는 사용자에게 직접 제공할 수 있는 렌더링된 HTML 페이지를 저장할 수 있습니다. 이는 서버 부하를 크게 줄이고 정적 콘텐츠에 대한 응답 시간을 향상시킵니다.

요약하면 WordPress로 Redis를 설정하면 성능 향상, 데이터베이스 로드 감소, 확장성 향상 및 캐싱 기능이 제공됩니다. Redis의 메모리 내 스토리지와 빠른 작업을 활용하여 WordPress 사이트의 속도를 최적화하고, 더 많은 트래픽 볼륨을 처리하고, 더 응답성이 뛰어난 사용자 경험을 제공할 수 있습니다.

CyberPanel에 PHP Redis Cache 설치

클라우드 호스팅을 위한 간단하고 빠른 오픈 소스 제어판인 CyberPanel을 사용하는 경우 PHP Redis Cache 데몬을 쉽게 설치할 수 있습니다. 아직 서버에 CyperPanel이 설치되어 있지 않습니까? 서버에 CyberPanel을 쉽게 설치할 수 있습니다. 방법을 보려면 여기를 클릭하십시오.

PHP 사이트에서 Redis를 사용하기 전에 CyberPanel에서 사이트를 생성해야 합니다. 또한 나중에 이 버전을 사용하여 Redis PHP Cache 확장을 설치하기 때문에 사이트를 생성하는 동안 선택한 PHP 버전을 기록해 두어야 합니다.

새 웹사이트 만들기

CyberPanel에서 웹 사이트를 만드는 것은 매우 간단하여 누구나 할 수 있습니다. 웹사이트를 만드는 절차는 단 4단계입니다.

CyberPanel 대시보드에 로그인

Redis CyberPanel 대시보드

왼쪽 메뉴에서 웹사이트 -> 웹사이트 만들기를 클릭합니다.

REdis CyberPanel 개요

모든 관련 정보를 입력하고 여기에 입력하는 PHP를 기록해 두십시오 .

Redis 설정 웹사이트 세부정보

"웹사이트 만들기"를 클릭합니다.

Redis 설정 사이트 세부정보

CyberPanel에 PHP Redis Cache 설치

CyberPanel에 Redis를 설치하는 것은 매우 쉽고 몇 단계만 거치면 됩니다. 그럼 그것들을 살펴봅시다.

CyberPanel 대시보드에 로그인

CyberPanel 대시보드

왼쪽 메뉴에서 "서비스 관리" -> "응용 프로그램"을 클릭합니다.

Redis 관리 사이드바

"Redis" 앞의 "설치"를 클릭합니다.

Redis 설치 메뉴

Redis PHP 확장 설치

Redis로 PHP 프로그래밍을 하기 전에 위에서 방금 설치한 Redis 데몬과 통신할 Redis PHP Extension을 설치해야 합니다.

Bitvise를 사용하여 SSH에 로그인하고 명령 프롬프트를 엽니다.

Bitvise 설정 패널

다음 명령을 입력 하고 웹 사이트를 만들 때 선택한 lsphp 뒤에 php를 입력하십시오.

 apt-get install lsphp74-redis -y
설치 코드 1

이제 확장 구성을 읽을 수 있도록 PHP를 다시 시작하는 명령을 입력 해야 합니다.

 killall lsphp
킬올 lsphp

CyberPanel을 사용하여 사이트의 파일 관리자로 이동합니다.

CyberPanel용 파일 관리자

public_html에 "redis.php" 파일 생성

레디스 PHP 생성

새 파일의 코드 미러를 엽니다. 다음 코드를 입력하고 저장을 클릭합니다 .

 <?Php //Connecting to Redis server on localhost $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server successfully"; //store data in the Redis list $redis->lpush("tutorial-list", "Redis"); $redis->lpush("tutorial-list", "MongoDB"); $redis->lpush("tutorial-list", "Mysql"); // Get the stored data and print it $arList = $redis->lrange("tutorial-list", 0 ,5); echo "Stored string in redis:: "; print_r($arList); ?>
레디스 PHP 파일

브라우저에서 PHP 파일을 열면 코드가 Redis 데몬과 통신하는 것을 볼 수 있습니다.

성공적인 커뮤니케이션

SSH를 열고 명령 프롬프트를 입력하고 명령을 입력하십시오.

 Redis-CLI monitor
Redis-CLI 모니터

데이터가 표시됩니다. 브라우저에서도 다시 확인할 수 있습니다.

설치 후 기대 사항

Redis를 구현한 후 웹 사이트 성능이 크게 향상되었음을 알 수 있습니다. 페이지 로드 시간이 빨라지고 데이터베이스 서버의 로드가 크게 줄어듭니다. 결과적으로 귀하의 웹사이트는 이제 성능 저하 없이 더 많은 동시 사용자와 트래픽을 처리해야 합니다.

방문자는 향상된 속도와 반응성으로 자연스럽게 만족할 것이며 페이지 로드 시간이 빨라져 SEO 순위가 높아질 것입니다. Redis는 WordPress 사이트의 성능과 확장성을 효과적으로 강화할 것입니다.

실제 데이터 가능성

다음은 GTmetrix와 같은 도구에서 보고한 대로 성능 통계에서 볼 수 있는 몇 가지 현실적인 개선 사항입니다.

페이지 로드 시간

Redis 캐싱 데이터베이스 쿼리, 렌더링된 HTML 및 PHP 개체를 사용하면 페이지 로드 시간이 감소할 수 있습니다. 페이지 로드 시간이 원래 5초인 경우 잘 구현된 Redis 설정은 웹 페이지의 복잡성과 크기에 따라 이를 약 2초 이하로 줄일 수 있습니다.

총 페이지 크기

Redis 자체는 전체 페이지 크기에 직접적인 영향을 미치지 않을 수 있습니다. 데이터 크기를 줄이는 것보다 데이터에 얼마나 빨리 액세스할 수 있는지가 더 중요하기 때문입니다. 그러나 더 빠른 데이터 액세스는 더 효율적인 데이터 처리 및 로드를 가능하게 하여 페이지 크기를 간접적으로 최적화할 수 있습니다. 예를 들어 적절한 개체 캐싱 설정이 있는 경우 재방문자를 위해 사이트의 일부를 전혀 로드할 필요가 없을 수 있습니다.

요청

특히 재방문자의 경우 서버에 대한 요청 수가 감소할 수 있습니다. 각 방문자에 대해 데이터베이스에 수많은 요청을 하는 대신 캐시된 데이터를 Redis에서 직접 제공할 수 있습니다. 이렇게 하면 요청 수를 크게 줄일 수 있습니다.

YSlow 점수 및 PageSpeed ​​점수

로드 시간과 요청 수를 줄임으로써 Redis는 YSlow 및 PageSpeed ​​점수를 개선하는 데 도움을 줄 수 있습니다. 원래 YSlow 점수가 70%인 경우 잘 구현된 Redis 설정으로 이를 약 80-90%로 향상시킬 수 있습니다. 마찬가지로 원래 PageSpeed ​​점수가 약 70%인 경우 Redis를 구현한 후 이 점수가 약 85~90%로 증가하는 것을 볼 수 있습니다.

이것은 추정치일 뿐이며 실제 결과는 원래 사이트 성능, 서버 사양, 사이트의 복잡성, 사이트의 트래픽, Redis가 얼마나 잘 구현 및 구성되었는지와 같은 다양한 요인에 따라 달라질 수 있습니다.

결론

결론적으로 WordPress에서 Redis를 구성하면 웹 사이트의 성능과 확장성을 크게 향상시킬 수 있습니다. Redis를 캐시로 사용하면 자주 액세스하는 데이터를 메모리에 저장할 수 있으므로 데이터베이스에서 데이터를 검색할 필요성이 줄어들고 페이지 로드 시간이 빨라집니다. Redis는 데이터베이스 쿼리, PHP 개체 및 전체 렌더링된 HTML 페이지를 캐시하여 데이터베이스 서버의 로드를 줄이고 전체 사이트 응답성을 향상할 수 있습니다.

이 자습서의 다음 단계를 따르면 WordPress에서 Redis를 성공적으로 구성하고 Redis의 기능을 활용하여 웹 사이트의 속도, 확장성 및 응답성을 개선할 수 있습니다. Redis 캐싱을 통해 더 빠른 페이지 로드와 서버 리소스의 보다 효율적인 사용이라는 이점을 누리십시오.

자주하는 질문

Redis는 무엇이며 어떻게 WordPress 성능과 확장성을 향상합니까?

Redis는 데이터베이스, 캐시 및 메시지 브로커로 작동할 수 있는 오픈 소스 인 메모리 데이터 구조 저장소입니다. Redis를 WordPress 사이트의 캐시로 사용하면 데이터베이스 쿼리, 렌더링된 HTML, 개체 데이터와 같이 자주 액세스하는 데이터를 메모리에 저장할 수 있습니다. 이렇게 하면 데이터베이스에서 데이터를 검색할 필요성이 줄어들어 페이지 로드 시간이 빨라지고 사이트 성능이 향상됩니다. 또한 일부 데이터베이스 서버 로드를 Redis로 오프로드하면 WordPress 사이트에서 더 많은 동시 사용자와 트래픽을 처리하여 확장성을 높일 수 있습니다.

Redis는 WordPress와 어떻게 작동합니까?

Redis는 자주 액세스하는 데이터를 메모리 내 데이터 저장소에 저장하여 WordPress와 함께 작동합니다. 이 데이터에는 데이터베이스 쿼리, PHP 개체 및 렌더링된 HTML 페이지가 포함됩니다. 사용자가 페이지를 요청할 때마다 데이터베이스를 쿼리하거나 페이지를 동적으로 렌더링하는 대신 시스템은 Redis에서 캐시된 데이터를 검색합니다. 이렇게 하면 데이터베이스 서버의 로드가 크게 줄어들고 페이지 로드 시간이 빨라집니다.

내 WordPress 사이트에서 Redis를 설정하려면 어떻게 해야 합니까?

WordPress로 Redis를 설정하려면 서버에 Redis 데몬 설치(CyberPanel과 같은 호스팅 제어판을 사용하여 쉽게 수행할 수 있음), CyberPanel에서 새 웹사이트 생성, 선택한 PHP용 Redis PHP 캐시 확장 설치 등 여러 단계가 필요합니다. SSH를 사용하여 버전을 만든 다음 Redis 서버에 연결하도록 WordPress 사이트를 구성합니다.

Redis를 WordPress와 함께 사용하면 어떤 이점이 있습니까?

Redis는 WordPress와 함께 사용할 때 다음과 같은 몇 가지 이점을 제공합니다.

  • 향상된 성능 : 자주 액세스하는 데이터를 캐시하여 데이터베이스에서 검색할 필요성을 줄여 페이지 로드 시간을 단축합니다.
  • 데이터베이스 로드 감소 : 데이터베이스 쿼리를 캐싱하면 데이터베이스 서버의 로드가 줄어들어 트래픽이 많은 웹사이트에 특히 유용할 수 있습니다.
  • 향상된 확장성 : 성능 저하 없이 더 많은 동시 사용자 및 트래픽을 처리하여 WordPress 사이트의 확장성을 향상시킵니다.
  • 캐싱 기능 : WordPress의 개체 캐싱 및 전체 페이지 캐싱에 사용할 수 있으므로 복잡한 쿼리 실행 속도와 정적 콘텐츠 전달 속도를 높일 수 있습니다.

Redis를 WordPress와 함께 사용하면 단점이 있습니까?

Redis는 여러 가지 성능상의 이점을 제공하지만 잠재적인 단점이 없는 것은 아닙니다. Redis는 사이트 성능을 효과적으로 향상시키기 위해 신중한 구성 및 관리가 필요합니다. Redis는 데이터를 메모리에 저장하는데, 이는 디스크 스토리지보다 빠르지만 변동성이 더 큽니다. 올바르게 구성하지 않으면 시스템 충돌 또는 정전 시 데이터 손실이 발생할 수 있습니다. 그러나 Redis는 이러한 위험을 완화하기 위해 데이터 지속성 기능을 제공합니다. 또한 WordPress 사이트에 트래픽이 많지 않거나 데이터베이스 집약적이지 않은 경우 Redis 관리의 추가적인 복잡성을 보장할 만큼 성능 향상이 크지 않을 수 있습니다.

에이전시 호스팅 파트너

바이오닉WP