>  기사  >  백엔드 개발  >  PhpRedis와 Predis의 성능 비교(예)

PhpRedis와 Predis의 성능 비교(예)

藏色散人
藏色散人원래의
2019-03-16 09:46:315035검색

PhpRedis와 Predis의 성능 비교에 대해 오랜 논의가 있었습니다. 이 기사에서는 가장 인기 있는 프레임워크인 Laravel을 기반으로 이러한 라이브러리의 성능을 측정하는 방법을 소개하겠습니다.

PhpRedis와 Predis의 성능 비교(예)

PhpRedis는 Redis 저장소와 통신하는 데 사용되는 PHP 확장입니다. (관련 권장 사항: Redis 튜토리얼)

Predis는 기본적으로 추가 C 확장이 필요하지 않지만 선택적으로 phpiredis와 쌍을 이룰 수 있는 순수 PHP의 PhpRedis 대안입니다.

저는 약 10,000명의 온라인 사용자를 대상으로 고부하 프로젝트 코드를 사용하여 이 두 라이브러리를 테스트했습니다.

테스트 환경:

OS: Ubuntu 18.04.2 LTS x86_64

CPU: Intel i7-6820HQ (8) @ 3.600GHz

RAM: 32 gb

PHP: v7.2.15

Lara vel : v5 .7.25

MySQL: MySQL v5.7

Redis:v5.0.3

PhpRedis: v4.2.0

Predis: v1.1.1

스크립트는 데이터베이스에서 캐시를 생성하고 Redis에 설득력 있는 모델을 저장합니다.

기본적으로 Laravel은 Redis용 사용자 정의 직렬 변환기를 지원하지 않지만 이를 달성하기 위해 Laravel Lodash 패키지를 사용했습니다.

결과:

Predis (serializer: php)
Execution time: 00:05:53.0355
Cache storage used: 936.92MB
— — — — — — — — — — — — — — — — — — 
Predis (serializer: igbinary)Execution time: 00:07:45.2460
Cache storage used: 342.66MB
— — — — — — — — — — — — — — — — — 
Predis (serializer: igbinary, with ext-phpiredis)Execution time: 00:07:51.9046
Cache storage used: 342.66MB
— — — — — — — — — — — — — — — — — 
PhpRedis (serializer: php)Execution time: 00:01:36.9863
Cache storage used: 936.75MB
— — — — — — — — — — — — — — — — — 
PhpRedis (serializer: igbinary)Execution time: 00:01:37.3176
Cache storage used: 342.66MB

참고:

Execution time:执行时间
Cache storage used:缓存存储

결론:

PhpRedis는 약 6배 더 빠릅니다. igbinary serializer를 사용하면 저장된 데이터의 크기를 약 3배 정도 줄일 수 있습니다. Redis를 다른 머신에 설치하는 경우 네트워크 트래픽을 줄이면 작업 속도가 크게 향상됩니다.

위 내용은 PhpRedis와 Predis의 성능 비교(예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.