- 62浏览
- 2022-04-28
一、 服务器优化 Windows系列: 64位Win2008r2 + Hpyer-V + 负载均衡 + IIS7.5 64位Win2003 + 虚拟机 + 负载均衡 + IIS6 禁止服务器访问外网。关掉不必要的端口。 去掉每个磁盘的所有权限,只保留administrators组和system完全控制权限。 IIS7.5标识使用ApplicationPoolIdentity,给目录权限用户是:IIS AppPool\站点名 IIS6需要为每个站点建独立的用户,为IIS用户单独设置权限。 IIS禁止日志记录。
二、 数据库优化 l 64位MSSQL2008: 少用触发器/游标/外键。多用存贮过程和视图。适量使用索引查询速度会提高很多,每个表的索引尽量不要超过3个。 定时查看死锁的进程和等待进程,并清除,还要及时修正死锁的来源。 复杂的统计报表需要用计划去跑。 查询记录数要使用count(0) 不要使用count(*)。 select的时候表字段不要使用*。*查询所有字段是很慢的。 如果字段是索引列可使用UNION ALL 替代 OR,走索引线路查询。 大记录集要使用分页查询。 尽量不要使用TEXT/NTEXT类型,要使用VARCHAR(MAX)/NVARCHAR(MAX)。 尽量不要使用临时表,要使用Table表类型或内嵌视图。
三、 后端优化
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
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。