• 第一讲 性能与缓存


    *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));


     

  • 相关阅读:
    Effective_STL 学习笔记(三十一) 了解你的排序选择
    Effective_STL 学习笔记(三十) 确保目标区间足够大
    Effective_STL 学习笔记(二十九) 需要一个一个字符输入时考虑使用 istreambuf_iterator
    maven 项目 配置docker镜像生成(dockerfile-maven-plugin)
    docker容器时间不对及java程序时间不对解决
    spring boot 下websocket实现的两种方法
    封装下Excel导出
    python安装出现的证书问题
    k8s安装
    ssh免密登录
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/1407896.html
Copyright © 2020-2023  润新知