大家好!    比如,经常用runat="server",那服务器不是被占用更多资源?
另外,怎样做可以减小占用的资源呢?如果用asp.net做个支持大型的网站,如10W人的,那么软硬件环境如何调配?总之就是在技术,硬件等各方面都减少对服务器资源的占用,大家有什么好方法好意见,请陈述己见.

解决方案 »

  1.   

    ASP.NET读书笔记系列之------ 提高ASP.NET性能的方法  
    一、性能参数:
    1、  吞吐量
    2、  响应时间
    3、  执行时间
    4、  可伸缩性
     
    二、性能因素:
    1、ASPX执行环境
    2、编写代码逻辑 
    三、提高性能的方法:
    1、  避免不必要的操作.例如:在Page_Load中使用IsPostBack;
    2、  尽量减少使用服务器端控件
    3、  关闭不必要的页面Session和控件的ViewState <%@Page EnableSessionState =”false”%>
    4、  禁用VB和JSP动态类型   <%@Page Language=”VB” Strict=”true”%>
    5、  使用存储过程
    6、  使用DateReader代替DataSet
    7、  关闭ASP.Net的Debug模式
    8、  使用ASP.Net的Output Cache缓冲
    <%@ OutputCache Duration=60 VaryByParam=”None” %>
    <%@ OutputCache Duration=60 VaryByParam=”TextBox1,TextBox2” %>
    说明: Duration是设置Cache的过期时间;
         VarByParam是设置是否根据参数而变化,None时所有参数使用同一Cache,设置TextBox1时则根据TextBox1的不同值分别缓存;当有多个参数时则要组合缓存;
    9、  不要使用Exception控制程序流程
    try{
           result=100/num;
    }
    catch(Exception e){
           result=0;
    }
     
    if(num!=0)
           result = 100/num;
    else
           result=0;
     
    四、缓冲分类:
    1页面缓冲:根据VarByParam来进行不同的缓冲处理。
    2片段缓冲:在页面控件中使用页面缓冲,当一个页面里多次使用同一个页面控件时,需要根据VarByControl来进行不同的缓冲处理。
    3数据缓冲:Cache(范围是和Application一样,所有用户)
    Cache.Insert(“MyData”,Source,null,new CacheDependency(Server.MapPath(“authors.xml”)));
    Cache.Insert(“MyData”,Source,null,DateTime.Now.AddHours(1),TimeSpan.Zero);
    Cache.Insert(“MyData”,Source,null,DateTime.MaxValue,TimeSpan.FromMinutes(20)); 
      

  2.   

    这样的需求关键最关键在于你的设计是否合理,包括数据库的设计,页面的设计,业务逻辑的设计等等。合理应用缓存,尽可能使用静态页面,尽可能少用服务器端控件。楼主可以看看wrox的《ASP.NET性能高级编程》一书。
      

  3.   

    多谢!的确是好经验!
    在硬件允许的情况下,采用oracle会比mssql好吗,针对数据库进行一定的优化应该也相当有用吧.另外优化后,怎样知道优化的程度和结果呢?有没有什么测试软件之类的?
      

  4.   

    runat = "server" 一条优化原则: runat="server"不是一定要用,那些需要反数据提交到服务端的控件一定要加.
    否则,不需要加,比如: 那些像Label只是显示一下文本提示:"姓名" ,"年龄"等,完全可以去掉
      

  5.   

    减少数据库打开次数和往返数据库的大小是优化性能的关键..其次就是对于循环.如果要在循环中对字符串进行增加值就用StringBulider