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网站提高拜候速度需求的五个优化[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |