Magento 세션 저장 : Redis 대 Memcached.
-
12-12-2019 - |
문제
CACHING ( CM_CACHE 확장, REDIS V 2.2.12 REDIS V 2.2.12 )을 위해 REDIS가있는 Magento EE 1.12.2 (CE 1.7.2에서 똑같이)를 실행 중이니다.세션 저장소.
Redis는 이러한 마젠토 버전의 상자에서 지원되지 않습니다.그래서 내 관심사는 다음과 같습니다.
- 는 노력 대 속도 향상의 관점에서 세션 스토리지를 Redis에 가져 오는 번거로 가치가 있습니까?
- 는 좋은 것처럼 memcache가 아니며, 훨씬 더 훨씬 나아 졌습니까?
이 프로젝트에서는 타사 XML 파일을 세션에 저장해야하므로 세션 읽기 및 쓰기를 최적화하여 상당한 영향을 미칠 수 있습니다.
local.xml
:
<session_save><![CDATA[memcache]]></session_save>
.
및 :
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
[...]
</cache>
. 해결책
내 개념이 가장 좋습니다.
memcached 는 무료 및 오픈 소스, 메모리 내 키 - 가치 저장소, 고성능, 분산 메모리 개체 캐싱 시스템입니다.
redis 는 선택적 내구성을 갖춘 오픈 소스, 네트워크, 메모리, 메모리가있는 키 값 데이터 저장소입니다.
때문에
- memcached는 휘발성 인 메모리 키 / 값 저장소입니다. Redis는 행동 할 수 있습니다 하나처럼 (그리고 그 일을뿐만 아니라 memcached)
- 아키텍처는 더 빠른 저장 데이터에 적합합니다.
- 데이터 가져 오기 빠른
- 디스크에 대한 지속성, 기본적으로
- 크기가 최대 512MB (키당 1MB로 제한됨)
- 클러스터링이 내장
Redis는 LRU를 지원하지 않습니다. 오버로드 처리를위한 유사한 정책 Redis는 캐시 일관성을 유지하는 데 유용한 CAS (체크 및 세트)를 지원하지 않습니다. 가장 일반적인 Memcached Cache 불일치 소스는 무엇인지 확인할 수 있습니까? (이 불필요한 SetNX 작업이 있지만)
자세한 내용 : StackOverflow "Memcached vs. Redis?"
Redis Faster Data 지원이있는 몇 가지 세부 정보 : redis.io
다른 팁
cm redis cache 1.7.2의 해킹이 아닙니다, 마젠토는 기본적으로 1.8+에서 쉽게 구현되기 때문에 기본적으로 코드를 추가했습니다.
Redis는 데이터베이스로 인해 동일한 서버 인스턴스에 캐시와 세션을 지원합니다.Memcached에서는 Memcached의 여러 인스턴스를 시작할 것입니다.
Memcached는 디스크에 쓸 가능성이 있으며 서비스를 다시 시작한 후 세션을 저장하는 데 사용할 수 있습니다.디스크에 글을 쓸 때 Memcached는 잠시 동안 잠길 수 있기 때문에 사이트에 오류가 발생할 수 있습니다. Redis는 이미 표시된이 스택에 대한 몇 가지 다른 질문으로이를 처리합니다.
멤키스를 통해 다시 드리스를 추천합니다.
이것은 불행히도 흑인과 백인 답변이 아닙니다. 그래서, 나는 당신에게 프로와 론을 줄 것입니다 :
memcache :
- 하드 코딩 된 데이터 제한 (이 문제를 삭제하지 않으면 관리 세션을 쉽게 그 이상으로 쉽게 자라게 할 수 있습니다)
- 디스크에 저장시
- 약간 더 나쁜 성능
- Magento 확장은 봇 방위가 없습니다
redis :
- 세션에서 문제 잠금 :: 세션에 동시에 액세스하여 일부 저장소에서 읽습니다.
- 한 인스턴스에서 여러 데이터베이스에 대한 지원이지만 일부주의 사항이 있습니다.
- Magento 확장은 봇을 방어하고 이주 스크립트 와 함께 제공됩니다.
- Magento 확장은 Snappy 압축 알고리즘 에 대한 지원을 제공합니다.
- 더 적극적으로 코드베이스
이제 속도가 유일한 우려되는 경우로드 테스트를 실행하십시오. "Nofollow"> Blazemeter 50 가상 사용자가 작업을 측정하기에 충분해야합니다.