PhpRedis와 Predis의 성능 비교에 대해 오랜 논의가 있었습니다. 이 기사에서는 가장 인기 있는 프레임워크인 Laravel을 기반으로 이러한 라이브러리의 성능을 측정하는 방법을 소개하겠습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!