Archive for the ‘drupal’ category

drupal-crawler的核心文档:一个PHP并发下载类,webcrawler_core.module

April 3rd, 2012

该文属于drupal-crawler的开发文档.类及函数的文档一个个上来。

webcrawler_core.module

有5个类及几个常用的采集函数,其中三个是并发下载类,两个是HTML分析类,目前3000行代码。HTML分析类独立写出来是为了节省性能,下载到的tidy等HTML分析类都太耗内存和CPU了,bluehost用不起,而且我只为采集用,其它功能不想用到。

该类下载地址:请到主文章 drupal-crawler发布,基于drupal的采集CMS,一起淘美金吧,alpha 中下载模块,找到其中的./webcrawler_core.module.(该类可用于任何的PHP程序,不一定要在该CMS中使用)

开发的源码来源于我早期的一段代码,当然,大改了:http://www.trackself.com/archives/463.html

drupal-crawler这个CMS最重要的核心就在于PHP并发下载,是在webcrawler_core.module文件中实现的

下面的一个示例函数并发下载图片.php curl 并发下载图片函数示例,html的类就叫downHTML了,并发下载文件就是multidown…. 
require_once "./webcrawler_core.module";
downloadimages();

function downloadimages(){
//下载图片的测试
$t=array(
‘http://photo3.jpg’,
‘http://photo1.jpg’,
‘http://photo5.jpg’,

);
$x=new downImage;
$x->downeachtime=10;//每图下载10s,可以不写
$x->input=$t;
$x->download();
print_r($x->output);
$x=NULL;
print ”

“;

}

Share

drupal views:再一次体会到为何views会慢了,为何drupal又会慢了

April 3rd, 2012

因为一个项目的原因,我有一个50万行的数据要进行重复的操作.另一个表只有7000行
由于是在我的笔记本上运行,所以我不在乎程序性能,
A表:50万行
B表:7万行
select a.*,b.* from a left join b on a.id=b.id
就这么一个查询(当然,程序中间有些 update)
搞到我笔记本运行了50次左右后,笔记本过热当机了
才发现left join啊, 太恐怖了
而views是最喜欢left join的,所以,当你的文章数量多了后,你的drupal必定痛苦
因为无论你的views好,还是原生drupal也好,都会有大量的left join
最典型的就是node_load这个大量调用的函数了.

而唯一能解决这个问题的办法要不就是静态生成,要不就是hook_views,要不就是hack core

Share

我经常用到的提高drupal性能的10个hack及代码

March 20th, 2012

drupal是框架型网站,所谓框架型:设计的初衷就是为了适应大部分需求,而为了这个适合,必然会有代价,那就是性能.

处理单用户的时候,处理1000个用户的时候,也用同样的代码,那么,显然,这个时候就会有性能多余了.

处理单语言的时候,处理多语言的时候,也用同样的代码,显然也是性能多余了.

处理少量文章的时候,处理极大量文章的时候,也用同样的代码,显然也是性能多余了.

由于经常用到,为方便自己查找,建立这个页面.

下面是我的drupal项目中经常用到的提高性能的方法及详细文章连接(都原创哦)

1.lamp模式,boost模块,cacherouter模块,opcode的安装.这些没什么好说的,安装好就行了.

2.drupal6默认最多只能cache 1天的数据,我们需要缓存1周的 » Read more: 我经常用到的提高drupal性能的10个hack及代码

Share

drupal anywhere : drupal的二次开发,定制自己的CMS

March 19th, 2012

最近1方面在做自己新的采集站另一方面就是完善上次上布的基于drupal的采集CMS,
下面分享”如何对drupal进行二次开发,并定制自己的CMS”
我准备为我的”采集CMS”实现以下功能:
1.在drupal安装的时候,能自动安装一大堆必须的模块,这个功能已经实现了.居体参考:drupal profile:自己制作(改)一个常用的profile

(要看明白下面的自动安装,必须 先看懂此文)
2.我希望能在安装的时候将默认主题改掉为blogbuzz,但管理主题使用garland (此文关注)
3.我希望我定制的采集站能有几个示例(暂时还没实现)

» Read more: drupal anywhere : drupal的二次开发,定制自己的CMS

Share

压缩drupal数据库最好的办法

March 13th, 2012

由于网站要从bluehost转到godaddy,而该站的数据库大小大于1GB,不能用于GODADDY,只能想办法减少数据库体积.
1.删除不安装的模块—–见效极低,但BOOST除外,BOOST模块非常吃数据库,其中的boost_view不断增大,不知是什么来的
2.删除不需要的内容—–见效极低,而且影响网站,批量删的话很容易删错
3.删除索引———极好,一下子省了200MB出来
所以,最好的办法是删除不必要的索引,这需要有一点的对数据库及对drupal的了解
我以前装了一个叫similar模块,性能很差,已经删了,但该模块添加了新的索引,对node_revision表进行的,结果一下子该索引就减少了100MB体积
删除该索引后就好很多了
于是再检查一下别的体积较大的表,同理做了很多的不必要的索引删除.
by:http://www.trackself.com

Share
« 1 2 3 4 5 6 7 8 9 10 11 12 ... 23 »