• 第一讲 性能与缓存


    *ASP.NET的性能状况
    ASP.NET的引擎从原理上保证高性能
    一次编译
    Internet Explorer-->Parser-->Compiler-->Assembly Cashe-->Memory-->OutputCache-->回来
    第二次运行
    Internet Explorer-->-->Assembly Cashe-->Memory-->OutputCache-->回来

    *ASP.NET的引擎从原理上保证高性能
    CLR Just-in-time Compiler
    对多CPU有很好的支持
    运行时优化编译
    *引擎的优化不能彻底解决性能问题
    代码逻辑不优化
    引擎无法控制的,潜在的性能优化点


    *性能问题与优化原则
    性能参数
    吞吐量
    响应时间
    执行时间
    可伸缩性

    基本优化原则
    减少不必要的资源消耗
    CPU,内存

    *性能提高的技巧
    避免不必要的执行操作
    Page_Load和IsPostBack
    void Page_Load(Object sender,EventArgs e)
    {
     if(!Page.IsPostBack){......}
    }

    *页面执行顺序
    Page_Load-->Properties Change-->Action

    *性能提高的技巧
    关闭不必要的Session状态
    <%@ Page EnableSessionState="false" %>
    注意使用Server Control
    不必要时可以不使用Server Control
    不必要时可以关闭ViewState
    <asp:datagrid EnableViewState="false" runat="server" />
    <%@ Page EnableViewState="false" %>

    *不要用Exception控制程序流程
    try
    {
     result=100/num;
    }
    catch(Exception e)
    {
     result=0;
    }
    //--------------------------
    if(num!=0)
     result=100/num;
    else
     result=0;

    *禁用VB和JScript动态数据类型
    <%@ Page Language="VB" Strict="true" %>
    使用存储过程数据访问
    只读数据访问不要使用DataSet
    使用SqlDataReader代替DataSet
    SqlDataReader是read-only,forward-only
    关闭ASP.NET的Debug模式
    使用ASP.NET Output Cache缓冲数据

    *ASP.NET输出缓冲
    页面缓冲
    <%@OutputCache %>
    Duration
    VaryByParam
    片断缓冲
    VarByControl
    (用户空件)

    *数据缓冲
    过期依赖条件
    Cache.Insert("MyData",Source,newCacheDependency(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));


     

  • 相关阅读:
    Python进程、线程
    Maven项目的坐标GroupId和ArtifactId
    java中的变量
    java中new一个对象的执行过程及类的加载顺序
    java中string和int互相转化
    什么是设计模式?
    Mybatis解决了JDBC编程哪些问题
    SQL注入、占位符拼接符
    JDBC、事务和连接池
    关于Spring配置文件xml文档的schema约束
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/1407896.html
Copyright © 2020-2023  润新知