共计 1598 个字符,预计需要花费 4 分钟才能阅读完成。
最近 乐趣区 访问量有点增加,但是总出现 cpu 使用过高的问题,使用了 wp-super-cache 和 redis 加速效果感觉也一般。
查看 top 命令,发现是因为 php 占用内存过高。所以就考虑使用 php 内置的加速引擎 Memcached 来进行加速。
1. 安装 memcached
首先安装 Memcached,如果你使用的是 lnmp 一键包安装的,只需要到 lnmp 解压的文件夹内,输入以下命令
1 | ./addons.sh |
然后会打印出如下内容
1 | <table class= "hljs-ln" ><tbody><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "1" ><div class= "hljs-ln-n" data-line-number= "1" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "1" ><span class= "hljs-string" >+-----------------------------------------------------------------------+</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "2" ><div class= "hljs-ln-n" data-line-number= "2" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "2" ><span class= "hljs-string" >|</span> <span class= "hljs-string" >Addons</span> <span class= "hljs-string" >script</span> <span class= "hljs-string" > for </span> <span class= "hljs-string" >LNMP</span> <span class= "hljs-string" >V1.4,</span> <span class= "hljs-string" >Written</span> <span class= "hljs-string" >by</span> <span class= "hljs-string" >Licess</span> <span class= "hljs-string" >|</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "3" ><div class= "hljs-ln-n" data-line-number= "3" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "3" ><span class= "hljs-string" >+-----------------------------------------------------------------------+</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "4" ><div class= "hljs-ln-n" data-line-number= "4" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "4" ><span class= "hljs-string" >|</span> <span class= "hljs-string" >A</span> <span class= "hljs-string" >tool</span> <span class= "hljs-string" >to</span> <span class= "hljs-string" >Install</span> <span class= "hljs-string" >cache,optimizer,accelerator...addons</span> <span class= "hljs-string" > for </span> <span class= "hljs-string" >LNMP</span> <span class= "hljs-string" >|</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "5" ><div class= "hljs-ln-n" data-line-number= "5" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "5" ><span class= "hljs-string" >+-----------------------------------------------------------------------+</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "6" ><div class= "hljs-ln-n" data-line-number= "6" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "6" ><span class= "hljs-string" >|</span> <span class= "hljs-string" > For </span> <span class= "hljs-string" >more</span> <span class= "hljs-string" >information</span> <span class= "hljs-string" >please</span> <span class= "hljs-string" >visit</span> <span class= "hljs-string" >https://lnmp.org</span> <span class= "hljs-string" >|</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "7" ><div class= "hljs-ln-n" data-line-number= "7" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "7" ><span class= "hljs-string" >+-----------------------------------------------------------------------+</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "8" ><div class= "hljs-ln-n" data-line-number= "8" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "8" ><span class= "hljs-comment" > ##### cache / optimizer / accelerator #####</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="9"><div class="hljs-ln-n" data-line-number="9"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="9"><span class="hljs-attr">1:</span> <span class="hljs-string">eAccelerator</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="10"><div class="hljs-ln-n" data-line-number="10"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="10"><span class="hljs-attr">2:</span> <span class="hljs-string">XCache</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="11"><div class="hljs-ln-n" data-line-number="11"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="11"><span class="hljs-attr">3:</span> <span class="hljs-string">Memcached</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="12"><div class="hljs-ln-n" data-line-number="12"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="12"><span class="hljs-attr">4:</span> <span class="hljs-string">opcache</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="13"><div class="hljs-ln-n" data-line-number="13"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="13"><span class="hljs-attr">5:</span> <span class="hljs-string">Redis</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="14"><div class="hljs-ln-n" data-line-number="14"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="14"><span class="hljs-attr">6:</span> <span class="hljs-string">apcu</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="15"><div class="hljs-ln-n" data-line-number="15"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="15"><span class="hljs-comment">##### Image Processing #####</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="16"><div class="hljs-ln-n" data-line-number="16"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="16"><span class="hljs-attr">7:</span> <span class="hljs-string">imageMagick</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="17"><div class="hljs-ln-n" data-line-number="17"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="17"><span class="hljs-comment">##### encryption/decryption utility for PHP #####</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="18"><div class="hljs-ln-n" data-line-number="18"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="18"><span class="hljs-attr">8:</span> <span class="hljs-string">ionCube</span> <span class="hljs-string">Loader</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="19"><div class="hljs-ln-n" data-line-number="19"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="19"><span class="hljs-attr">exit:</span> <span class="hljs-string">Exit</span> <span class="hljs-string">current</span> <span class="hljs-string">script</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="20"><div class="hljs-ln-n" data-line-number="20"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="20"><span class="hljs-comment">#####################################################</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="21"><div class="hljs-ln-n" data-line-number="21"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="21"><span class="hljs-string">Enter</span> <span class="hljs-string">your</span> <span class="hljs-string">choice</span> <span class="hljs-string">(1,</span> <span class="hljs-number">2</span><span class="hljs-string">,</span> <span class="hljs-number">3</span><span class="hljs-string">,</span> <span class="hljs-number">4</span><span class="hljs-string">,</span> <span class="hljs-number">5</span><span class="hljs-string">,</span> <span class="hljs-number">6</span><span class="hljs-string">,</span> <span class="hljs-number">7</span><span class="hljs-string">,</span> <span class="hljs-number">8</span> <span class="hljs-string">or</span> <span class="hljs-string">exit):</span> <span class="hljs-number">3</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="22"><div class="hljs-ln-n" data-line-number="22"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="22"><span class="hljs-attr">Which memcached php extension do you choose:</span></td></tr></tbody></table> |
这里输入 3
然后打印出让你选哪个 memcached
1 | <table class= "hljs-ln" ><tbody><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "1" ><div class= "hljs-ln-n" data-line-number= "1" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "1" ><span class= "hljs-attr" >Which memcached php extension do you choose:</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "2" ><div class= "hljs-ln-n" data-line-number= "2" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "2" ><span class= "hljs-string" >Install</span> <span class= "hljs-string" >php-memcache,(Discuz</span> <span class= "hljs-string" >x)</span> <span class= "hljs-attr" >please enter:</span> <span class= "hljs-number" >1</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "3" ><div class= "hljs-ln-n" data-line-number= "3" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "3" ><span class= "hljs-string" >Install</span> <span class= "hljs-string" >php-memcached,</span> <span class= "hljs-attr" >please enter:</span> <span class= "hljs-number" >2</span></td></tr><tr><td class= "hljs-ln-line hljs-ln-numbers" data-line-number= "4" ><div class= "hljs-ln-n" data-line-number= "4" ></div></td><td class= "hljs-ln-line hljs-ln-code" data-line-number= "4" ><span class= "hljs-string" >Enter</span> <span class= "hljs-number" >1</span> <span class= "hljs-string" >or</span> <span class= "hljs-number" >2</span> <span class= "hljs-string" >( Default </span> <span class= "hljs-number" >1</span><span class= "hljs-string" >):</span></td></tr></tbody></table> |
这里因为要配合 wordprss memcached 插件使用,所以这里选择 1
然后就完成了安装。
2. 安装 wordpress memcached 插件
打开这个网址 下载 wordpress-memcached 插件,将下载好的文件解压,然后将其中的 object-cache.php 放到 wp-content 根目录(注意:不是 plugin 目录)。如此完成了插件的安装。
3. 测试 memcached 效果
使用 telnet(centos 使用 yum install telnet 安装)连接 memcached
1 | telnet 127.0.0.1 11211 |
连接之后,输出如下
1 | <table class="hljs-ln"><tbody><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="1"><div class="hljs-ln-n" data-line-number="1"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="1">Trying <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>...</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="2"><div class="hljs-ln-n" data-line-number="2"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="2">Connected <span class="hljs-keyword">to</span> <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>.</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="3"><div class="hljs-ln-n" data-line-number="3"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="3"><span class="hljs-keyword">Escape</span> <span class="hljs-type">character</span> <span class="hljs-keyword">is</span> <span class="hljs-string">'^]'</span></td></tr></tbody></table> |
然后输入 stats, 将输出 memcached 的信息,若
STAT cmd_get 2805
STAT cmd_set 855
这两项有值,则说明 memcached 成功开启。可以试试自己的 wordpress 博客,是不是加速了。(退出 telnet 只需要输入 quit 按回车即可)。
正文完
发表至: wordpress
2020-03-30