大型网站的优化

为什需要优化网站

大型网站的特点

1高访问量

2同时在想人数多

3数据访问量庞大

4数据操作频繁

网站性能测试的指标

WEB应用服务器

数据库服务器

系统服务器

客户关心的指标

日访问量

同时在线人数

最大并发连接数(网站最多能同时处理的连接请求数)最低60-100

访问响应时间(网站服务器生成HTML的时间,网路传输的时间,浏览器解析的时间)

同时在线人数和最大并发的区别!

并发数一般都是大于同时在线人数的

(网页 图片 javascript)等同时请求 叫并发

网站性能具体体现

1.首屏时间(用户体验最直接反应标准)

2.网页访问可用性

3.建立连接时间(包含DNS时间

4.DNS时间

雅虎的黄金法则 1内容 2服务器 3Cookie 4css 5javascript 6图片 7移动应用

YSlow工具(可以给网站打分)

5.重定向时间

6.第一个数据包时间

7.总下载时间

8.错误情况

如何实现的网站优化

网页内容优化

一。减少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错误

图片优化(了解)

》使用工具优化图片

2把gif格式转换成png格式3在所有的png图片上运行pngcrush或其他png优化工具4.在所有的jpeg图片上运行jpegtran(压缩图片容量)避免使用bmp格式

》使用合理的图片尺寸

尽量不要同使用标签元素控制图片的大小

》网站图标favicon.ico要小而且可缓存

》用CSS Sprites优化页面小图片

在Sprites中尽量横排列你的图标2把颜色相近的组合在一起(低于256色)不要再Sprites中不要在中间刘较大的空隙

CSS和JavaScript优

》把样式表置于顶部  结论:开发阶段检验室和代码分离(便于代码的复用),开发完毕后再将样式放在页面的<head>头部中

》用<link>代替@import实现样式表的导入(最好不使用)

》避免使用滤镜 结论 避免使用滤镜,使用PNG格式的图片来代替,主流浏览器一般都支持这种格式,必要时使用CSS Hack来处理IE6浏览器下的效果

》精简CSS和javascript

工具

1JsMin(脚本压缩工具)

2YUI Compressor

结论:精简代码 采用缩写

》把javascript放在html的底部

结论:把脚本放在HTML页面的底部

(document.write()输出语句例外)

优化Cookie

》缩小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.安全问题

实施静态化的原因

1.提高访问速度2.减轻服务器压力3.加强安全性4.利于搜索引擎收录

网站静态化的好处

》效率方面

纯静态化HTML页面(效率是最高的,消耗最小,速度最快)

减轻服务器的压力()

利于搜索引擎收录(把动态网址进行URL重写使其静态化)

提高服务器的性能(静态网站不用调用数据库)

》安全方面

防SQL注入(不与数据库连接)

网站出错时,不影响网站正常访问

网站静态化实现方式

》模版技术(Velocity模版技术 )

数据库查询优化方法

》在查询频繁的列上添加合适的索引(避免表扫描)

判断并建立必要的索引   对索引使用一些规则  合理的索引对SQL语句的意义

》尽量少用in或not in

where子句中使用Exist 和NOT EXIST 代替IN和NOT IN

》尽量少用*

》尽量少用LIKE(无法使用索引制约查询速度)

为什么需要检测网站性能

》性能环境发生改变

使用软件监控网站的性能

开发期间(使用LoadRuner等专业负载测试工具)

使用LOadRunner等专业的负载测试工具

轻松创建虚拟用户 创建真实的负载  定位性能的问题 分析结果以精确定位问题所在 重复测试保证系统发布的高可能性

网站运营期间的监测

监控宝(国内)   SEVICEUptime(美国)  UptimeRobot

 

posted on 2015-07-25 17:14  Longevity  阅读(303)  评论(0编辑  收藏  举报