The content of this article is about the impact of memcache (memory caching technology) on the speed of PHP page access (pictures and texts). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you. helped.
1. Introduction to Memcache
Memory caching technology: memcache is an intermediate medium that implements PHP language to operate on memory.
The workflow of MemCache is as follows: first check whether the client's request data is in memcached. If so, return the request data directly and no longer Perform any operation on the database; if the requested data is not in memcached, check the database, return the data obtained from the database to the client, and cache a copy of the data to in memcached (the memcached client is not responsible and needs to be implemented explicitly by the program); each time the database is updated, the data in memcached is updated to ensure consistency; when the memory space allocated to memcached is used up, LRU (Least) will be used Recently Used (Least Recently Used) policy plus expiration policy, the invalid data is replaced first, and then the recently unused data is replaced.
2. The difference between Memcache and memcached
Memcache is the name of this project, and memcached is the name of its main program file on the server side.
4. Server-side and client-side installation of Memcache (adding modules to php):
1. Unzip the memcache source code package:
tar axf memcache-2.2.5.tgz
2. Compile the binary from the previous php The command is added to the environment variable to ensure that the php command can be directly called
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. Create a precompiled environment and compile and assemble the memcache source code package
phpize is used to extend the php extension module, which can be created through phpize PHP plug-in modules, for example, if you want to add extension modules such as memcached or ImageMagick to the originally compiled PHP, you can use phpize.
In other words, the role of phpize can be understood like this: detecting the environment (the phpize tool is in the PHP installation directory. Based on this, phpize corresponds to the PHP environment at that time, so the corresponding configure must be generated based on the PHP configuration. file), create a configure file. You must run phpize in a directory. Then phpize knows which directory your environment is, and the configure file is created in that directory.
cd memcache-2.2.5 phpize ./configure # 源码编译,已经安装好了php,我们就不用再指定新的php扩展模块路径make make install
5. After the compilation is completed, we are prompted to enter the php/extensions/no-debug-non-zts-20131226/ directory. In this directory, we can view what has been added to php module, we found that our memcache module does not yet exist, so we went to the php configuration file to add the memcache module.
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. Install memcache server
yum install memcached # 安装memcached服务端 /etc/init.d/memcached start # 打开memcached服务 netstat -antlp # memcached监听11211端口
cd memcache-2.2.5rpm -q memcached # 查看memcached的配置文件
7. Set memcached password
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,查看命中情况为百分之百。
相关文章推荐:
The above is the detailed content of The impact of memcache (memory caching technology) on the speed of PHP page access (picture and text). For more information, please follow other related articles on the PHP Chinese website!