日期:2014-05-18  浏览次数:20385 次

被频繁访问的页面如何提高性能的问题?[欢迎大家探讨]
网站的首页,各二级模块的首页,往往都是用户最先访问的页面,因此提高性能就显的更加重要。

这些页面的一个特点,就是使用很多用户控件来读取不同数据表的一些不同的推荐内容。于是我产生了一个如下的疑问....

那么多的用户控件,每个用户控件都必然要访问一次数据库!也就是说,用户虽然只访问了一个页面,但实际上,数据库已经被打开N次,读取N次,关闭N次...
这无形中造成了服务器的巨大压力,影响了访问速度,而这些首页页面,却恰恰是最需要速度,因为他最被频繁访问....

以往我都是用缓存来实现,可是我今天突然想到了   Include   这个ASP时代古老的用法。我觉得在后台建立一个推荐系统,并动态生成HTML片段文件。
最后,使用Include来嵌入这些静态代码,不进行任何数据库的读取...

不知道我的想法有没有漏洞,请大家批批。
另外,还请大家谈谈自己开发首页时,是如何处理大量用户控件放在一个页面的问题的??

大家踊跃发言啊   ^o^

------解决方案--------------------
可以 考虑 使用 cache提高 性能

但是最好 还是 使用 静态页面的方式.

可以 通过 发布 或者 每天 生成 一次 静态首页的模式.
------解决方案--------------------
是啊,Cache可以做到提高速度,就要看如何配置和使用了
------解决方案--------------------
首页的话做成静态的好了
要不就是用页面级的缓存
------解决方案--------------------
我们的页面都加了缓存,根据参数来缓存,效果还可以。
<%@ OutputCache Shared= "true " Duration= "30 " VaryByParam= "CatalogueID;metatypeID " %>
------解决方案--------------------
设置 Cache 都设置多少时间啊
——————————————————————————————————————————
时间只是缓存依赖项中最差的一个,因此,通常它可以设置很长时间,例如10个小时,然后可以使用其它依赖项来进行微调,例如:sqlCacheDependency、VaryByControl、VaryByParam、依赖于磁盘文件是否改变,还可以设置自定义的CacheDepndency使得当某个变量被改变时立刻清除。
------解决方案--------------------
提高性能的方式,首先是优化数据库使用.

数据库优化极限后,再考虑其他.

从lz帖子中,感觉出来数据库还有大量工作可以做.
------解决方案--------------------
缓冲,做成静态页面
------解决方案--------------------
sp1234(看两只小鸭子吃食) 说的不错啊
不过先还是要优化数据库,比如优化SQL语句,还有给该加索引的字段加索引,其实往往这样的系统大部分性能问题都是出在数据库的问题上
------解决方案--------------------
最好的性能是生成静态页面,缓存会耗系统资源,当物理资源用到一定程度,系统就会开始去清除缓存。到时候又要从数据库生成页面了。
------解决方案--------------------
做成静态+shtml技术
------解决方案--------------------
用缓存没有问题的~
------解决方案--------------------
//毕竟cache是存在内存里的,而内存是不大的,十分有限的
//缓存会耗系统资源

这样的话让人笑掉大牙,缓存会占内存,相反是静态文件更耗资源
现在的计算机内存都是G级的,
而HTML文本文件的总量一般是M级,
除非设计极不合理,存在大量冗余,会占用多一些
何况楼主说的还是首页!

而图片什么的,两者并无区别
------解决方案--------------------
建议还是生成静态,或则用XML读取
------解决方案--------------------
都生成静态页面.
每一小时自动更新一次.