全球主机交流论坛

标题: 昨天终于给wordpress用上memcached了,速度大增啊 [打印本页]

作者: qwe123    时间: 2009-9-20 11:54
标题: 昨天终于给wordpress用上memcached了,速度大增啊
原来数据库查询要40多次,现在只剩13次了
作者: cpuer    时间: 2009-9-20 11:56
标题: 回复 1# 的帖子
可喜可贺,

软件上,Mysql基本是大站的瓶颈了。
硬件上,硬盘也是瓶颈。
作者: shinko    时间: 2009-9-20 11:58
我的博客一直都用memcached插件的..就是 cpuer 说过的哪个...

硬盘是瓶颈,我觉得应该是看 硬盘的数据I/O能力检测吧...

读取10K文件1万次0.024秒

diavps
作者: cpuer    时间: 2009-9-20 12:00
标题: 回复 3# 的帖子
对啊,I/O 啊。
作者: Rey    时间: 2009-9-20 12:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: cpuer    时间: 2009-9-20 12:06
现在Raid是提升服务器I/O性能的比较好的一个办法,SAS不知道如何。
作者: qwe123    时间: 2009-9-20 12:07
标题: 回复 3# 的帖子
memcached和memcache扩展不一样啊,你是只装展了还是两个都装了,还是只装扩展了?我现在所有的mysql 缓存都在内存中,不在硬盘上
作者: cpuer    时间: 2009-9-20 12:08
原帖由 Rey 于 2009-9-20 12:04 发表
我一个VPS装了N多个小站,memcached可以装吗?怎么装- -


PHP安装 Memcached 扩展,然后再使用WordPress Memcached插件,这样WordPress的优化就比较完美了。
作者: cpuer    时间: 2009-9-20 12:09
原帖由 qwe123 于 2009-9-20 12:07 发表
memcached和memcache扩展不一样啊,你是只装展了还是两个都装了,还是只装扩展了?我现在所有的mysql 缓存都在内存中,不在硬盘上


性能大概有提升多少
作者: qwe123    时间: 2009-9-20 12:10
标题: 回复 9# 的帖子
大概有提升1.5倍,反正我的linode内存才用了100多M,我给memcached分了64M

[ 本帖最后由 qwe123 于 2009-9-20 12:11 编辑 ]
作者: Rey    时间: 2009-9-20 12:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: cpuer    时间: 2009-9-20 12:14
标题: 回复 10# 的帖子
给memcached分了64M

强大
作者: cpuer    时间: 2009-9-20 12:15
标题: 回复 11# 的帖子
呵呵,都是强人。
作者: Rey    时间: 2009-9-20 12:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: Rey    时间: 2009-9-20 12:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: cpuer    时间: 2009-9-20 12:21
原帖由 Rey 于 2009-9-20 12:16 发表
之前我装过,但没什么效果,估计是偶设置错误~可惜偶设置不来。。。


qwe123 对这个比较熟悉,让他传授下。
作者: Rey    时间: 2009-9-20 12:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: cpuer    时间: 2009-9-20 12:29
标题: 回复 17# 的帖子
没有做特别的优化,安装的扩展也就Zend,memcache,还有eAccelerator(分配16MB)内存,php-fcgi进程开5个,nginx工作进程开2个。
作者: shinko    时间: 2009-9-20 12:30
原帖由 qwe123 于 2009-9-20 12:10 发表
大概有提升1.5倍,反正我的linode内存才用了100多M,我给memcached分了64M



我只装了一个扩展..你2个都装了.有没有用那个插件啊?
作者: Rey    时间: 2009-9-20 12:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: qwe123    时间: 2009-9-20 12:35
标题: 回复 15# 的帖子
扩展装完后php.ini中加入
extension_dir = "./usr/local/php/lib/php/extensions"
extension= "no-debug-non-zts-20060922/memcache.so"

http://dev.wp-plugins.org/browser/memcached/trunk下载object-cache.php文件,将该文件存放在wp-content文件夹内

在wp-config.php中填加这句
global $memcached_servers;
$memcached_servers = array('default' => array(’127.0.0.1:13112′));
端口与你启动的 memcached 端口一样
作者: cpuer    时间: 2009-9-20 12:35
原帖由 shinko 于 2009-9-20 12:30 发表
我只装了一个扩展..你2个都装了.有没有用那个插件啊?


qwe123捣鼓这个有一手

不知道他有没有安装WordPress缓存插件了。
作者: shinko    时间: 2009-9-20 12:38
噢.这个我看过..object-cache.php

貌似有两个,一个是基于扩展的,缓存到硬盘
作者: qwe123    时间: 2009-9-20 12:38
要下载object-cacache 才能使用memcached,注意是放在wp-content下哦
作者: qwe123    时间: 2009-9-20 12:42
原帖由 cpuer 于 2009-9-20 12:14 发表
给memcached分了64M

强大

启了10个php-cgi,ea分了16M,再加上memcached的64M加起来,现在也没超过200M
作者: shinko    时间: 2009-9-20 12:42
我一直是用object-cacache 使用memcached的
首页的

Powered by Wordpress | 9 queries in 0.212 seconds.
作者: qwe123    时间: 2009-9-20 12:44
标题: 回复 26# 的帖子
不错啦,不用的话就是40多个query
作者: shinko    时间: 2009-9-20 12:46
wp-content目录下面.你应该没有这个文件夹吧cache
作者: qwe123    时间: 2009-9-20 12:46
另外我还启用了gzip压缩,EA加速和对一些图片,css,js使用过期
作者: shinko    时间: 2009-9-20 12:52
gzip压缩 在nginx配置文件里面配置好就OK了..

PHP我是用apc加速的..
作者: qwe123    时间: 2009-9-20 12:54
原帖由 shinko 于 2009-9-20 12:46 发表
wp-content目录下面.你应该没有这个文件夹吧cache

没明白啥意思
作者: shinko    时间: 2009-9-20 12:57
wp-content目录下面.你应该没有cache这个文件夹吧

因为我用的php的Memcache扩展,是缓存到硬盘的,所以就有cache这个文件夹.你是缓存到内存,应该没有cache这个文件夹吧
作者: qwe123    时间: 2009-9-20 13:00
标题: 回复 32# 的帖子
对,没有cache这个文件夹,缓存都进了memcached的共享内存中去了,我的在wp-config.php中填加这句
global $memcached_servers;
$memcached_servers = array('default' => array(’127.0.0.1:13112′));就是把缓存放到mecached中去
作者: Rey    时间: 2009-9-20 13:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: cpuer    时间: 2009-9-20 13:02
标题: 回复 21# 的帖子
WordPress就是牛,还有专门的memcached插件
作者: shinko    时间: 2009-9-20 13:03
原帖由 qwe123 于 2009-9-20 13:00 发表
对,没有cache这个文件夹,缓存都进了memcached的共享内存中去了,我的在wp-config.php中填加这句
global $memcached_servers;
$memcached_servers = array('default' => array(’127.0.0.1:13112′));就是把缓存放到mecac ...



OK.现在搞去...缓存到内存可能比到硬盘快..内存多就可以选择..反正我512
作者: cpuer    时间: 2009-9-20 13:04
原帖由 qwe123 于 2009-9-20 12:42 发表

启了10个php-cgi,ea分了16M,再加上memcached的64M加起来,现在也没超过200M


嘿嘿,不行了我再开10个php-fcgi工作进程。
作者: cpuer    时间: 2009-9-20 13:05
原帖由 Rey 于 2009-9-20 13:02 发表
都是技术高人。。。apc又是什么- -


Alternative PHP Cache,PHP的一个免费公开的优化代码缓存。
作者: cpuer    时间: 2009-9-20 13:05
原帖由 qwe123 于 2009-9-20 13:00 发表
对,没有cache这个文件夹,缓存都进了memcached的共享内存中去了,我的在wp-config.php中填加这句
global $memcached_servers;
$memcached_servers = array('default' => array(’127.0.0.1:13112′));就是把缓存放到mecac ...


memcached的共享内存 你用了多大了现在?
作者: cpuer    时间: 2009-9-20 13:06
原帖由 shinko 于 2009-9-20 13:03 发表
OK.现在搞去...缓存到内存可能比到硬盘快..内存多就可以选择..反正我512


内存的读取速度肯定比硬盘好多了
作者: cpuer    时间: 2009-9-20 13:07
原帖由 qwe123 于 2009-9-20 12:46 发表
另外我还启用了gzip压缩,EA加速和对一些图片,css,js使用过期


gzip压缩还可以省流量,太爽了
作者: qwe123    时间: 2009-9-20 13:08
标题: 回复 39# 的帖子
才用了20多M
作者: cpuer    时间: 2009-9-20 13:11
标题: 回复 42# 的帖子
过几天估计会满掉。
作者: tumour    时间: 2009-9-20 13:21
APC和ZEND不兼容??
我的网站程序 wordpress + discuz!论坛
想用nginx
探讨一下
nginx下 + eA + memcached + ZEND 是否可行?
memcached 和那个一键安装包的memcache 有区别?

[ 本帖最后由 tumour 于 2009-9-20 13:27 编辑 ]
作者: tumour    时间: 2009-9-20 13:28
或者放弃discuz!换其他不需要zend的论坛程序?有推荐的嘛?
作者: qwe123    时间: 2009-9-20 13:30
discuz好像不能使用memcached ,只能装EA和zend
作者: cpuer    时间: 2009-9-20 13:37
原帖由 tumour 于 2009-9-20 13:21 发表
APC和ZEND不兼容??
我的网站程序 wordpress + discuz!论坛
想用nginx
探讨一下
nginx下 + eA + memcached + ZEND 是否可行?
memcached 和那个一键安装包的memcache 有区别? ...


APC和ZEND好像是不兼容,我用的eA加速跟Zend。

nginx下 + eA + memcached + ZEND 是否可行? 我的就是这个生产环境。
作者: phpwinder    时间: 2009-9-20 13:41
标题: 回复 45# 的帖子
DZ什么时候开始加密了?你不用那个UC就行了。
作者: cpuer    时间: 2009-9-20 13:46
原帖由 qwe123 于 2009-9-20 13:30 发表
discuz好像不能使用memcached ,只能装EA和zend

Discuz可以用mecached,只是要改代码,没有相关的discuz插件。

Discuz!使用Memcache
1.在config.inc.php中增加
$memcachehost = '127.0.0.1';
$memcacheport = 11211;
$memcachelife = 60;

2.在include/common.inc.php中
$mem = new Memcache;
$mem->connect($memcachehost, $memcacheport);

3.修改include/db_mysql.class.php中的fetch_array、query这两个方法,并添加query_mysql方法,代码如下:
function fetch_array($query, $result_type = MYSQL_ASSOC) {
return is_resource($query) ? mysql_fetch_array($query, $result_type) : $query[0];
}

function query_memcache($sql, $type = '') {
global $mem,$memcachelife;

$key = md5($sql);
if(!($query = $mem->get($key))) {
$query = $this->query($sql, $type);
while($item  = $this->fetch_array($query)) {
$res[] = $item;
}
$query = $res;
$mem->set($key, $query , 0, $memcachelife);
}
return $query;
}

function query($sql, $type = '') {
global $debug, $discuz_starttime, $sqldebug, $sqlspenttimes;

$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ?
'mysql_unbuffered_query' : 'mysql_query';
if(!($query = $func($sql, $this->link)) && $type != 'SILENT') {
$this->halt('MySQL Query Error', $sql);
}

if(substr($sql, 0, 6) == 'SELECT') {
echo '<font color="red">Cache SQL</font>:<font color="green">'.$sql.'</font><br /><br />';
} else {
echo '<font color="red">Flash SQL</font>:<font color="green">'.$sql.'</font><br /><br />';
}

$this->querynum++;
return $query;
}

4.将需要使用Memcache缓存的SQL查询的代码由
$db->query(

修改为
$db->query_memcache(

注意并将
while($post = $db->fetch_array($query)) {

修改为
foreach($query as $post) {

没有while的$db->fetch_array可以不用修改。

下面代码有用得着的就拿去:
preg_replace("/while\([$](\w+)\s*\=\s*[$]db->fetch_array\([$]query\)\)/is", "foreach(\$query as \$\\1)", $file);


测试,还是挺麻烦的。
作者: shinko    时间: 2009-9-20 13:50
OK.安装成功了..
http://imcat.in/

给了32M内存..先测试下..感觉很硬盘缓存差不多吧.可能要看数据缓存的多少吧
作者: cpuer    时间: 2009-9-20 14:02
标题: 回复 50# 的帖子
缓存用多了就会变快的应该。
作者: tumour    时间: 2009-9-20 14:02
原帖由 phpwinder 于 2009-9-20 13:41 发表
DZ什么时候开始加密了?你不用那个UC就行了。

DZ的安装要求一直写有zend呀?

另谢谢C大提供的安装方法。给你加分。
作者: cpuer    时间: 2009-9-20 14:10
标题: 回复 52# 的帖子
Ucenter比较恶心,要求Zend。
作者: pigicoffee    时间: 2009-9-20 14:11
DZ现在比较恶心~~~越来越不喜欢了
作者: cpuer    时间: 2009-9-20 14:13
标题: 回复 54# 的帖子
是有点恶心,但是没什么好的选择,而且习惯了的话。
作者: miyug    时间: 2009-9-20 17:41
我的怎么已开启站点就打不开了?大家看看http://www.mydays.org/

[ 本帖最后由 miyug 于 2009-9-20 17:44 编辑 ]
作者: cpuer    时间: 2009-9-20 17:46
标题: 回复 56# 的帖子
http://www.mydays.org/html/y2009/1614.html  可以打开啊,速度很快呢。

22 queries. 0.320 seconds.

memcached 没起作用吧?
作者: miyug    时间: 2009-9-20 17:51
原帖由 cpuer 于 2009-9-20 17:46 发表
http://www.mydays.org/html/y2009/1614.html  可以打开啊,速度很快呢。

22 queries. 0.320 seconds.

memcached 没起作用吧?

http://www.mydays.org/tz.php?act=phpinfo
memcached 开启的哦,晕死了
作者: cpuer    时间: 2009-9-20 18:05
标题: 回复 58# 的帖子
WordPress插件没作用?  问问qwe123
作者: miyug    时间: 2009-9-20 18:05
会不会和pecl-apc冲突啊
作者: cpuer    时间: 2009-9-20 18:08
标题: 回复 60# 的帖子
两者没有冲突好像。
作者: miyug    时间: 2009-9-21 14:13
终于被我搞定了,原来php.ini里还要添加设置参数,网上的文章里竟然大部分都没提,晕死了

session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"

以上两行需要添加

output_buffering = Off 要变为On即可

就为了这个晚睡觉还被老婆骂了一顿,真委屈
作者: cpuer    时间: 2009-9-21 15:19
原帖由 miyug 于 2009-9-21 14:13 发表
就为了这个晚睡觉还被老婆骂了一顿,真委屈

肯定没有坦白交代
作者: miyug    时间: 2009-9-21 20:09
原帖由 cpuer 于 2009-9-21 15:19 发表

肯定没有坦白交代

嗯,我骗她说我在忙工作的事,明天要交的
作者: cpuer    时间: 2009-9-21 21:57
标题: 回复 64# 的帖子
  善意的谎言。




欢迎光临 全球主机交流论坛 (https://hostloc-workers.ikyomon.com/) Powered by Discuz! X3.4