一、  服务器优化

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

五、  其它优化

提搞网站访问速度可做哪些优化相关推荐

  1. 别做无用功-禁止谷歌字体真的能加速网站访问速度吗?

    图片转存失败,个人博客alvincr.com,本文链接:https://alvincr.com/2021/01/google-fonts/ 首先禁用谷歌字体是需要分地区而言的,能够访问外网的用户使用谷 ...

  2. 浅谈网站访问速度优化

    周末女朋友公司的智慧医保项目上线了,但是web端访问速度比较慢,然后就来问问我有没有好的优化方案.于是就这篇[浅谈网站访问速度优化]就诞生了. 1.备案:好多个人网站为了方便,往往不喜欢备案,就把网站 ...

  3. [技术博客]使用CDN加快网站访问速度

    [技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's atten ...

  4. squid正反向代理-加快网站访问速度

    配置squid代理服务器加快网站访问速度 一:squid服务概述   Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有 ...

  5. 测试网站访问速度的5个方法

    网页载入速度对于一个网站来讲很关键,Google已经将一个网站的载入速度列入了网站关键字排名的考虑因素当中,也就是说如果你的网站有足够的内容,而且载入速度比别人的网站更快一步的话,那么你就是获得更好的 ...

  6. 使用 Nginx 提升网站访问速度

    使用 Nginx 提升网站访问速度 http://www.ibm.com/developerworks/cn/web/wa-lo-nginx/ Nginx 简介 Nginx ("engine ...

  7. php动态页面加载慢,通过动态加载JS文件提升网站访问速度

    相对与HTML,CSS,javascript是最影响浏览器性能的,因为浏览器在遇到<script>标签时,必须等待js代码下载和执行完毕后再执行后面的内容,因此当页面中js文件过多时,网站 ...

  8. 提高网站访问速度的十个技巧

     网站的访问速度和性能对用户体验来说是非常重要的.如果你的网站访问非常的慢,你不仅会失去用户,而且更可怕的是你会失去潜在的客户.像Google这样的互联网巨头也会把网站访问速度作为排名的一个参数. ...

  9. 如何让提高网站访问速度

    如何让提高网站访问速度 整理方案一: 网站访问速度可以直接影响到网站的流量,而网站的访问量几乎与网站的利益直接挂钩,因此网站的速度问题成为企业及站长十分关注的问题.现在网站越来越多,不少朋友的网站打开 ...

最新文章

  1. 归并排序改良 java_Java 八种排序算法总结
  2. Vue 安装 less
  3. Visual Studio 2017的第五个更新包扩展了调试工具
  4. 开始→运行→输入的命令集锦( 菜鸟必读)
  5. 计算机统计知识,计算机知识在统计工作中的重要性
  6. 知乎 2019 新知青年大会开幕,用问题改变世界的方向
  7. LVM详解;Linux逻辑卷管理
  8. Spring Cloud CAP 简述
  9. 20dbm是多少mw
  10. Ubuntu16.04安装LSD-SLAM
  11. MyBatis_查询缓存01
  12. 【Unity】热更新插件【ULua】学习教程整理
  13. CAD转Excel,该如何转换操作
  14. yocto编译linux,好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版
  15. 微信文件撤回时间多长_微信消息怎么撤回?撤回时间限制是多久?
  16. 文本分析常用R包的安装(Rweibo、wordcloud、tm、tmcn、Rwordseg、Rcharts、xlsx、XLConnect)
  17. 一个差劲程序员的历程(一)
  18. [论文笔记]基于 CNN+双向LSTM 实现服饰搭配的生成
  19. php 实现雪碧图制作,如何在小程序中使用雪碧图
  20. 基于STM32的“智能家居”课程设计

热门文章

  1. 信息学奥赛一本通 1044:判断是否为两位数 | OpenJudge NOI 1.4 06
  2. 棋盘游戏(信息学奥赛一本通-T1451)
  3. 统计问题(HDU-2563)
  4. 信息学奥赛C++语言:打印字母表
  5. noip复赛批量移动文件夹下的文件
  6. MATLAB实现BP神经网络预测汽油辛烷值
  7. android h5语音,html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia...
  8. javafx项目_为什么选择javafx?
  9. python海龟绘图画树_Python:海龟绘图(二)
  10. vue绑定自定义属性(属性值:false),DOM不显示问题