论坛首页 编程语言技术论坛

关于.Net开发WEB项目中的性能问题讨论

浏览 5429 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-12-07  
最近公司新上了一个Web项目,已经正式在发布了,但是本人总感觉我们的网站访问速度不很流畅,希望 高手给与指点一二:
介绍下我们的系统架构:
开发平台: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开发方面的高手请教一些更好的建议或方法,大家一起讨论讨论!
   
   发表时间:2007-12-07  
使用WebControl或HtmlControl一般不是产生性能问题的主要原因

引用

public string show="";
show+="<table><tr><td>"+tbl.Rows[i]["name"].ToString()+"</td></tr></table>";


楼主如果在项目中很多地方都这样连接字符串,的确会影响性能,应该改用StringBuilder或者string.Format方法

另外,你说访问不顺畅,是哪些应用场景下的页面不顺畅呢,问题不明确很难讨论的
0 请登录后投票
   发表时间:2007-12-07  
记得在cnblogs上已经回复过你了,这里再啰嗦一下

1. 慢 ,就要找原因,是哪块最慢,这样才好判断. 工具很多,试试用dottrace 3.0. vs.net 也有内置的工具. viewstate,postback得确会影响速度,但是否是主要原因呢? 做一个程序员,怎么这样不严谨

2. 至于你所说的第二种,先不说字符串这样连接是否会影响性能.现在流行的java框架..net 包括djanog,rails 有这么干的吗? 难不成大家的脑子都进水了
0 请登录后投票
   发表时间:2007-12-07  
在补充一下,就是你测试结果得确是viewstae或postback引起的,也没有必要使用第二种.

看看已有monorails 或是马上就要出的asp.net mvc (asp.net mvc结构很简单)

第二种代码,比asp都要差,asp 是解释执行的,不用重新编译,你那样,改个界面,asp.net重新编译占用的资源可不能随便轻视.到时候有你受的
0 请登录后投票
   发表时间:2007-12-07  
多谢各位的指点,偶明白了!以后要向大家多多学习
0 请登录后投票
   发表时间:2007-12-07  
没有仔细研究性能的瓶颈到底在哪里就想解决性能问题是很困难的。
一般的经验,这类瓶颈都跟数据库查询性能相关。
0 请登录后投票
   发表时间:2007-12-14  
应该看看是不是用了太多的DataSet了
0 请登录后投票
   发表时间:2008-01-03  
同LSS意见
先开个profile保存下查询日志  看看
0 请登录后投票
   发表时间:2008-07-29  
感觉楼主要看看页面的viewstate,以及在适当的地方加上缓存……
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics