ホームページ  >  記事  >  バックエンド開発  >  MEMCACHE_COMPRESSED 圧縮を有効にして MemCached_PHP チュートリアルを「展開」する

MEMCACHE_COMPRESSED 圧縮を有効にして MemCached_PHP チュートリアルを「展開」する

WBOY
WBOYオリジナル
2016-07-13 17:36:17990ブラウズ

著作権声明: 自由に転載することができます。転載する場合は、記事とこの著作権声明の元の出典と著者情報をハイパーリンクの形式で必ず明記してください。
http://www.chedong.com/blog/archives/001431.html

試してください:
PHPmemcache_set() 関数で MEMCACHE_COMPRESSED 圧縮オプションを有効にすると、memcache_get() は後続の読み取り中に圧縮されたキャッシュ オブジェクトを自動的に解凍できます。

効果:
テスト後、Blog Bus の現在のアプリケーションでは、圧縮を有効にした後、同じ容量 (2G) に保存されるオブジェクトの数が約 2 倍になり、キャッシュ ヒット率が約 50% から約 60% に増加しました。 。ヒット率をさらに向上させるにはハードウェアへの投資が必要ですが、メモリを 2 倍に増やした後、キャッシュ ヒット率は最終的に 90% に増加しました。

前提 0: メモリ キャッシュは有用であり、ヒット率は改善する価値があります。

ヒット率を 60% から 90% に改善するか、90% から 95% に改善するかは、ヒット後のパフォーマンスの向上に価値があるかどうかによって異なります。

前提 1: MemCached がいっぱいです

まず、memcached-tool を使用して memcached の容量統計をチェックし、memcached がいっぱいかどうかを確認します。 MemCached が完全に実行されているときにそのスペースがいっぱいでない場合、圧縮を有効にしても意味がありません。さらに、MemCached がいっぱいではないことがわかった場合は、対応する MemCached の容量を減らし、キャッシュ用にさらに多くのメモリを残すことが最善です。その他のサービス

前提 2: 圧縮率

キャッシュされたデータが実際に数百バイトより大きい場合、すべてのキーと値のペアが 100 バイト未満である場合、圧縮によって実際に拡張が発生する可能性があります。キャッシュ オブジェクトのサイズは Memcached の固定サイズのブロックに格納されるため、最小サイズは 88 B です。したがって、小さすぎるデータによる圧縮と展開は大きな問題ではありません;

フロントエンド アプリケーションの CPU 消費量:

追加のデータ圧縮による CPU 消費量は、キャッシュ ヒット率の増加やバックグラウンド データベース アクセスの削減によってもたらされるパフォーマンスの向上よりもはるかに低く、http の gzip/deflate 圧縮に似ています。圧縮されたデータは通常、元のデータ サイズの約 30% であり、ファイル圧縮によるパフォーマンスの損失よりも 70% の節約になります。
以下は、圧縮が有効になった後の MemCached のデータ ブロックの分布です:

# Item_Size Max_age 1MB_pages Count Full?

1 104 B 342694 s 60 604918 はい<==元の最小過半数分布はまだ 88 B と少し膨らんでいます
2 136 B 344213 s 39 300690 はい
3 176 B 47秒145 863765 はい
4 224 B 347049 s 52 243412 はい
5 280 B 332911 s 47 175968 はい
6 352 B 257080 s 114 339491 はい
7 440 B 330976 s 9 2934 はい
8 552 B 310225 s 51 96849 はい
9 696 B 305251 s 68 102407 はい
10 872 B 298607 s 74 88947 はい
11 1.1 kB 276463 s 70 66919 はい
12 1.3 kB 279819 s 79 60198 はい
13 kB 293690 s 97 59073 はい
14 2.1 kB 304436 s 116 56492はい
15 2.6 kB 298020 s 102 39576 はい
16 3.3 kB 324546 s 100 31000 はい
17 4.1 kB 321757 s 97 24056 はい
18 5.2 kB 320132 s 91 018 はい
19 6.4 kB 332232 s 89 14062 はい
20 8.1 kB 330696 s 81 10287 はい
21 10.1 kB 329582 s 76 7676 はい
22 12.6 kB 337278 s 72 5832 はい
23 15.8 kB 348626 s 66 4224 はい
24 19 。 7 kB 345881 秒 56 2856 はい
25 24.6 KB 345825 秒 44 1804 はい
26 30.8 kB 333460 s 31 1023 はい
27 38.5 kB 335782 s 22 572 はい
28 48.1 kB 302109 s 17 357 はい
29 60.2 kB 358674 s 18 306 はい
30 75.2 kB 396573 s 17 221 はい
31 94.0 kB 431605 s 11 110 はい
32 117.5 kB 418652 s 7 56 はい
33 146.9 kB 408422 s 3 17 いいえ
34 183.6 kb 277529 s 2 7 いいえ
35 229.5 kb 15 6 秒 1 3 いいえ
36 286.9 KB 232221 秒 1 1 いいえ
37 358.6 kB 1059 s 3 6 はい

http://www.bkjia.com/PHPjc/508232.html

tru​​ehttp://www.bkjia.com/PHPjc/508232.html技術記事著作権表示: 転載は自由です。転載する場合は、記事とこの著作権表示の出典元および著者情報をハイパーリンクの形式で必ず明記してください。 http://www.chedong.com/blog/archives/001431.htm...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。