zoukankan      html  css  js  c++  java
  • asp.net程序性能优化总结

    asp.net程序性能优化总结

    ——备忘具体技术 细节请查询

    1.          缓存页面OutPut缓冲(根据参数VaryByParamsLocation、保存到硬盘)、User Control的片断缓存(VaryByControl=Con:针对此控件所在的每个页面创建单独的缓存条目)、缓存API、数据缓冲(文件依赖、时间依赖、相对过期依赖)、回调缓存(<asp:Substitution />)。

    2.          数据处理方面的优化

    a)          返回大量数据且不做大量处理,返回类型用SqlDataReader只读数据访问不要使用DataSet。

    b)         使用存储过程,好处:1、有助于处理复杂业务。2、可扩展性,数据库结构改变,易于维护修改。3、减少网络传输时间。4、预编译,速度比执行Sql语句快很多。

    c)          查询语句优化:SET FORCEPLAN强制Sql Server按表出现顺序使用表。用它选择表联结顺序。

    d)         数据库连接使用完毕立即关闭,使用using自动关闭,比手动关闭哪个优?(待查询)

    e)          优化查询语句。不在查询语句中包含子查询语句,充分利用索引。

    f)          对数据进行分页,按页码和每页条数返回每次请求所需数据。[fg9]

    g)          返回多个数据集。SqlCommand对象的ExecuteReader方法返回一个强类型的业务对象,再调用NextResult方法来移动数据集指针来定位数据集,但必须把业务逻辑写到存储过程里面

    3.          页面优化

    a)          无特殊要求,使(页面视图状态)EnableViewState=false。如:页面无需回传或者每次仅只是呈现。

    b)         页面布局:用FlowLayoutGridLayout(绝对定位,代码多)好。

    c)          尽量使用html控件,能用javascript的就用。数据控件选择:Repeater>Datalist>DataGrid

    4.          字符串操作”s” + 2.ToString(); 使用StringBuilder

    5.          采用 Server.Transfer 语法避免不必要的客户端重定向

    6.          启用网络园艺

    7.          优化web服务器

    a)          仅对需要的应用启用身份验证。

    b)         考虑对应用程序禁用 AutoEventWireup,需重写Page.OnLoad(),而不能直接使用Page_Load()

    c)          从请求处理管线中移除不用的模块。Machine.config 文件中 <httpModules> 节点默认为激活,如果在应用程序中不使用会话状态和输出缓存,则可以从 <httpModules>列表中移除它们。

    8.          关闭ASP.NET的Debug模式

    9.          其他额外:(没用过,不懂) http://dotnet.mblogger.cn/mark_lee/posts/6329.aspx似乎只针对Server 2003。

    a)          IIS6.0中启用Gzip压缩发送数据,要修改IIS6.0xml配置文件。

    b)         IIS6.0Kernel Caching

    c)          后台处理。System.Threading命名空间下Timer类。如:提交一个新帖子……检查,发邮件

    10.        

    11.        

    12.        

    13.        

    14.        

    15.        

    16.        

    17.        

    18.        

    19.        

    20.        

    21.        

  • 相关阅读:
    base64加密后字符串长度
    Mysql如何查字段的长度,Mysql中length()、char_length()的区别
    Java 逆变与协变的名词说明
    Java 泛型在实际开发中的应用
    MySQL自增主键排序问题
    【python基础】怎么实现装饰器?
    【python基础】列表推导式
    【python】爬虫实践项目(一):39问医生
    关于DRF序列化器模型字段参数设置报错AssertionError: May not set both `read_only` and `write_only`
    DRF学习笔记
  • 原文地址:https://www.cnblogs.com/winner/p/637199.html
Copyright © 2011-2022 走看看