知识大全 提搞网站访问速度可做哪些优化

Posted

篇首语:没有任何动物比蚂蚁更勤奋,然而它却最沉默寡言。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 提搞网站访问速度可做哪些优化相关的知识,希望对你有一定的参考价值。

  一   服务器优化

  l  Windows系列

   位Win r + Hpyer V + 负载均衡 + IIS

   位Win + 虚拟机 + 负载均衡 + IIS

  禁止服务器访问外网 关掉不必要的端口

  去掉每个磁盘的所有权限 只保留administrators组和system完全控制权限

  IIS 标识使用ApplicationPoolIdentity 给目录权限用户是 IIS AppPool\\站点名

  IIS 需要为每个站点建独立的用户 为IIS用户单独设置权限

  IIS禁止日志记录

  二   数据库优化

  l  位MSSQL

  少用触发器/游标/外键 多用存贮过程和视图 适量使用索引查询速度会提高很多 每个表的索引尽量不要超过 个

  定时查看死锁的进程和等待进程 并清除 还要及时修正死锁的来源

  复杂的统计报表需要用计划去跑

  查询记录数要使用count( ) 不要使用count(*)

  select的时候表字段不要使用* *查询所有字段是很慢的

  如果字段是索引列可使用UNION ALL 替代 OR 走索引线路查询

  大记录集要使用分页查询

  尽量不要使用TEXT/NTEXT类型 要使用VARCHAR(MAX)/NVARCHAR(MAX)

  尽量不要使用临时表 要使用Table表类型或内嵌视图

  三   后端优化

  l  多使用DbDataReader 尽量不要使用DataTable/DataSet读取数据

  l  for (int i = ; i < dt Rows Count; i++) 应该这么写

  for (int i = 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 = ; i < ; i++) string s = i ToString();

  正确写法 string s = string Empty; for (int i = ; i < ; i++) s = i ToString();

  这里还有一个地方要注意的 在字符串相加的时候 如果有int类型的要先转成string类型在相加 减少不必要的装箱拆箱操作

  l  如果你使用的是HTML控件 需要禁用<%@ Page EnableViewState= false AutoEventWireup= false EnableSessionState= false nfig <pages enableViewState= false enableSessionState= false />

  l  使用foreach替代for

  l  操作数据库要使用存贮过程/视图

  l  多使用CACHE对数据缓存 这才是最关键的 NET提供 HttpContext Current Cache/HttpRuntime Cache 共享缓存有velocity/ memcached

  l  可使用<%@ OutputCache Duration= 缓存页面 可使用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  nfig 加 <customErrors mode= On /> 关闭错误提示

  l  nfig 加 <pilation 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背景图片多张合并成一张图片 保证合并后的图片大小不要超过 K 可将JS文件合并在一个JS文件中 然后使用closure_packer_yui_piler进行压缩 这样做的好处是可减少客户端连接数

  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

cha138/Article/program/net/201311/12653

相关参考

知识大全 利用缓存来提高网站的性能

  您可以提高您站点的访问速度那么就需要用到cache(缓存)通常可以我们使用cache来处理经常检索的结果或不经常改变的数据结果      

知识大全 ASP.NET网站时报“拒绝访问”问题

ASP.NET网站时报“拒绝访问”问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  配置好网站

知识大全 我已经够买域名空间,也做好网站了,该怎么让我的域名访问到我的网站上啊

我已经够买域名空间,也做好网站了,该怎么让我的域名访问到我的网站上啊?,怎么让我的域名能够访问到我的网站空间?通常一个域名要访问到某个网站需要两个条件:A).一个是把该域名解析到放置该网站的主机IP上

知识大全 巧用JavaScript记录网站访问次数

巧用JavaScript记录网站访问次数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我们知道Co

知识大全 Java设置代理IP访问网站

Java设置代理IP访问网站  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  源码  import

知识大全 用手机和电脑访问同一个网站比如百度,为什么开启的网页不是完全一样的

用手机和电脑访问同一个网站比如百度,为什么开启的网页不是完全一样的?用手机和电脑访问同一个网站,开启的网页不一样是因为下述原因:在网站的设计上,手机访问和电脑访问是不一样的。手机和电脑的浏览器差异也会

知识大全 IIS访问网站的用户过多解决方法

IIS访问网站的用户过多解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  报错内容如下: 

知识大全 IIS+tomcat整合,并且通过域名访问网站[1]

IIS+tomcat整合,并且通过域名访问网站[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 IIS+tomcat整合,并且通过域名访问网站[2]

IIS+tomcat整合,并且通过域名访问网站[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 JS 精确统计网站访问量的实例代码

JS精确统计网站访问量的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这篇文章介绍了JS精