大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > ASP.NET技巧 > Asp.net网站优化要注意的问题

Asp.net网站优化要注意的问题

关键词:Asp.net网站优化  阅读(751) 赞(45)

[摘要]本文讲解Asp.net网站优化要注意的问题,让你的网站速度更快!

网站优化重点:

1.  优化基础后台程序

处理好后台程序,不光是影响速度还影响网站的性能和稳定性

2.  优化部分简单前台程序(影响速度)

1.页面js/css优化

A.精简js,去除无用重复的js

B.多个外部js整合到一个或者两个外部js

C.由于js加载的特殊性 非特殊用途将js放到form下面(css样式一定要放到head里面)

d.压缩js(暂时没有处理)

e.报错死循环的js一定要避免(比如我们加载 “图片未找到”经常出现的问题)

f.简化 优化css (css这块美工比我们更清楚)

2.页面图片处理

1.尽量减少图片大小

2. 专门为图片的加载 使用几个二级域名(相同的域名设置好cookie-free)  提高图片的加载速度  备注:二级域名使用一个网站的主域名设置好cookie_free

3.为图片建立对应结构图片文件夹

(图片这块很关键,页面加载的速度至少要占到一半(不信可以将图片都拿掉试试)

3.网站页面的处理

1.网站开启gzip (几乎所有大型网站开启了gzip)

2.其它…(对于页面优化处理至少有14条  )

这儿我将前台页面放在我们程序处理前面是因为,影响网站加载速度,真正原因其实上面这三个东西。如果你觉得网站打开慢,请查看html源文件里面有多少垃圾代码,整个页面内容有多少。所以想加快速度首先看看怎么减少垃圾代码和页面内容,当然这个工作是我们程序员来完成。

4处理页面的viewstate视图状态

结合功能实际进行处理,至少保障首页

5.建立表数据库 索引

(比如会员表memberLoginID字段就有必有建立非重复索引)

6.系统设置 进行静态处理

注意做好静态变量的清空

7. asp.net前台缓存

缓存的作用不言而喻,asp.net提供强大的缓存机制。详细资料可以查看msdn上面的资料

例如:

SQLServer2005 缓存依赖

1. Service Broker的开启

2. 新建global.asax 建立数据库的控制

开启

System.Data.SqlClient.SqlDependency.Start(connectionString);

停止

System.Data.SqlClient.SqlDependency.Stop(connectionString);

3.Web.config的修改

<system.web>

<caching>

<sqlCacheDependency enabled="true" pollTime="1000">

<databases>

<add name="abico" connectionStringName="ShopNum1Cache"/>

</databases>

</sqlCacheDependency>

</caching>

</system.web>

8.处理前台的绑定方式

明确数据源,进行绑定

比如<%#Eval(“ID”)%>

换成<%#((DataRowView)Container.DataItem).Row["ID"] %>

原因网上大家搜索一下

9.处理好分页

网站数据 有10万,效果就非常明显了

a.       多用户分页的方式 超过3种

b.不要忽略后台的  gredview分页,这儿有必有处理 (多用户处理了商品和店铺分页)

10.前台页面关键字,前台展现的分类缓存

缓存处理,关键字等可以进行静态处理,其他可以选用asp.net  cache缓存

11.前台商品数据及其他数据绑定的sql语句

a.减少多表联查

b.需要什么字段查询什么字段

c查询条件不要用模糊查询

d.条件建立索引  (搜索例外)

e.用SqlDataReader代替datatable或者dataset (其实网上到处都是这两个东西对比)

f.对于查询结果建立缓存(这个的作用 就不用说了)

第10个和11个的都是前台页面  读取mssql数据库绑定数据,

这儿声明静态变量和缓存使用标准.(个人总结非官方)

静态变量:

a.       改动性很小或者改动时间间隔很长

b.      网站所有用户都需要的数据

c.       网站经常被访问的东西

缓存:

a.       改动性较大(几天甚至几个小时)

b.      网站经常被访问的东西

12.前台广告的缓存

1.前台的广告都是读取xml,每次访问页面都要读取xml广告。但是广告的改动性不是很大(至少也是几天改一次)直接静态存储所有前台广告,更改广告时重置

13.优化httpmode

网站的伪静态的实现是通过,httpmode来实现的。事实上这种伪静态的方式是比不上IIS 下的Rewrite,通过筛选器的方式实现方式。这个微软官方有说明的,但是鉴于公司项目已定,这个就不能换了。

a.影响整个网站的速度(检查判断或者查询是否多余或者臃肿)

b.httpmode尽量减少对数据库的访问(如果有 一定要优化查询查询语句,比如需要某个字段查询就只写那个字段,查询的字段在数据库建立索引,千万不要用模糊查询)

14.sql2005数据库的全文索引

优化一些模糊查询

15. squid代理服务器的使用

Squid以前使用在linux系统上,但是window上现在也是支持的。像腾讯,搜狐都是用了squid的,用好了squid,也是网站提速一个快捷方法。

备注: Squid

Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率。Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。

16.分布式(暂时没用到系统里面)



相关评论