被频繁访问的页面如何提高性能的问题?[欢迎大家探讨]

chongachong 2007-05-20 07:14:23
网站的首页,各二级模块的首页,往往都是用户最先访问的页面,因此提高性能就显的更加重要。

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

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

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

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

大家踊跃发言啊 ^o^
...全文
347 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
chongachong 2007-06-03
  • 打赏
  • 举报
回复
如果可以做到访问一个页面后,其数据缓存到客户端上,再次访问同一个页面,就直接从客户端读出,从而避免重复访问IIS和数据库,那就比较厉害了。

有没有实现这种思路的具体做法?
jokulyang 2007-05-25
  • 打赏
  • 举报
回复
都生成静态页面.
每一小时自动更新一次.

hangzhou1121 2007-05-25
  • 打赏
  • 举报
回复
建议还是生成静态,或则用XML读取
viena 2007-05-25
  • 打赏
  • 举报
回复
//毕竟cache是存在内存里的,而内存是不大的,十分有限的
//缓存会耗系统资源

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

而图片什么的,两者并无区别
zorou_fatal 2007-05-25
  • 打赏
  • 举报
回复
shtml
viena 2007-05-25
  • 打赏
  • 举报
回复
用缓存没有问题的~
shysky 2007-05-25
  • 打赏
  • 举报
回复
做成静态+shtml技术
greenery 2007-05-24
  • 打赏
  • 举报
回复
最好的性能是生成静态页面,缓存会耗系统资源,当物理资源用到一定程度,系统就会开始去清除缓存。到时候又要从数据库生成页面了。
稍微有点无敌 2007-05-22
  • 打赏
  • 举报
回复
sp1234(看两只小鸭子吃食) 说的不错啊
不过先还是要优化数据库,比如优化SQL语句,还有给该加索引的字段加索引,其实往往这样的系统大部分性能问题都是出在数据库的问题上
tantj 2007-05-22
  • 打赏
  • 举报
回复
缓冲,做成静态页面
shrinerain 2007-05-22
  • 打赏
  • 举报
回复
提高性能的方式,首先是优化数据库使用.

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

从lz帖子中,感觉出来数据库还有大量工作可以做.
  • 打赏
  • 举报
回复
然后可以使用其它依赖项来进行微调 --> 然后可以使用其它依赖项来进行灵活控制
  • 打赏
  • 举报
回复
运行稳定吗?
————————————————————————————————————————
不稳定,又会怎样呢?
  • 打赏
  • 举报
回复
设置 Cache 都设置多少时间啊
——————————————————————————————————————————
时间只是缓存依赖项中最差的一个,因此,通常它可以设置很长时间,例如10个小时,然后可以使用其它依赖项来进行微调,例如:sqlCacheDependency、VaryByControl、VaryByParam、依赖于磁盘文件是否改变,还可以设置自定义的CacheDepndency使得当某个变量被改变时立刻清除。
chongachong 2007-05-21
  • 打赏
  • 举报
回复
恩,楼上的说的有点道理。
如果Cache和Include差别不大的话,偶就不用Include了。感觉有点象脱了裤子放屁~~

楼上老兄,象你们这样的大访问量的B2C网站,设置 Cache 都设置多少时间啊??运行稳定吗?
greenery 2007-05-21
  • 打赏
  • 举报
回复
我们的页面都加了缓存,根据参数来缓存,效果还可以。
<%@ OutputCache Shared="true" Duration="30" VaryByParam="CatalogueID;metatypeID" %>
sbqcel 2007-05-21
  • 打赏
  • 举报
回复
毕竟cache是存在内存里的,而内存是不大的,十分有限的。
/////
你那点数据能占多少内存?我们现在做的B2C网站全动态页面,大部分都CACHE了,效果挺好的
sbqcel 2007-05-21
  • 打赏
  • 举报
回复
首页的话做成静态的好了
要不就是用页面级的缓存
chongachong 2007-05-21
  • 打赏
  • 举报
回复
用Include 可行吗?有没有用Include的?
我觉得Include在这样的情况下,反而比cache更适合,更高效。不知道我的想法对不对。

毕竟cache是存在内存里的,而内存是不大的,十分有限的。
ObjectOriented 2007-05-20
  • 打赏
  • 举报
回复
是啊,Cache可以做到提高速度,就要看如何配置和使用了
加载更多回复(2)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧