浏览 5429 次
锁定老帖子 主题:关于.Net开发WEB项目中的性能问题讨论
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-07
介绍下我们的系统架构: 开发平台:VS.NET2005+SQLServer2005, 项目是一个社区项目,需要支持大流量的用户访问。 其他先不说,我们这里只谈技术; 网站开发过程中用到了大量的服务器控件,微软为我们提供了需要很好的web服务器控件/用户控件,使用了母板页的方式,数据访问也用类封装的,项目方案是按照petshop的架构分了四层模型作的,这些都没有什么问题。 但是项目正式运行起来的一段时间内发现,运行速度不是很理想,不知道是哪里出了问题? 关于开发web项目现在有几种观点: 1、 开发web项目时,尤其是大流量web项目,如果太多的使用服务器控件或用户控件会影响网站访问速度,开发中,页面的数据显示全部使用Vs提供的控件来显示,页面中全部是一个个gridview,button,repeater...等服务器控件,这样开发模式很好的响应了micro的号召。 2、还有些观点是,在做web项目当中,页面中尽量少用用户控件,页面全部用HTML控件,最多加个runat="server". 像一些数据显示可以这样写: public string show=""; show+="<table><tr><td>"+tbl.Rows[i]["name"].ToString()+"</td></tr></table>"; 在页面中我们直接写就可以了; <%=show%> 其实在开发web项目当中,绝大多数数据呈现都可以用这样的方式来实现。 在做web项目当中性能问题一直是大家讨论的热点问题,我本人是比较赞成第二个观点的,在开发当中,也是这样做的,不知道我的这种做法是不是最好的? 在这里向web开发方面的高手请教一些更好的建议或方法,大家一起讨论讨论! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-07
使用WebControl或HtmlControl一般不是产生性能问题的主要原因
引用 public string show=""; show+="<table><tr><td>"+tbl.Rows[i]["name"].ToString()+"</td></tr></table>"; 楼主如果在项目中很多地方都这样连接字符串,的确会影响性能,应该改用StringBuilder或者string.Format方法 另外,你说访问不顺畅,是哪些应用场景下的页面不顺畅呢,问题不明确很难讨论的 |
|
返回顶楼 | |
发表时间:2007-12-07
记得在cnblogs上已经回复过你了,这里再啰嗦一下
1. 慢 ,就要找原因,是哪块最慢,这样才好判断. 工具很多,试试用dottrace 3.0. vs.net 也有内置的工具. viewstate,postback得确会影响速度,但是否是主要原因呢? 做一个程序员,怎么这样不严谨 2. 至于你所说的第二种,先不说字符串这样连接是否会影响性能.现在流行的java框架..net 包括djanog,rails 有这么干的吗? 难不成大家的脑子都进水了 |
|
返回顶楼 | |
发表时间:2007-12-07
在补充一下,就是你测试结果得确是viewstae或postback引起的,也没有必要使用第二种.
看看已有monorails 或是马上就要出的asp.net mvc (asp.net mvc结构很简单) 第二种代码,比asp都要差,asp 是解释执行的,不用重新编译,你那样,改个界面,asp.net重新编译占用的资源可不能随便轻视.到时候有你受的 |
|
返回顶楼 | |
发表时间:2007-12-07
多谢各位的指点,偶明白了!以后要向大家多多学习
|
|
返回顶楼 | |
发表时间:2007-12-07
没有仔细研究性能的瓶颈到底在哪里就想解决性能问题是很困难的。
一般的经验,这类瓶颈都跟数据库查询性能相关。 |
|
返回顶楼 | |
发表时间:2007-12-14
应该看看是不是用了太多的DataSet了
|
|
返回顶楼 | |
发表时间:2008-01-03
同LSS意见
先开个profile保存下查询日志 看看 |
|
返回顶楼 | |
发表时间:2008-07-29
感觉楼主要看看页面的viewstate,以及在适当的地方加上缓存……
|
|
返回顶楼 | |