性能优化原则:性能和功能从来都是矛盾的,在这里我们需要的是性能优化,所以我们将尽可能放弃某些功能。以下性能优化方法全部是从科汛系统本身来讲的,不涉及到HTML等网页代码的优化。
一、前台全部生成HTML,尽可能不要使用收费功能。无论如何,首页一定要生成HTML。
众所周知,ASP方式再快再怎么优化,也快不过HTML。虽然网站在生成HTML时会比较占用服务器资源,但HTML页面一旦生成后,就不再需要访问数据库,速度几乎不再受服务器的性能影响,而只与网络带宽有关,所以我们一定要尽可能的生成HTML。生成HTML还有许多好处,比如更利于搜索引擎收录等,这里就不多说了。科汛系统可以将网站首页、频道首页、栏目列表页、内容页全部生成HTML,大家一定要尽可能的使用这个功能。科汛系统生成的HTML页面,除了内容页的点击数和评论两个功能外,可以完全独立于数据库之外运行。也就是说,如果你不要显示点击数和相关评论以及搜索功能的话,完全可以在自己电脑上生成HTML,再FTP上传到网站服务器上(服务器上不需要数据库),实现真正的“全静态”网站。
如果你的网站是收费网站,也请启用生成HTML功能,科汛会自动进行判断,对有权限设置的栏目和文章,会不生成HTML,自动改为ASP方式。这些情况下,我们仍可以将网站首页、频道首页等生成HTML,以减轻服务器的压力。
如果你的网站的收费内容比较多,或者全部是收费内容,那只有一个建议:升级服务器硬件配置,比如升级到双至强3.0G+4G内存+三个SATA 160G硬盘组成Raid5的磁盘陈列。
二、模板尽可能的简单。
许多网站特别喜欢在首页放上一大堆内容,做得好像是新浪和网易首页一样。这一点抛开其他不谈,就性能上来说,肯定是非常消耗资源的。大家在设计首页模板时,首页基本上调用众多{$GetArticleList(***)}等超级函数标签来做的,而这些超级函数标签,每一个都至少需要查询一次数据库,多时可能会有几十次。大家可想而知,当你在一个页面查询了几十次甚至上百次数据库,这个页面还有性能而言吗?
正确的做法是:网站首页和频道首页使用{$GetArticleList(***)}等超级函数标签的数量尽可能不要超过10个。栏目页和内容页尽可能只有一个超级函数标签。
三、标签制作时时尽可能指定频道和栏目,尽量不要调用所有频道或所有栏目的内容。
前面说到{$GetArticleList(***)}这些超级函数标签,每一个标签都需要至少查询一次数据库。这一点有些编程基础的网友应该非常容易明白。但为什么在标签调用时要指定频道和栏目呢?这是因为,如果不指定频道,也就是让系统从所有频道中查询内容,而科汛的设计是每个频道都可以设置是否生成HTML和目录结构等许多设置,这样当我们查询出来的文章不在同一个频道时,就需要得到每篇文章的所属频道的这些设置,并根据这些设置来确定最后的文章内容页地址,其间可能会引发几十次查询,性能当然低了又低。
四、尽量不要使用“自定义字段”功能。
自定义字段功能是为了解决科汛系统不能满足用户的需求时能够自己添加部分简单功能的变通解决方法,这个功能肯定会引起性能上的降低,所以如果不到万不得已,请大家不要使用这个功能。
五、“自定义静态标签”的数量不要太多。
自定义静态标签使许多人都享受到模板设计与修改时非常方便的优势。但有些网友把这个功能用得过了头了,竟然定义了几百个甚至上千个“自定义静态标签”,这样会引起性能的急剧下降。因为系统在解析模板时,会将所有“自定义静态标签”查询出来并进行解析,想一想,如果有1000个“自定义静态标签”,则不仅要把这1000条标签记录查询出来,还要对模板进行1000次替换操作,这将消耗多少计算资源?
五、尽量不要使用“自定义函数标签”、“自定义页面”功能。
这两个功能可以极大的拓展科汛系统的灵活性,但同样的会带来性能上的损失。并且这两个功能的使用需要用户具备相当的编程知识后才能使用,许多人却不管3721,也不管自己的水平,系统有这个功能就要用。
六、尽量将模板及标签的输出方式改为Div+CSS方式。
众所周知,Div+CSS方式与传统的Table布局方式相比较,前者在许多情况的代码量少,在客户端的解析速度快,而后者在一些细节效果方面的灵活度比较好,所以我们一般是使用Div+CSS来完成整个网站的大布局,使用Table来做细节的效果。科汛的众多标签已经支持Div+CSS输出了。有能力的网友,大胆的将模板改成Div+CSS方式吧。
七、注意文章采集项目中,“关键字”设置。
关键字功能是用于在一篇文章中显示“相关文章”的,某篇文章的关键字越多,相关文章越多,不过查询时的速度也越慢。许多站长在设置文章采集项目时,为了方便,在设置“关键字”这一项时,直接设置为“将标题拆分成关键字”这种方式,结果导致每篇文章可能有10几个关键字,这样在查询相关文章时,会引起严重的性能下降。
八、尽量减少“站内链接”的数目。
通过站内链接,我们可以方便的在文章内容中自动的将相关关键字加上链接,会大大增强网站内容间的关联度。但站内链接的数目不宜过多,否则会引起严重的性能下降。这个功能和自定义标签一样,在生成每篇文章时,要对文章内容进行替换操作,如果站内链接数量过多,就会因为替换次数太多而引起性能下降问题,如确实需要很多的替换内容,请尽量减少替换次数,比如可以设置为“替换1次”,而不使用全文替换。
九、尽量不要使用文章内容“自动分页功能”。
十、有条件的朋友尽量使用商业版的SQL数据库,AC和SQL的差距不用我多说了!
十一、不要使用科汛自带的网站统计功能
众所周知,网站统计功能是非常占用资源的,科汛的网站统计功能也不例外。现在网上有许多免费的网站统计服务,如Google、CNZZ,我们为什么不用这些免费的统计服务,而让自己的网站再增加一个极占资源的功能。
本优化手册将不断更新,欢迎大家踊跃跟贴提出自己的优化方法。