ホームページ >バックエンド開発 >PHPチュートリアル >memcache (メモリ キャッシュ テクノロジ) が PHP ページ アクセス (画像とテキスト) の速度に及ぼす影響
この記事の内容は、memcache (メモリ キャッシュ技術) が PHP ページ (画像とテキスト) のアクセス速度に及ぼす影響に関するものです。一定の参考価値があります。困っている友人が参考にしていただければ幸いです。役に立ちます。役に立ちます。
1. Memcache の概要
メモリ キャッシュ テクノロジ: memcache は、メモリ上で動作する PHP 言語を実装する中間媒体です。
MemCache のワークフローは次のとおりです: まず、クライアントのリクエスト データが memcached に存在するかどうかを確認し、存在する場合はリクエスト データを返しますデータベースに対して直接操作を実行しません。要求されたデータが memcached にない場合は、データベースを確認し、データベースから取得したデータをクライアントに返し、データのコピーをキャッシュします。 memcached 内 (memcached クライアントには責任がなく、プログラムによって明示的に実装する必要があります); データベースが更新されるたびに、整合性を確保するために memcached 内のデータが更新されます; memcached に割り当てられたメモリ領域が使い果たされると、LRU (少なくとも) が使用されます 最近使用した (最も最近使用した) ポリシーと有効期限ポリシーを組み合わせた場合、無効なデータが最初に置き換えられ、次に最近使用されていないデータが置き換えられます。
2. Memcache と memcached の違い
Memcache はこのプロジェクトの名前で、memcached はサーバー側のメイン プログラム ファイルの名前です。
4. Memcache のサーバー側およびクライアント側のインストール (php にモジュールを追加):
1. memcache ソース コード パッケージを解凍します:
tar axf memcache-2.2.5.tgz
2. 次のバイナリをコンパイルします。前の php このコマンドは、php コマンドを直接呼び出せるようにするために環境変数に追加されます
vim /root/.bash_profil PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/nginx/sbin:/usr/local/lnmp/php/bine source /root/.bash_profile
3. プリコンパイルされた環境を作成し、memcache ソース コード パッケージをコンパイルおよびアセンブルします
phpize は、次の目的で使用されますphp 拡張モジュールを拡張します。これは、phpize PHP プラグイン モジュールを通じて作成できます。たとえば、最初にコンパイルされた PHP に memcached や ImageMagick などの拡張モジュールを追加したい場合は、phpize を使用できます。
言い換えれば、phpize の役割は次のように理解できます: 環境の検出 (phpize ツールは PHP インストール ディレクトリにあります。これに基づいて、phpize はその時点の PHP 環境に対応するため、対応するconfigure が必要です) PHP 設定に基づいて生成されます。ファイル)、設定ファイルを作成します。 phpize はディレクトリ内で実行する必要があります。次に、phpize は環境がどのディレクトリにあるかを認識し、そのディレクトリに設定ファイルが作成されます。
cd memcache-2.2.5 phpize ./configure # 源码编译,已经安装好了php,我们就不用再指定新的php扩展模块路径make make install
5. コンパイルが完了すると、php/extensions/no-debug-non-zts-20131226/ ディレクトリに入るように求められます。 php モジュールに何が追加されたかというと、memcache モジュールがまだ存在していないことがわかったので、php 設定ファイルに移動して memcache モジュールを追加しました。
cd /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/ ls php -m | grep memcache 过滤memcache模块,发现现在还没有 cd /usr/local/lnmp/php/etc/ vim php.ini # 编辑php的配置文件873 extension=memcache.so # 将873行memcache模块的注释打开 /etc/init.d/php-fpm reload # 重载php php -m | grep memcache # 再次过滤memcache模块
6. memcache サーバーのインストール
yum install memcached # 安装memcached服务端 /etc/init.d/memcached start # 打开memcached服务 netstat -antlp # memcached监听11211端口
cd memcache-2.2.5rpm -q memcached # 查看memcached的配置文件
7. memcached パスワードの設定
cd /usr/local/lnmp/nginx/html/ vim example.php # 仅仅查看,是php代码 vim memcache.php
访问example.php:
访问memcache.php:
输入密码后:(右边可以看到HIT命中率)
8.访问测试,查看安装了memcache模块后,再浏览器处访问安装了memcache和未i安装memcache的网也,查看性能的变化
(1)访问 index.php后,我们可以分析一下浏览器的并发行和出错情况
处理情况:
可以看到每秒处理的访问请求为384个,出错个数为84个
(2)按照同样的测试方法,我们测试访问example.php
可以看到每秒处理的访问请求为940个,出错个数为0个,速度提高了将近三倍,错误率大大降低
(3)在浏览器处多次访问example.php,查看命中情况为百分之百。
相关文章推荐:
以上がmemcache (メモリ キャッシュ テクノロジ) が PHP ページ アクセス (画像とテキスト) の速度に及ぼす影響の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。