在 Azure 网站上使用 Memcached 改进 WordPress
2014-02-07 12:19
260 查看
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理
Sunitha Muthukrishna 和 Windows Azure 网站开发人员体验合作伙伴共同撰写。
您是否希望改善在 Azure 网站服务上运行的 WordPress 网站的性能?如果是,那么您就需要一个可帮助加快您网站速度的缓存。如果您的网站流量较大,最好是设置某种形式的分布式内存缓存机制。
Memcached 是一种通用的分布式内存缓存系统。它通常通过在 RAM 中缓存数据和对象来减少必须读取外部数据源(如数据库或 API)的次数,以加快基于动态数据库的网站的速度。Memcached 系统使用客户端–服务器体系结构。此客户端(即您的网站)将使用客户端库,在此案例中,即使用 PECL Memcached 库,以联系通过端口 11211 公开其服务的服务器。每个客户端都知道所有服务器;而服务器相互之间并不进行通信。
如果某个客户端希望设置或读取某个键的相应值,则该客户端库首先会计算该键的哈希值来确定要使用的服务器。然后该客户端会联系该服务器。该服务器将计算该键的第二个哈希值来确定存储或读取相应值的位置。
Memcached 客户端必须将 Memcached 服务器视为临时缓存;而不能认为当需要数据时,数据始终存储在 Memcached 服务器中。MemcacheDB、Couchbase Server、Varnish
和其他数据库服务器可提供永久存储,同时保持与 Memcached 的协议兼容性。
在本教程中,您将学会如何:
· 在 Azure Ubuntu VM 上设置 Memcached 服务器
· 配置 WordPress 网站使用 Memcached
在 Azure VM 上设置 Memcached
登录 Azure 管理门户并创建 Ubuntu VM。有关详细信息,请参阅如何从虚拟机库中创建
Linux VM。如果您没有 Azure 帐户,快来试用我们的 30 天免费试用版吧(这可是价值
200 美元的 Windows Azure 资源!)。
要访问您的 Ubuntu VM,请安装 SSH 客户端,如
Putty。有关更多详细信息,请参阅如何使用
SSH 安装连接到Linux VM
中。打开 Putty 客户端并输入您的 VM 名称,例如
memcachesrv.cloudapp.net,然后单击 Open。
在使用计算机管理员用户(在此案例中,即 azureuser)登录后,运行以下命令以启动具有根用户权限的 Linux shell,并将现有库中的程序包列表下载/更新到最新版本的程序包及其在 VM 上的依赖项(见图 2)
sudo -s
apt-get update
默认情况下,端口 11211 已被阻止。要打开此端口,需要登录到
Azure 管理门户以访问 VM 的仪表板。单击 ENDPOINTS并为端口 11211 添加一个新端点。
安装 Memcached
安装 Memcached 需要几个步骤。首先,请通过 apt-get 安装 Memcached:
sudo apt-get install memcached
如果您的服务器上没有编译器,可以下载 build-essential 以便安装 Memcached:
sudo apt-get install build-essential
使用以下命令编辑 Memcached 配置文件 (memcached.conf):
sudo nano /etc/memcached.conf
通过在第 35 行前面添加 # 将该行变成注释
-l 127.0.0.1
配置 WordPress 使用 Memcached
· 使用 FTP 访问您的网站。
· 创建 bin 文件夹。
· 从此处下载和复制
Memcached PECL 扩展。请注意,此扩展适用于 PHP5.4(32 位)。如果您的网站使用的是其他配置,则从此处选择相应的 DLL
· 登录您的管理门户以更新 WordPress 网站配置。在
Configure 下的 app settings 部分中,设置以下内容:
· 从此链接中下载
Memcached 对象缓存插件
· 将 object-cache.php 复制到
wp-content 文件夹。
· 在 wp-config.php 文件中指定 Memcached 服务器详细信息。
在 /* 正上方添加以下类似内容:已完成,请停止编辑!祝您博客编写愉快。
*/
$memcached_servers = array(
'default' => array('memcachesrv.cloudapp.net:11211' )
);
· 从此处下载
Batcache 插件
· 将 advanced-cache.php 上传到
wp-content 目录
· 将下面一行添加到 wp-config.php 文件的文件开头。
define('WP_CACHE',true);
如何测试缓存是否正常运行
通过重新加载主页两次以上并查看 html 源,可以测试缓存是否正常运行。初始加载时,在 </head> 结束标记的正上方,您应当看到与下面类似的注释:
如果刷新 WordPress 页面几次,注释将会更改,表示该页面已从缓存加载:
检查 Memcache 服务器统计信息
我强烈建议您对 Memcached 服务器进行定期跟踪,以了解服务器的状态。以下是执行此操作的几种方法:
1. 如果已执行了“apt-get update”命令,您可以使用您的 Ubuntu VM 中已经提供的
netcat 实用程序。针对在端口 11211 进行侦听的 Memcached 服务器运行 Netcat 以及“stats”命令,将获得您 Memcached 服务器的状态。
echo "stats" | ncmemcachesrv.cloudapp.net 11211
2. 您可以使用 watch 命令每 2 秒检查一次该状态,并列出状态
watch "echo stats |ncmemcachesrv.cloudapp.net 11211"
3. 通过调用 PHP Memcached 扩展的 Memcache::getStats ()
API,您可以以编程方式执行此操作。
进一步阅读
· Memcached
· PHP Memcache 类
· NetCat 实用程序 (Linux)
· 适用于 Memcache 的 PECL 程序包 (Windows)
本文翻译自:
http://blogs.msdn.com/b/windowsazure/archive/2014/01/24/wordpress-with-memcached-on-azure-websites.aspx
Sunitha Muthukrishna 和 Windows Azure 网站开发人员体验合作伙伴共同撰写。
您是否希望改善在 Azure 网站服务上运行的 WordPress 网站的性能?如果是,那么您就需要一个可帮助加快您网站速度的缓存。如果您的网站流量较大,最好是设置某种形式的分布式内存缓存机制。
Memcached 是一种通用的分布式内存缓存系统。它通常通过在 RAM 中缓存数据和对象来减少必须读取外部数据源(如数据库或 API)的次数,以加快基于动态数据库的网站的速度。Memcached 系统使用客户端–服务器体系结构。此客户端(即您的网站)将使用客户端库,在此案例中,即使用 PECL Memcached 库,以联系通过端口 11211 公开其服务的服务器。每个客户端都知道所有服务器;而服务器相互之间并不进行通信。
如果某个客户端希望设置或读取某个键的相应值,则该客户端库首先会计算该键的哈希值来确定要使用的服务器。然后该客户端会联系该服务器。该服务器将计算该键的第二个哈希值来确定存储或读取相应值的位置。
Memcached 客户端必须将 Memcached 服务器视为临时缓存;而不能认为当需要数据时,数据始终存储在 Memcached 服务器中。MemcacheDB、Couchbase Server、Varnish
和其他数据库服务器可提供永久存储,同时保持与 Memcached 的协议兼容性。
在本教程中,您将学会如何:
· 在 Azure Ubuntu VM 上设置 Memcached 服务器
· 配置 WordPress 网站使用 Memcached
在 Azure VM 上设置 Memcached
登录 Azure 管理门户并创建 Ubuntu VM。有关详细信息,请参阅如何从虚拟机库中创建
Linux VM。如果您没有 Azure 帐户,快来试用我们的 30 天免费试用版吧(这可是价值
200 美元的 Windows Azure 资源!)。
要访问您的 Ubuntu VM,请安装 SSH 客户端,如
Putty。有关更多详细信息,请参阅如何使用
SSH 安装连接到Linux VM
中。打开 Putty 客户端并输入您的 VM 名称,例如
memcachesrv.cloudapp.net,然后单击 Open。
在使用计算机管理员用户(在此案例中,即 azureuser)登录后,运行以下命令以启动具有根用户权限的 Linux shell,并将现有库中的程序包列表下载/更新到最新版本的程序包及其在 VM 上的依赖项(见图 2)
sudo -s
apt-get update
默认情况下,端口 11211 已被阻止。要打开此端口,需要登录到
Azure 管理门户以访问 VM 的仪表板。单击 ENDPOINTS并为端口 11211 添加一个新端点。
安装 Memcached
安装 Memcached 需要几个步骤。首先,请通过 apt-get 安装 Memcached:
sudo apt-get install memcached
如果您的服务器上没有编译器,可以下载 build-essential 以便安装 Memcached:
sudo apt-get install build-essential
使用以下命令编辑 Memcached 配置文件 (memcached.conf):
sudo nano /etc/memcached.conf
通过在第 35 行前面添加 # 将该行变成注释
-l 127.0.0.1
配置 WordPress 使用 Memcached
· 使用 FTP 访问您的网站。
· 创建 bin 文件夹。
· 从此处下载和复制
Memcached PECL 扩展。请注意,此扩展适用于 PHP5.4(32 位)。如果您的网站使用的是其他配置,则从此处选择相应的 DLL
· 登录您的管理门户以更新 WordPress 网站配置。在
Configure 下的 app settings 部分中,设置以下内容:
· 从此链接中下载
Memcached 对象缓存插件
· 将 object-cache.php 复制到
wp-content 文件夹。
· 在 wp-config.php 文件中指定 Memcached 服务器详细信息。
在 /* 正上方添加以下类似内容:已完成,请停止编辑!祝您博客编写愉快。
*/
$memcached_servers = array(
'default' => array('memcachesrv.cloudapp.net:11211' )
);
· 从此处下载
Batcache 插件
· 将 advanced-cache.php 上传到
wp-content 目录
· 将下面一行添加到 wp-config.php 文件的文件开头。
define('WP_CACHE',true);
如何测试缓存是否正常运行
通过重新加载主页两次以上并查看 html 源,可以测试缓存是否正常运行。初始加载时,在 </head> 结束标记的正上方,您应当看到与下面类似的注释:
如果刷新 WordPress 页面几次,注释将会更改,表示该页面已从缓存加载:
检查 Memcache 服务器统计信息
我强烈建议您对 Memcached 服务器进行定期跟踪,以了解服务器的状态。以下是执行此操作的几种方法:
1. 如果已执行了“apt-get update”命令,您可以使用您的 Ubuntu VM 中已经提供的
netcat 实用程序。针对在端口 11211 进行侦听的 Memcached 服务器运行 Netcat 以及“stats”命令,将获得您 Memcached 服务器的状态。
echo "stats" | ncmemcachesrv.cloudapp.net 11211
2. 您可以使用 watch 命令每 2 秒检查一次该状态,并列出状态
watch "echo stats |ncmemcachesrv.cloudapp.net 11211"
3. 通过调用 PHP Memcached 扩展的 Memcache::getStats ()
API,您可以以编程方式执行此操作。
进一步阅读
· Memcached
· PHP Memcache 类
· NetCat 实用程序 (Linux)
· 适用于 Memcache 的 PECL 程序包 (Windows)
本文翻译自:
http://blogs.msdn.com/b/windowsazure/archive/2014/01/24/wordpress-with-memcached-on-azure-websites.aspx
相关文章推荐
- 在 Azure 网站上使用 Memcached 改进 WordPress
- 在 Azure 网站上使用 Memcached 改进 WordPress
- 在 Azure 网站上使用 Memcached 改进 WordPress
- 学习使用ASP.NET在Azure建立网站
- 使用 WordPress 设计网站时要注意哪些问题
- 使用LAMP创建基于wordpress的个从博客网站
- 使用wordpress搭建的网站去掉域名中的wordpress
- 在 Windows Azure 网站 (WAWS) 上对 Orchard CMS 使用 Azure 缓存
- 用Varnish和Memcached缓存给WordPress网站提速-内存级加速
- 使用Wordpress平台建设企业网站的19个理由
- wordpress新手网站优化使用指南
- 高端网站建设中使用wordpress的优势
- [图表]全球100大博客网站中49%使用WordPress服务
- Machine Learning in Action_CH2_2_使用kNN改进约会网站的配对效果
- SAE使用Google和Baidu站点地图对Wordpress网站做SEO
- 在使用WordPress建立商业网站时你需要了解的?
- 大量客户反映wordpress的网站打开巨慢,经分析发现,这些网站大都使用了google的字体服务,由于最近google的服务已经被大陆屏蔽,所以wordpress的网站打开时,会卡在字体加载上。
- 使用memcached提升网站服务器性能
- (视频)《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介
- 使用KNN算法改进约会网站的配对效果