提搞网站访问速度可做哪些优化
一、 服务器优化
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”。
五、 其它优化
提搞网站访问速度可做哪些优化相关推荐
- 别做无用功-禁止谷歌字体真的能加速网站访问速度吗?
图片转存失败,个人博客alvincr.com,本文链接:https://alvincr.com/2021/01/google-fonts/ 首先禁用谷歌字体是需要分地区而言的,能够访问外网的用户使用谷 ...
- 浅谈网站访问速度优化
周末女朋友公司的智慧医保项目上线了,但是web端访问速度比较慢,然后就来问问我有没有好的优化方案.于是就这篇[浅谈网站访问速度优化]就诞生了. 1.备案:好多个人网站为了方便,往往不喜欢备案,就把网站 ...
- [技术博客]使用CDN加快网站访问速度
[技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's atten ...
- squid正反向代理-加快网站访问速度
配置squid代理服务器加快网站访问速度 一:squid服务概述 Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有 ...
- 测试网站访问速度的5个方法
网页载入速度对于一个网站来讲很关键,Google已经将一个网站的载入速度列入了网站关键字排名的考虑因素当中,也就是说如果你的网站有足够的内容,而且载入速度比别人的网站更快一步的话,那么你就是获得更好的 ...
- 使用 Nginx 提升网站访问速度
使用 Nginx 提升网站访问速度 http://www.ibm.com/developerworks/cn/web/wa-lo-nginx/ Nginx 简介 Nginx ("engine ...
- php动态页面加载慢,通过动态加载JS文件提升网站访问速度
相对与HTML,CSS,javascript是最影响浏览器性能的,因为浏览器在遇到<script>标签时,必须等待js代码下载和执行完毕后再执行后面的内容,因此当页面中js文件过多时,网站 ...
- 提高网站访问速度的十个技巧
网站的访问速度和性能对用户体验来说是非常重要的.如果你的网站访问非常的慢,你不仅会失去用户,而且更可怕的是你会失去潜在的客户.像Google这样的互联网巨头也会把网站访问速度作为排名的一个参数. ...
- 如何让提高网站访问速度
如何让提高网站访问速度 整理方案一: 网站访问速度可以直接影响到网站的流量,而网站的访问量几乎与网站的利益直接挂钩,因此网站的速度问题成为企业及站长十分关注的问题.现在网站越来越多,不少朋友的网站打开 ...
最新文章
- 归并排序改良 java_Java 八种排序算法总结
- Vue 安装 less
- Visual Studio 2017的第五个更新包扩展了调试工具
- 开始→运行→输入的命令集锦( 菜鸟必读)
- 计算机统计知识,计算机知识在统计工作中的重要性
- 知乎 2019 新知青年大会开幕,用问题改变世界的方向
- LVM详解;Linux逻辑卷管理
- Spring Cloud CAP 简述
- 20dbm是多少mw
- Ubuntu16.04安装LSD-SLAM
- MyBatis_查询缓存01
- 【Unity】热更新插件【ULua】学习教程整理
- CAD转Excel,该如何转换操作
- yocto编译linux,好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版
- 微信文件撤回时间多长_微信消息怎么撤回?撤回时间限制是多久?
- 文本分析常用R包的安装(Rweibo、wordcloud、tm、tmcn、Rwordseg、Rcharts、xlsx、XLConnect)
- 一个差劲程序员的历程(一)
- [论文笔记]基于 CNN+双向LSTM 实现服饰搭配的生成
- php 实现雪碧图制作,如何在小程序中使用雪碧图
- 基于STM32的“智能家居”课程设计
热门文章
- 信息学奥赛一本通 1044:判断是否为两位数 | OpenJudge NOI 1.4 06
- 棋盘游戏(信息学奥赛一本通-T1451)
- 统计问题(HDU-2563)
- 信息学奥赛C++语言:打印字母表
- noip复赛批量移动文件夹下的文件
- MATLAB实现BP神经网络预测汽油辛烷值
- android h5语音,html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia...
- javafx项目_为什么选择javafx?
- python海龟绘图画树_Python:海龟绘图(二)
- vue绑定自定义属性(属性值:false),DOM不显示问题