您的位置: 首页 / this site / 关于lilina的测试

关于lilina的测试

Published at Dec 21, 12am / Keywords: ,

已经在 NKBBS.ORG 上架设 lilina 一天了,参与测试的人少的可怜,不过我还是很庆幸~~幸好人不多,否则弄不好会多出很多麻烦呢。

今天仔细看了一下lilina的代码,四十几k瘦小的身躯,写的怎么说呢……不是很精彩。其实这个程序核心的功能,全部是由 magpierss 来实现的。关于 magpierss 是一个 GNU 下的开源项目,您可以在 http://magpierss.sourceforge.net 查看他们项目的具体内容,进展和源码下载。回来接着说 lilina ,这个小家伙实际上就是把 RSS 链接的地址放到一个文本文件中,然后用循环和文件函数把他们读出来,然后调用 magpierss 来汇聚,并将结果存入一个大大的数组中。而后调用 php 数组排序的相关函数来根据日期排序,最后就是输出。其实这样的程序感觉对于一个很小的个人网站来说,汇聚十个以下博客还可以,但对于大量RSS,或者服务器访问广域网速度不够迅速时,问题就出来了。具体表现就是页面要 Load 好久才能看到,或者返回 404。其实监视一下程序的 cache 目录你会发现,这个过程中 lilina (确切说是 magpierss )在建立缓存。但问题就在于 lilina 的作者将他们全部写在一个循环中。可以想像,这个循环必然会经理很长的处理时间,并耗费不少的服务器资源。一旦一定时间内用户的浏览器接收不到数据,它便会终止与服务器的连接。这样,服务器端就不会继续缓存了。直到有足够多的人次访问过这个聚合程序,缓存完成了,页面才会正常的显示出来。一旦当缓存的生存期一过,恶梦又将延续……

作为 NKBlog ,目前活跃用户就有几十个,而且很多分布于 异域桃源 blogcn 等非南开站上,访问速度必须是一个要考虑的因素。我觉得,应该用更科学有效的缓存手段才更加适合南开站。

其次,lilina 没有采用流行的程序外观分离的写法,使得对外观改造变得麻烦了许多。另外,很多东西写的比较麻烦,其实有更好的实现方法。

还有一点,不知作者出于什么原因,最新的 lilina 中 magpierss 也仅仅是 0.51 版。建议使用时将 SourceForge 上下载的 magpierss 0.71 版换上去,这样在 php5 环境下也可以正常使用,而且对多内码支持也更加完善。

好了,就写这么多吧。看来想偷懒还是不行了,还是要自己动手来写呀~~ 哎哎a

发表您的观点或推荐本文 Loading...