一、 服务器优化 l IIS需要使用集成模式,不要使用经典模式。 l 少用try catch,用到try catch时要跟 finally一起使用。 少用触发器/游标/外键。多用存贮过程和视图。适量使用索引查询速度会提高良多,每个表的索引尽量不要超过3个。 定时查看死锁的进程和等候过程,并肃清,还要及时修改逝世锁的起源。 庞杂的统计报表需要用打算去跑。 查询记录数要使用count(0) 不要使用count(*)。 select的时候表字段不要使用*。*查问所有字段是很慢的。 如果字段是索引列可使用UNION ALL 替代 OR,走索引线路查询。 大记载集要使用分页查询。 尽量不要使用TEXT/NTEXT类型,要使用VARCHAR(MAX)/NVARCHAR(MAX)。 尽量不要使用常设表,要使用Table表类型或内嵌视图。这里还有一个处所要留神的:在字符串相加的时候,如果有int类型的要先转成string类型在相加,减少不必要的装箱拆箱操作。 l Web.config 加 <customErrors mode="On" /> 关闭毛病提醒。 四、 前端优化 l for (int i = 0; i < dt.Rows.Count; i++) 应该这么写: foreach (DataRow info in dt.Rows)推举这种写法 l 可将站点天生静态面页,好处多多。 l JS代码段不要放在HTML页面,应当放在独破的JS文件里面,好处是JS文件能够CDN/缓存。 l 使用Server.Transfer调换Response.Redirect for (int i = 0, len = dt.Rows.Count; i < len; i++)或 l 多使用泛型聚集操作,少用ArrayList。 l 将CSS background背景图片多张合并成一张图片,保障合并后的图片大小不要超过50K。可将JS文件合并在一个JS文件中,而后使用closure_packer_yui_compiler进行紧缩,这样做的利益是可减少客户端衔接数。 l 假如你应用的是HTML控件,须要禁用<%@ Page EnableViewState="false" AutoEventWireup="false" EnableSessionState="false",web.config <pages enableViewState="false" enableSessionState="false" /> l 可使用URL重写成伪静态,提供rss/baidu-sitemap/google-sitemap服务,有利于搜索引擎收录。 l 大字符串操作请使用StringBuilder 少使用string,字符串比拟用Compare,字符串相加用Concat,大字符串相加用StringBuilder Append。 l 可将网站的图片/CSS/JS/材料/资源放到独立的站点,做下CDN加速,二级域名会有COOKIES,最好使用一级域名。 l 可使用<%@ OutputCache Duration="60" 缓存页面,可使用Response.BufferOutput = true;/ <%@ Page Buffer="true" 输出缓冲。 l A标记和IMG标记需要加上title/alt,<head>标签内需要加title/keywords/description/rss/sitemap优化,有利于搜寻引擎收录。 准确写法:string s = string.Empty; for (int i = 1; i < 10; i++) { s = i.ToString(); } l 变量要在先定义在使用,不要在轮回内定义变量。如: l 使用foreach替换for l 要学会使用jQuery进步开发速度。 l Windows系列: l 64位MSSQL2008: l 页面可启用gzip压缩。 五、 最大的网络公司; 其它优化 l 多使用DbDataReader,尽量不要使用DataTable/DataSet读取数据。 using (DbDataReader dr = Data网站建设公司.GetDbDataReader(strSql)) { while (dr.Read()) { }; } 过错的写法是:for (int i = 1; i < 10; i++) { string s = i.ToString(); } l 宣布站点时DLL要Release版本,不要用Debug版本。 l 装置FF的插件“YSlow/Page Speed”。 l 使用JSON + AJAX进行数据交互。 l 多使用using如: 64位Win2008r2 + Hpyer-V + 负载平衡 + IIS7.5 64位Win2003 + 虚构机 + 负载均衡 + IIS6 禁止服务器拜访外网。关掉不用要的端口。 去掉每个磁盘的所有权限,只保存administrators组和system完整把持权限。 IIS7.5标识使用ApplicationPoolIdentity,给目录权限用户是:IIS AppPool\站点名 IIS6需要为每个站点建独立的用户,为IIS用户独自设置权限。 IIS制止日志记载。l 操作数据库要使用存贮进程/视图。 l 可将CSS文件放到<head></head>之间,JS文件或代码放到</body>之前,让页面先显示在履行JS。 三、 后端优化 l Ajax调用页面要使用.ashx个别处置程序,速度要比.aspx文件要快。Ajax恳求要使用POST不要使用GET。 l 多使用CACHE对数据缓存。这才是最要害的。NET供给:HttpContext.Current.Cache/HttpRuntime.Cache,共享缓存有velocity/ memcached -->l Web.config 加 <compilation debug="false" /> 封闭调试模式。 二、 数据库优化 l 尽量少用<img标志,改用background款式节制背景图片。这样做的好处是便利扩大多皮肤。 l 最好不使用NET控件,用HTML控件,页面使用CSS+DIV布局。 (责任编辑:admin) |