当前位置:七道奇文章资讯网站建设网站编程
日期:2010-10-07 16:53:00  来源:本站整理

ASP.NET网站提高拜候速度需求的五个优化[网站编程]

赞助商链接



  本文“ASP.NET网站提高拜候速度需求的五个优化[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  1、 服务器优化

  l Windows系列:

  64位Win2008r2 + Hpyer-V + 负载均衡 + IIS7.5

  64位Win2003 + 虚拟机 + 负载均衡 + IIS6

  禁止服务器拜候外网.关掉不必要的端口.

  去掉每个磁盘的全部权限,只保存administrators组和system完好掌握权限.

  IIS7.5标识利用ApplicationPoolIdentity,给目录权限用户是:IIS AppPool\站点名

  IIS6需求为每个站点建独立的用户,为IIS用户单独设置权限.

  IIS禁止日记记录.

  2、 数据库优化

  l 64位MSSQL2008:

  罕用触发器/游标/外键.多用存贮历程和视图.适当利用索引查询速度会提高很多,每个表的索引尽大概不要超越3个.

  按时查看死锁的进程和等候进程,并排除,还要及时改正死锁的根源.

  复杂的统计报表需求用筹划去跑.

  查询记录数要利用count(0) 不要利用count(*).

  select的时刻表字段不要利用*.*查询全部字段是很慢的.

  假如字段是索引列可以利用UNION ALL 替换 OR,走索引线路查询.

  大记录集要利用分页查询.

  尽大概不要利用TEXT/NTEXT范例,要利用VARCHAR(MAX)/NVARCHAR(MAX).

  尽大概不要利用暂时表,要利用Table表范例或内嵌视图.

  3、 后端优化

  l 多利用DbDataReader,尽大概不要利用DataTable/DataSet读取数据.

  l for (int i = 0; i < dt.Rows.Count; i++) 应当这么写:

  for (int i = 0, len = dt.Rows.Count; i < len; i++)或

  foreach (DataRow info in dt.Rows)举荐这种写法

  l 罕用try catch,用到try catch时要和 finally一同利用.

  l 多利用using如:

  using (DbDataReader dr = Data.GetDbDataReader(strSql)) { while (dr.Read()) { }; }

  l 大字符串操作请利用StringBuilder 少利用string,字符串对比用Compare,字符串相加用Concat,大字符串相加用StringBuilder Append.

  l 变量要在先定义在利用,不要在循环内定义变量.如:

  错误的写法是:for (int i = 1; i < 10; i++) { string s = i.ToString(); }

  精确写法:string s = string.Empty; for (int i = 1; i < 10; i++) { s = i.ToString(); }

  这里还有一个地方要注意的:在字符串相加的时刻,假若有int范例的要先转成string范例在相加,削减不必要的装箱拆箱操作.

  l 假如你利用的是HTML控件,需求禁用<%@ Page EnableViewState="false" AutoEventWireup="false" EnableSessionState="false",web.config <pages enableViewState="false" enableSessionState="false" />

  l 利用foreach替换for

  l 操作数据库要利用存贮历程/视图.

  l 多利用CACHE对数据缓存.这才是最关键的.NET供应:HttpContext.Current.Cache/HttpRuntime.Cache,同享缓存有velocity/ memcached

  l 可以利用<%@ OutputCache Duration="60" 缓存页面,可以利用Response.BufferOutput = true;/ <%@ Page Buffer="true" 输出缓冲.

  l 可将站点生成静态面页,好处多多.

  l 可以利用URL重写成伪静态,供应rss/百度-sitemap/谷歌-sitemap服务,有利于搜索引擎收录.

  l Ajax调用页面要利用.ashx普通处理程序,速度要比.aspx文件要快.Ajax恳求要利用POST不要利用GET.

  l 公布站点时DLL要Release版本,不要用Debug版本.

  l IIS需求利用集成情势,不要利用经典情势.

  l Web.config 加 <customErrors mode="On" /> 关闭错误提醒.

  l Web.config 加 <compilation debug="false" /> 关闭调试情势.

  l 利用Server.Transfer替换Response.Redirect

  l 多利用泛型调集操作,罕用ArrayList.

  4、 前端优化

  l 最好不利用NET控件,用HTML控件,页面利用CSS+DIV筹划.

  l 利用JSON + AJAX举行数据交互.

  l 要学会利用jQuery提高开辟速度.

  l 尽大概罕用<img标志,改用background款式掌握后台图片.这样做的好处是便利扩大多皮肤.

  l 将CSS background后台图片多张归并成一张图片,保证归并后的图片大小不要超越50K.可将JS文件归并在一个JS文件中,然后利用closure_packer_yui_compiler举行紧缩,这样做的好处是可削减客户端衔接数.

  l JS代码段不要放在HTML页面,应当放在独立的JS文件里面,好处是JS文件可以CDN/缓存.

  l 可将CSS文件放到<head></head>之间,JS文件或代码放到</body>之前,让页面先显示在履行JS.

  l 可将网站的图片/CSS/JS/资料/资源放到独立的站点,做下CDN加快,二级域名会有COOKIES,最好利用一级域名.

  l A标志和IMG标志需求加上title/alt,<head>标签内需求加title/keywords/description/rss/sitemap优化,有利于搜索引擎收录.

  l 页面可启用gzip紧缩.

  l 安装FF的插件“YSlow/Page Speed”.

  5、 别的优化
 


  以上是“ASP.NET网站提高拜候速度需求的五个优化[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • ASP利用正则表达式提取内容
  • nginx 反向代理iis支持 ASP脚本设置
  • <b>ASP.NET安全设置防备ASPXSpy</b>
  • Ubuntu Server+Apache 运行 asp.net
  • 怎样ASP.NET MVC调用Delphi开辟的Web报表
  • 学习ASP.NET需求举行的步骤办法
  • ASP.NET脚本过滤-避免跨站脚本攻击
  • Asp WinHttp.WinHttpRequest.5.1 对象利用详解
  • ASP防XSS注入函数
  • Asp 防备CC攻击模块 (Anti-CC.asp)
  • metasploit metasploit 中文系统安装失利问题
  • Ubuntu 11下安装Metasploit Pro 4.0.0
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .