提搞网站访问速度可做哪些优化小结

所属分类: 网站运营 / 建站经验 阅读数: 67
收藏 0 赞 0 分享
一、 服务器优化

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 <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/baidu-sitemap/google-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。

四、 前端优化

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”。

五、 其它优化
更多精彩内容其他人还在看

对7种博客赚钱方法的一些思考 最信赖Adsense

其实我并不喜欢互联网中什么CPA、CPC、CPM等博客赚钱方法,直到现在我博客也只挂了个Google Adsense,心里一直认为这种按点击、按展示量付款的模式不靠谱
收藏 0 赞 0 分享

浅谈地方站运营的三大法宝

本人在2000开始接触网站制作了,只是在业余时间搞的玩,只是懂一点简单的制作,对网站的运营也是2005年后开始接触的。
收藏 0 赞 0 分享

做网站6年的一些个人经验之谈

我是一个地地道道的菜鸟,不懂程序,可以说头脑是一片空白,但是我对做站有浓厚的兴趣。刚开始,我通过自助做站结识了建网站,由免费到申请了一个90元一年的空间。
收藏 0 赞 0 分享

每个网页设计者都自以为是

网页技术更新很快,一个网站的界面设计寿命仅仅2-3年而已。不管是垃圾还是精品,都没有所谓的经典。
收藏 0 赞 0 分享

中国草根站长心理分析之一二三

从我踏入站长圈那天起我就在分析每个我所认识的站长的性格,也渐渐积累了一些自己的看法。
收藏 0 赞 0 分享

个人站长生存学 垃圾站解决生存问题

很难想像在如今这个资本为王的社会,个人站长这个群体仍然坚强地站立着,成为这个互联网的有力组成部分。他们没有雄厚的资金,也没有非常高端的技术,但是他们也确实依靠自己的网站养家糊口,单打独斗自有自己的一套生存学。
收藏 0 赞 0 分享

网站更换域名对网站带来的影响及补救措施完美小结

更换域名,通常情况下网站是需要承受着搜索引擎带来的很大风险的,作者通过自己的亲身经历,总结出了能尽可能将风险降到最小的办法,有需要的朋友可以尝试下。
收藏 0 赞 0 分享

个人站长怎样选择做站

做站是为了赚钱,我相信没人会反对,网站有了流量,才能赚钱,本篇文章将为大家介绍做站方向的取舍,使流量来的快,竞争小。
收藏 0 赞 0 分享

网站的成败往往决定于小细节

今天我们就谈一下新手站长可能会犯的错误,看看哪些是你曾做过的,看了这些希望你能豁然开朗。
收藏 0 赞 0 分享

新网站初期需要注意的一些技术问题小结

对互联网有了解的人都有自己的想法,有人就把想法付诸实现,做个网站然后开始运营。
收藏 0 赞 0 分享
查看更多