大型网站的优化
2015-07-25 17:14
471 查看
[b]为什需要优化网站[/b]
[b]大型网站的特点[/b]
1高访问量
2同时在想人数多
3数据访问量庞大
4数据操作频繁
[b]网站性能测试的指标[/b]
WEB应用服务器
数据库服务器
系统服务器
客户关心的指标
日访问量
同时在线人数
最大并发连接数(网站最多能同时处理的连接请求数)最低60-100
访问响应时间(网站服务器生成HTML的时间,网路传输的时间,浏览器解析的时间)
同时在线人数和最大并发的区别!
并发数一般都是大于同时在线人数的
(网页 图片 javascript)等同时请求 叫并发
[b]网站性能具体体现[/b]
1.首屏时间(用户体验最直接反应标准)
2.网页访问可用性
3.建立连接时间(包含DNS时间)
4.DNS时间
雅虎的黄金法则 1内容 2服务器 3Cookie 4css 5javascript 6图片 7移动应用
YSlow工具(可以给网站打分)
5.重定向时间
6.第一个数据包时间
7.总下载时间
8.错误情况
如何实现的网站优化
[b]网页内容优化[/b]
一。减少HTTP请求
减少页面元素(简化页面设计)
》合并文件(Js或CSS文件)【常用】 这个是减少图像请求的有效方法(把所有背景图像都放到一个图片文件当中,然后通过CSS 的background-image和background-position这两个属性来显示图片的不同部分)
》图片地图(不常用)一般只有图片所有部分组合在一起是使用
》CSS Sprites图片拼合
二。减少DNS查找次数(一般dns查找都是有缓存的)
减少主机名的数量可以减少DNS查找数量(可以节省响应时间和页面中并行下载的数量,但会增加响应时间) 指导原则:这些页面中的内容分割成至少两部分但不超过四部分 结论:减少DNS查找次数与保持并行下载兼顾
三,避免跳转(跳转会影响用户体验)
》301代码
》302代码
结论 开发时注意不要忽略URL本该有的斜杠(/) 跳转可以采用配置Alias和MOD_rewrite等方法来代替
四。可缓存的AJAX
五。减少DOM元素(合理使用标签元素)
六。尽量避免使用iframe
iframe优点(1.解决加载缓慢的第三方内容2.只需要修改一个iframe的内容,便可以改变所有应用该iframe的页面)
iframe缺点(1.即使内同为空,加载也需要时间2.组织页面加载3.没有语意)
七。避免404错误
结论:网站发布前要尽享周全的测试,使用一些isp提供商的网站服务器工具来检测404错误
[b]图片优化(了解)[/b]
》使用工具优化图片
2把gif格式转换成png格式3在所有的png图片上运行pngcrush或其他png优化工具4.在所有的jpeg图片上运行jpegtran(压缩图片容量)避免使用bmp格式
》使用合理的图片尺寸
尽量不要同使用标签元素控制图片的大小
》网站图标favicon.ico要小而且可缓存
》用CSS Sprites优化页面小图片
在Sprites中尽量横排列你的图标2把颜色相近的组合在一起(低于256色)不要再Sprites中不要在中间刘较大的空隙
[b]CSS和JavaScript优化[/b]
》把样式表置于顶部 结论:开发阶段检验室和代码分离(便于代码的复用),开发完毕后再将样式放在页面的<head>头部中
》用<link>代替@import实现样式表的导入(最好不使用)
》避免使用滤镜 结论 避免使用滤镜,使用PNG格式的图片来代替,主流浏览器一般都支持这种格式,必要时使用CSS Hack来处理IE6浏览器下的效果
》精简CSS和javascript
工具
1JsMin(脚本压缩工具)
2YUI Compressor
结论:精简代码 采用缩写
》把javascript放在html的底部
结论:把脚本放在HTML页面的底部
(document.write()输出语句例外)
[b]优化Cookie[/b]
》缩小Cookie的大小
去除不必要的Cookie设置合理过期时间
》避免使用全局域名的Cookie
应该对图片等页面元素使用没有Cookie的域名
服务器端的优化
》使用内容分发网络Content Delivery Nerwork 简称 CDN 加快响应速度(成本高)
》为文件头指定Expires或Cache-Control
1静态能容设置Expires
2动态内容设置Cache-Control
结论:对于静态内容,设置文件头过期时间Expires的值为“ Never expire”(永不过期)
》使用Gzip压缩文件内容
配置tomcat中Server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml,text/css,text/javascript"
/>
》使用GET来完成AJAX请求
获取数据是用get发送是用post
网站的静态化
动态网页的弊端
1.服务器压力大2.页面响应时间长3.安全问题
[b]实施静态化的原因[/b]
[b]1.提高访问速度2.减轻服务器压力3.加强安全性4.利于搜索引擎收录[/b]
[b]网站静态化的好处[/b]
》效率方面
纯静态化HTML页面(效率是最高的,消耗最小,速度最快)
减轻服务器的压力()
利于搜索引擎收录(把动态网址进行URL重写使其静态化)
提高服务器的性能(静态网站不用调用数据库)
》安全方面
防SQL注入(不与数据库连接)
网站出错时,不影响网站正常访问
[b]网站静态化实现方式[/b]
[b]》模版技术(Velocity模版技术 )[/b]
[b]数据库查询优化方法[/b]
[b]》在查询频繁的列上添加合适的索引(避免表扫描)[/b]
[b]判断并建立必要的索引 对索引使用一些规则 合理的索引对SQL语句的意义[/b]
[b]》尽量少用in或not in[/b]
[b]where子句中使用Exist 和NOT EXIST 代替IN和NOT IN[/b]
[b]》尽量少用*[/b]
[b]》尽量少用LIKE(无法使用索引制约查询速度)[/b]
[b]为什么需要检测网站性能[/b]
[b]》性能环境发生改变[/b]
使用软件监控网站的性能
[b]开发期间(使用LoadRuner等专业负载测试工具)[/b]
[b]使用LOadRunner等专业的负载测试工具[/b]
[b]轻松创建虚拟用户 创建真实的负载 定位性能的问题 分析结果以精确定位问题所在 重复测试保证系统发布的高可能性[/b]
[b]网站运营期间的监测[/b]
[b]监控宝(国内) [/b]SEVICEUptime(美国) UptimeRobot
[b]大型网站的特点[/b]
1高访问量
2同时在想人数多
3数据访问量庞大
4数据操作频繁
[b]网站性能测试的指标[/b]
WEB应用服务器
数据库服务器
系统服务器
客户关心的指标
日访问量
同时在线人数
最大并发连接数(网站最多能同时处理的连接请求数)最低60-100
访问响应时间(网站服务器生成HTML的时间,网路传输的时间,浏览器解析的时间)
同时在线人数和最大并发的区别!
并发数一般都是大于同时在线人数的
(网页 图片 javascript)等同时请求 叫并发
[b]网站性能具体体现[/b]
1.首屏时间(用户体验最直接反应标准)
2.网页访问可用性
3.建立连接时间(包含DNS时间)
4.DNS时间
雅虎的黄金法则 1内容 2服务器 3Cookie 4css 5javascript 6图片 7移动应用
YSlow工具(可以给网站打分)
5.重定向时间
6.第一个数据包时间
7.总下载时间
8.错误情况
如何实现的网站优化
[b]网页内容优化[/b]
一。减少HTTP请求
减少页面元素(简化页面设计)
》合并文件(Js或CSS文件)【常用】 这个是减少图像请求的有效方法(把所有背景图像都放到一个图片文件当中,然后通过CSS 的background-image和background-position这两个属性来显示图片的不同部分)
》图片地图(不常用)一般只有图片所有部分组合在一起是使用
》CSS Sprites图片拼合
二。减少DNS查找次数(一般dns查找都是有缓存的)
减少主机名的数量可以减少DNS查找数量(可以节省响应时间和页面中并行下载的数量,但会增加响应时间) 指导原则:这些页面中的内容分割成至少两部分但不超过四部分 结论:减少DNS查找次数与保持并行下载兼顾
三,避免跳转(跳转会影响用户体验)
》301代码
》302代码
结论 开发时注意不要忽略URL本该有的斜杠(/) 跳转可以采用配置Alias和MOD_rewrite等方法来代替
四。可缓存的AJAX
五。减少DOM元素(合理使用标签元素)
六。尽量避免使用iframe
iframe优点(1.解决加载缓慢的第三方内容2.只需要修改一个iframe的内容,便可以改变所有应用该iframe的页面)
iframe缺点(1.即使内同为空,加载也需要时间2.组织页面加载3.没有语意)
七。避免404错误
结论:网站发布前要尽享周全的测试,使用一些isp提供商的网站服务器工具来检测404错误
[b]图片优化(了解)[/b]
》使用工具优化图片
2把gif格式转换成png格式3在所有的png图片上运行pngcrush或其他png优化工具4.在所有的jpeg图片上运行jpegtran(压缩图片容量)避免使用bmp格式
》使用合理的图片尺寸
尽量不要同使用标签元素控制图片的大小
》网站图标favicon.ico要小而且可缓存
》用CSS Sprites优化页面小图片
在Sprites中尽量横排列你的图标2把颜色相近的组合在一起(低于256色)不要再Sprites中不要在中间刘较大的空隙
[b]CSS和JavaScript优化[/b]
》把样式表置于顶部 结论:开发阶段检验室和代码分离(便于代码的复用),开发完毕后再将样式放在页面的<head>头部中
》用<link>代替@import实现样式表的导入(最好不使用)
》避免使用滤镜 结论 避免使用滤镜,使用PNG格式的图片来代替,主流浏览器一般都支持这种格式,必要时使用CSS Hack来处理IE6浏览器下的效果
》精简CSS和javascript
工具
1JsMin(脚本压缩工具)
2YUI Compressor
结论:精简代码 采用缩写
》把javascript放在html的底部
结论:把脚本放在HTML页面的底部
(document.write()输出语句例外)
[b]优化Cookie[/b]
》缩小Cookie的大小
去除不必要的Cookie设置合理过期时间
》避免使用全局域名的Cookie
应该对图片等页面元素使用没有Cookie的域名
服务器端的优化
》使用内容分发网络Content Delivery Nerwork 简称 CDN 加快响应速度(成本高)
》为文件头指定Expires或Cache-Control
1静态能容设置Expires
2动态内容设置Cache-Control
结论:对于静态内容,设置文件头过期时间Expires的值为“ Never expire”(永不过期)
》使用Gzip压缩文件内容
配置tomcat中Server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml,text/css,text/javascript"
/>
》使用GET来完成AJAX请求
获取数据是用get发送是用post
网站的静态化
动态网页的弊端
1.服务器压力大2.页面响应时间长3.安全问题
[b]实施静态化的原因[/b]
[b]1.提高访问速度2.减轻服务器压力3.加强安全性4.利于搜索引擎收录[/b]
[b]网站静态化的好处[/b]
》效率方面
纯静态化HTML页面(效率是最高的,消耗最小,速度最快)
减轻服务器的压力()
利于搜索引擎收录(把动态网址进行URL重写使其静态化)
提高服务器的性能(静态网站不用调用数据库)
》安全方面
防SQL注入(不与数据库连接)
网站出错时,不影响网站正常访问
[b]网站静态化实现方式[/b]
[b]》模版技术(Velocity模版技术 )[/b]
[b]数据库查询优化方法[/b]
[b]》在查询频繁的列上添加合适的索引(避免表扫描)[/b]
[b]判断并建立必要的索引 对索引使用一些规则 合理的索引对SQL语句的意义[/b]
[b]》尽量少用in或not in[/b]
[b]where子句中使用Exist 和NOT EXIST 代替IN和NOT IN[/b]
[b]》尽量少用*[/b]
[b]》尽量少用LIKE(无法使用索引制约查询速度)[/b]
[b]为什么需要检测网站性能[/b]
[b]》性能环境发生改变[/b]
使用软件监控网站的性能
[b]开发期间(使用LoadRuner等专业负载测试工具)[/b]
[b]使用LOadRunner等专业的负载测试工具[/b]
[b]轻松创建虚拟用户 创建真实的负载 定位性能的问题 分析结果以精确定位问题所在 重复测试保证系统发布的高可能性[/b]
[b]网站运营期间的监测[/b]
[b]监控宝(国内) [/b]SEVICEUptime(美国) UptimeRobot
相关文章推荐
- corosync+pacemaker+crmsh实现高可用 推荐
- 高可用集群技术理论基础知识
- vlc内部运行机制以及架构分
- 网站的安全性测试工具网站
- C#实现插件式架构的方法
- 51单片机j基础C程序架构
- 企业级应用架构模型-并发,事务,锁
- 专业网站和数据下载主页收藏
- 新浪微博架构
- JAVA & PHP 结合 开发系统网站
- iis中默认网站被误删了,EXCHANGE的OWA不能访问了,请问怎么修复?
- [AD]查看森林中的架构主控和五种角色属主
- 提高网站的性能
- 三层架构与MVC区别
- 网站设计师行业分析
- 用Meta标签代码让360双核浏览器默认极速模式打开网站不是兼容模式
- linux下查看硬件架构
- linux初学(二)之文件的基本架构
- [转载] LinkedIn架构这十年
- 想做一个网站需要花多少钱?