您的位置:首页 > 运维架构 > 网站架构

大型网站的优化

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: