欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Drupal Memcached

2014-09-25由Hank Yang发表
 

Drupal内建有数据缓存,但是当资料库效能无法负荷时,可以利用memcached这个模组来减轻资料库的负担

在第一次访问网站时将资料库档案放入Memcached中,第二次浏览后使用者浏览时PHP会先询问Memcached中是否有资料,有的话就从记忆体中抓取并显示资料,没有的话才对资料库抓取资料

Memcached内存:依照预先定义的固定大小将内存分配成各种大小的区块,并把相同大小的集合在一起

就像是切蛋糕一样,把页面切成不同大小的bytes放置在不同的区块中进行保存

 

Step.1 安装必要模组

apt-get update

apt-get upgrade -y

sudo apt-get install memcached libmemcached-tools

 

sudo apt-get install php5-memcached

sudo apt-get install php5-dev php-pear make

sudo pecl install memcache

Step.2 编辑php.ini

sudo nano /etc/php5/fpm/php.ini

在Memcache.ini跟php.ini里加入这行

extension =" memcache.so"

memcache.hash_strategy "consistent"

Setp.3 更改memcached.conf

如果我们可以给Memcached更多记忆体,将会增加效能系统预设是16MB 配置1/4的可用记忆体

sudo nano /etc/memcached.conf

# Change this default value to ~ 1/4 of your total

# available RAM -m 16

完成设定以后重新启动memcached restart 跟apache or nginx

sudo /etc/init.d/memcached restart

sudo /etc/init.d/apache2 restart

service nginx restart

用  netstat 觀看  memcached 是不是在執行

sudo netstat -tap | grep memcached

正常的话应该是localhost:11211 系统预设是使用11211 这个Port

 

tcp 0 0 localhost:11211 *:* LISTEN 25266/memcached

 

 

Setp.4 Drupal 下载模组与设定

移动到drupal 安装路径 安装memcache 模组

cd/drupal安装路径

drush dl memcache

drush en memcache

安装完成以后利用文字编辑器编辑sites/default/settings.php 设定档

在settings.php 里新增以下几行

$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc'; 注意路径要设定成memcache模组所在的路径
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';

$conf['memcache_key_prefix'] = $_SERVER['HTTP_HOST'] ;

如果是多网站安装的话请在每个settings.php中加入以下

$conf 'memcache_key_prefix' 'unique_key' ; 

 

Setp.5 Drupal 模组启用

在模组页面中开启Memcache跟Memcache admin

开启网站报告确认是否有错误讯息

如果显示You should update your pecl memcache version at least up to 2.0.1

这类的错误讯息,请至https://www.drupal.org/project/memcache

下载最新的memcache跟跟memcached压缩档,放置到sites/all/libraries中就可以解决错误讯息

 

报告选单中选择Memcache statistics有显示报告的话表示安装成功

 

 

 

Setp.6 Memcache 图表

 

安装完成之后,可以使用memcache_status模组进行监控

利用drush进行安装

drush en memcache_status

drush en libraries

并下载下面这个函式库   http://pecl.php.net/package/memcache

解压缩放置到sites/all/lib底下将memcache.php 更名为 memcache.php.inc

然后进行编辑   

$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211'; // add more as an array 修改成 $MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array

IPr就是Memcache statistics上显示的IP位置跟Port

 

 

 

参考资料

1. How to install memcached on Ubuntu for use with Drupal

2. Running Drupal on Nginx with Memcached

3. How to Install Memcached For Drupal 7


来自   https://www.hellosanta.com.tw/Drupal%E7%B6%B2%E7%AB%99%E8%A8%AD%E8%A8%88/drupal-memcached


普通分类: