为 MovableType 加入 Memcached 增强效率

Tony 提交于
内容

转移到VPS后可以随心所欲地配置服务器,这次加入了Memcached以增强MovableType搜索页面和全站生成时的效率。

部署Memcached的好处

TONYHEAD 通利堂的网站结构有一个重要的部分就是标签和关键词页面,例如魔兽世界这个标签,浏览器中的路径是简洁的例如:

但实际上是用MovableType的搜索功能+.htaccess做的一个花招,每次用户或者搜索引擎点击上面的地址时都会执行一次以下脚本:

当搜索引擎蜘蛛在爬我的网站的时候我就会开始担心服务器的资源了 =。= ,而且响应变慢的话也会影响收录结果,所以有任何可能提高这个页面查询结果的方法的话我都想尝试,例如引入一个Memcached

下面的表格是我尝试不同大小的Memcached的结果,最后根据VPS的限制我选择了在内网的其他空闲VPS上跑128MB的。

未加入Memcached前生成全站耗时11分20秒 第一次生成全站耗时 第二次生成全站耗时 第三次生成全站耗时
Memcached设置为32MB时 12分3秒 7分53秒 7分19秒
Memcached设置为64MB时 7分59秒 9分11秒 8分8秒
Memcached设置为128MB时 8分55秒 8分16秒 7分59秒

Memcached部署方法

VPS上安装Memcached

yum install memcached

启动Memcached,以下命令是启动一个在本机11211端口上128MB的实例,如果在内网其他机子(172.11.7.30)上启动则在172.11.7.30上执行 /usr/bin/memcached -d -m 128 -u root -p 11211 -l 172.11.7.30

/usr/bin/memcached -d -m 128 -u root -p 11211 -l 127.0.0.1

为Perl安装Memcached模块

wget http://search.cpan.org/CPAN/authors/id/D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz && tar -zxvf Cache-Memcached-1.30.tar.gz && cd Cache-Memcached-1.30 && perl Makefile.PL && make && make install

String-CRC是其依存模块,也要安装。

wget http://search.cpan.org/CPAN/authors/id/S/SO/SOENKE/String-CRC32-1.4.tar.gz && tar -zxvf String-CRC32-1.4.tar.gz && cd String-CRC32-1.4 && perl Makefile.PL && make && make install

为MovableType安装Memcached模块

不需要,因为MovableType是原生支持Memcached的。

好吧,其实还是需要在mt-config.cgi里面配置一下MemcachedServer的,告诉系统哪里可以找到Memcached服务器。

MemcachedServers 127.0.0.1:11211

如果你在本机和172.11.7.30上都装了Memcached你可以同时添加多个服务器。

MemcachedServers 127.0.0.1:11211 MemcachedServers 172.11.7.30:11211

修改mt-config.cgi后保存,如果你在FastCGI模式下运行MovableType还需要重启一下Web服务器。

这时在MovableType后台的 System Information 里看到 Memcache Status: Memcache is configured. Memcache Server is available. 的字样就表示成功了。

 

文章标签

添加新评论

此字段内容将保密,不会被其他人看见。

Filtered HTML

  • 网页和电子邮件地址自动转换为链接。
  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <drupal-entity data-*>
  • 自动断行和分段。
有时候,快乐的经历留在心里就行了,不要留下证据,但我想可以和你一起快乐。

📚 页面/专题/手册

🏷️ 标签云

猜你喜欢