ホームページ  >  記事  >  バックエンド開発  >  PhpRedisとPredisの性能比較(例)

PhpRedisとPredisの性能比較(例)

藏色散人
藏色散人オリジナル
2019-03-16 09:46:315055ブラウズ

PhpRedis と Predis のパフォーマンス比較に関する議論は長い間行われてきました。この記事では、最も人気のあるフレームワーク Laravel をベースにしたこれらのライブラリのパフォーマンスを測定する方法を紹介します。

PhpRedisとPredisの性能比較(例)

PhpRedis は、Redis ストレージと通信するための PHP 拡張機能です。 (関連する推奨事項: Redis チュートリアル )

Predis は純粋な PHP 上の PhpRedis の代替であり、デフォルトでは追加の C 拡張機能は必要ありませんが、オプションで phpirdis と組み合わせることができます。

私は、約 10,000 人のオンライン ユーザーを対象に、高負荷のプロジェクト コードを使用してこれら 2 つのライブラリをテストしました。

テスト環境:

オペレーティング システム: Ubuntu 18.04.2 LTS x86_64

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

メモリ: 32 gb

PHP: v7.2.15

Laravel: 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 シリアライザーを使用すると、保存されるデータのサイズを約 3 分の 1 に削減できます。 Redis を別のマシンにインストールする場合、ネットワーク トラフィックを減らすと速度が大幅に向上します。

以上がPhpRedisとPredisの性能比較(例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。