简单网站优化

一、为什么要网站优化

1.1、大型网站的特点

  • 高访问量
  • 同时在线人数多
  • 数据量庞大
  • 数据操作频繁

1.2、网站性能测试指标(用户角度)

  • 日访问量
  • 同时在线人数
  • 最大并发连接数
  • 访问响应时间

1.3、网站性能个体体现

  • 首屏时间:一个网站被浏览器上部,800*600区域充满所需要的时间
  • 网页访问可用性:用户访问网页的成功率。
  • DNS时间:浏览器将地址发送给DNS服务器,DNS服务器根据地址返回IP到浏览器,浏览器得到IP地址,此为DNS时间
  • 建立连接时间:包含DNS时间后,浏览器重到IP地址后,再将客户投诉请求发送至WEB服务器,然后建立连接,这时建立连接时间结束
  • 重定向时间:网页间跳转时间,如检查是否是会员,不是就跳转登录
  • 第一个数据包时间:浏览器发送HTTP请求结束开始,到接收到WEB服务器返回的第一个数据包的消耗时间
  • 总下载时间:页面所内容下载所用的时间,网页的总耗时
  • 错误情况:网站的错误情况代表网站的运维质量。

1.4、客户投诉问题

  • 网速慢
  • 个别页面打开时间过久,或者打不开

二、使用YSlow插件分析网站性能

YSlow插件,是yahoo是运行在FireFox浏览器上面的,同时要有FireBug才可以运行

三、网页内容优化

3.1、减少HTTP请求

  • 合并文件(js或者css文件)
  • css Sprites图片拼合(常 用)
  • 图片地图

3.2、减少DNS查找次数

  • 减少主机名的数量可以减少DNS查找次数,
  • 减少DNS查找次数可以节省响应时间
  • 减少主机名会减少页面当时并行下载的数量,但是这样又会增加响应时间
  • 原则:将这些页面中的内容分割成至少2部分,但不超过4部分。结果:减少DNS查找次数与保持并行下载兼顾

3.3、避免跳转

301代码、302代码。默认不缓存,须增加Expires或者Cache-Control来指定缓存

开时时注意不要忽略URL本该有的斜杠(/);

3.4、可缓存的AJAX

设置在客户端缓存

3.5、减少DOM元素数量

DOM元素过多,会使遍历DOM的效率慢。

不用移除内容,而是替换,精简元素标签

减少DIV元素的嵌套

3.6、尽量避免使用iframe

优点:

  • 解决加载缓慢的第三方内容
  • 只需要修改一个iframe内容,便可以改变所有应用该iframe页面

缺点:

  • 即使内容为空,加载也需要时间
  • 阻止页面加载
  • 没有语意

3.7、避免404错误

错误的加载会破坏并行加载

浏览器会把试图在返回的404响应内容中找到可能有用的部分当作javascript代码来执行

四、图片优化

4.1、使用工具优化图片

检查你的GIF图片当中图像颜色的数量是否和调色板规格一致,如只使用到了4种颜色,而调色板中有256中规格,说明还有优化的空间

尝试把GIF格式转换成PNG格式,看看是否有节省空间

在所有有PNG图片上运行pngcruch或者其它的PNG优化工具

在所有JPEG图片上运行jpegtran,可以对图片中出现的锯齿等无损进行操作,同时它还可以优化和清除图当中的注释以及其它的无用信息

最后,把所有的图片纺一的jpg或者是gif或者png格式,行适当的转,可以达到很好优化效果,

尽量避免使用bmp格式,对用户上传的格式进行一个格式转换可以达到很好的压缩效果

Jpegtran

JPEG的压缩工具有jpegtran和jpegoptim,这两款工具的压缩效果几乎没有区别,在这里我们推荐使用jpegtran,相比后者,jpegtran可以进行progressive编码,使图片渐进式的展现,先显示模糊的图片,再逐步清晰。

推荐命令行参数:

jpegtran –copy none –optimize -progressive -outfile out.jpg in.jpg

想知道这些参数的具体作用,可使用命令“jpegtran –h”了解,

4.2、使用合理的图片尺寸

不要使用一个比实际需要大得多的图片,不要在网页中缩放图片

4.3、favicon.ico要小而且要可缓存

favicon.ico位为网店的根目录

favicon.ico文件不要缺少,而文件要尽量小,可以缓存

4.4、使用css Sprites优化页面小图片

CSS Sprites技术中,水平排列图片会比垂直排列效果更好

颜色相近的图片组合在一起,可以降低颜色数

合理的应用CSS Sprites技术,不要在Spirite的图像中间留有较大空隙

五、优化CSS和JavaScript

5.1、把样式表置于顶部

开发阶段将样式和代码分离,开发完毕后再将样式放在页面的<head>头部中

5.2、使用<link>代替@import

<link type="text/css"" rel="stylesheet" href="style.css" />

用<link>代替@import来实现外部样式表的导入

5.3、避免使用滤镜

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

5.4、精简CSS和JavaScript

精简工具:

JSMin:javascript

YUI Compressor: javascript也可以用来精简CSS

<script>和<style>代码块也可以并且应该进行消减

精简代码,采用缩写

5.5、把JavaScript放在HTML的底部

把脚本放在HTML页面底部

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

六、优化Cookie

6.1、缩小Cookies大小

  • 去除不必要的Cookie
  • 设置合理的过期时间

6.2、避免使用全局域名的Cookie

应该以图片等页面元素使用没有Cookie的域名

七、服务器端优化

7.1、使用内容分发网络

Content Delivery Network简称为CDN

使用CDN(内容分发网络),但成本高

7.2、为文件头指定Expires或者Cache-Control

静态内容设置:Expires的值为"Never expire"(永不过期)

动态内容设置:Cache-Control设置合适的值如"no-cache"

Expires文件头经常用于图像文件,但是应该在所有的内容当中使用,包括脚本、样式表和Flash等

7.3、使用Gzip压缩文件内容

开启应用服务器端的Gzip压缩设置

在Tomcat中启用Gzip压缩:

修改%TOMCAT_HOME%/conf/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/javascript,application/x-javascript,application/javascript,text/css,text/plain"/>
从上面节点的属性可以看出,要使用gzip压缩功能,你需要在Connector节点中加上如下属性

compression="on" 打开压缩功能
compressionMinSize="50" 启用压缩的输出内容大小,默认为2KB
noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些资源类型需要压缩

7.4、使用GET来完成AJAX请求

  • POST:先发送文件头,然后才发送数据
  • GET:一个TCP包

获取数据时建议使用GET,相反,发送并在服务端保存数据时才使用POST

IE中URL最大长度为2K,如果获取的数据大于2K,就不能使用GET,

八、开发角度看优化

动态页面的弊端:

  • 服务器压力大
  • 页面响应时间长
  • 安全问题

实施静态化的原因:

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

九、如何静态化网站

目前绝大多数网站都是采用:模板技术 来对网站静态化

9.1、网站静态化的好处

效率方面:

  • 纯静态化HTML页面:以HTM/HTML结尾,效率最高,消耗最小,速度最快
  • 减轻服务器的压力:相比动态页面要执行脚本,数据库操作,静态页面只需要将相应的静态页面返回给客户端
  • 利于搜索引擎收录:动态页面的生成是采用数据库内容,所以网页内容主题的永恒性并不能保证,这样就造成了搜索引擎的阅读困难,也就是搜索引擎抓不住一个永恒的主题,因此不能输入到搜索引擎的缓存当中。别外,动态连接,存在一个信任问题,用记以及搜索引擎无法确定这个页面会一直存在。搜索引擎对于静态链接就更加友好,所以把动太网址进行URL重写使其静态化,是一个非常重要的优化技巧
  • 提高服务器的性能:动态页面要经常读取数据库,而静态页面只需要将相应的静态页面返回给客户端

安全方面:

  • 防SQL注入:静态页面根本就不存在数据库操作,杜绝了SQL注入的可能性
  • 网站出错时,不影响网站正常访问。动态页面:如果发生错误或者是数据库出现了问题,那么从数据库读取数据的页面就必然无法正常的访问了。而静态页面只会在生成静态页面时调用数据库操作,生成之后就不会对数据库进行任何操作了,因此妈便是数据库崩溃了,用户仍然可以访问到已经存在的静态页面

9.2、静态化实现方式-模板技术

对网站必要的部分实行静态化操作,同一个网站下的不同网页,风格一般都要保持一致,不同的只是内容,

让静态化的时候能够重用页面的整体框架,风格等这些就是模板

9.3、JAVA中静态化操作

Velocity或者FreeMarker等模板框架来实现。

它允许任何人仅简单的使用模板语言,来引用由JAVA代码定义的对象。

当Velocity应用于web开发时,界面设计人员可以和java程序开发人员,同步开发一个遵循MVC架构的WEB站点,也就是说,页面设计人员可以只关注页面的显示效果,而java程序开发人员只关注业务逻辑编码的实现。

Velocity将java代码从web页面中分离出来,为web站点的长期维护提供了便利

十、初识MVC

MVC:mode view  controller

十一、优化数据库查询

11.1、在查询频繁的列上添加合适的索引

  • 判断并建立必要的索引:使所创建的索引对数据的工作效率提高有所帮助
  • 对索引使用一些规则:创建索引时,应该与实际的查询相结合
  • 合登理的索引对SQL语句的意义:确保其得到了真正的使用,能发挥作用

11.2、尽量少用IN或者NOT IN

在where子句中尽量少使用IN 或者NOT IN

可以使用EXIST 或者NOT EXIST来代替IN或者NOT IN

11.3、尽量少用通配符*

查询语句写上字段名,尽量不使用*如:select top 50 col1 from table1

11.4、尽量少用LIKE

使用LIKE会导致建立的索引效,降低查询效率

十二、性能监测

12.1、为什么需要监测网站的性能

网站的性能是随着浏览量以及硬件设施的不同而发生变化的,网站在运营前或者运营期间有必要对网站整体性能进行监测

12.2、监测阶段

  • 网站开发期间
  • 网站运营期间

12.3、监测软件

  • 网站开发期间:使用LoadRunner等专业的负载测试工具

使用LoadRunner等专业的负载测试工具优点:

  • 轻松创建虚拟用户:Virtual User Generator轻松创建虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为
  • 创建真实的负载:Controller,来设置业务流程组合与虚拟用户数量,很快的组织起多用户的测试方案
  • 定位性能的问题:LoadRunner内含集成的实时监测器,在负载测试任何时间,都可以观测到应用系统的运行性能
  • 分析结果以精确定位问题所在:测试完毕合,会收集汇总所有数据并生成高级的测试报告。
  • 重复测试保证系统发布的高性能:Controller,允许重复执行与出错修改前的相同测试方案
  • 网站运营期间:监控宝,美图的Service Uptime,Uptime Robot等
时间: 2024-07-30 13:51:30

简单网站优化的相关文章

网站优化之301重定向最简单的方法介绍

自己建了一个网站,不加www 和加www 都是同一个页面,但是没有跳转,我们都知道,301重定向是一个对seo优化很友好的一个展示方式.也是一个权重传递的重要方式. 下面我们来说下修改.htaccess文件就可以搞定301重定向的办法,一直觉得这个办法是最好用的.一直在用. FTP 打开.htaccess,在 RewriteCond %{REQUEST_FILENAME} !-f 的上面添加: RewriteCond %{HTTP_HOST} ^yyaaw.com$ [NC] RewriteRu

代码示例:一些简单技巧优化JavaScript编译器工作详解,让你写出高性能运行的更快JavaScript代码

告诉你一些简单的技巧来优化JavaScript编译器工作,从而让你的JavaScript代码运行的更快.尤其是在你游戏中发现帧率下降或是当垃圾回收器有大量的工作要完成的时候. 单一同态: 当你定义了一个两个参数的函数,编译器会接受你的定义,如果函数参数的类型.个数或者返回值的类型改变编译器的工作会变得艰难.通常情况下,单一同态的数据结构和个数相同的参数会让你的程序会更好的工作. function example(a, b) { // 期望a,b都为数值类型 console.log(++a * +

网站优化排名如何添加高质量的友情链接

友情链接是网站优化排名专员每天要做的工作之一,也是决定网站排名时间长短的因素之一,郑州网站优化认为对于友情链接的添加不可马虎之.友链要得是质量而不是数量. 我是一名友情链接交换的专员,每天负责几十上百个网站的链接添加,在与其他链接专员交换友情链接的时候,我发现了一个问题.他们往往对网站没有什么特殊 的要求,只是要求有排名就行.通过了解,上司每天都有给他们布置任务,规定今天哪些站需要换友情链接,今天规定要换多少站,如果没完成任务的就要给予一定 的惩罚.这也难怪他们对网站的要求不高,只是能够完成任务

详谈网站优化如何做好四处一词

相信很多朋友都有自己的一套操作手法, 但是一些常规的操作手法都大 同小异的,很多新的手法的创新也是建立在常规优化的基础之上的.所以大家还 是很有必要去了解一些常规的操作手法,从而更好的进行创新.但是这里郑州网站优化要 强调的是不要违规即可,否则只能是昙花一现. 今天笔者要给大家介绍的是网站优化之 四处一词 ,那么什么是 四处一词 呢?相 信很多老鸟都已经知道了,但是这里还是给那些不知道的朋友解说下,老鸟的飘 过.四处一词 ”简单来说就是在网页的标题.关键词及描述.当前文章页面还有其他页面的锚文本

seo网站优化要点解析

如何让自己的网站能进入搜索引擎第一页,下面分享下,网站优化的要点: 第一:网站的名字很重要,实事求是的写下自己网站的名字,当然,网站的名字要考虑好,最好包含网站的主要内容. 第二:页面头不优化,页面头部指的是代码中部分,具体一点就是中的"Description(描述)"和"Keywords(关键字)"两部分,这部分也是SEO们比较花心思的地方,理论一大堆! 总结起来就是:1."描述"部分应该用近乎描述的语言写下一段介绍你网站的文字,在这其中,你应

大型网站优化-memcache技术

大型网站优化-memcache技术 memory+cache 内存缓存 memcache简介 memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的.需要频繁访问数据库的网站访问速度提升效果十分显著 .这是一套开放源代码软件,以BSD license授权发布.[摘取自百度百科] 官网:http://memcached.org/ 分布式:多台Memcache服务器来管理数据的架构. 缓存

网站做SEO优化没效果 网站优化目的到底是什么

1 对于站长朋友来说,一直以来都有对自己的网站做SEO优化,然而为什么要做网站SEO优化呢?真正说得清楚的没有几人.就因为我们不知道为什么要做网站SEO优化,所以就听取"行业前辈"的经典之语:内容为王.外链为皇:原创.高质量的内容:用户体验-- 哪里找富婆包养的徽油气父贴吧 哪里找富婆包养的徽油气父贴吧 哪里找富婆包养的吩认同捶贴吧 哪里找富婆包养的吩认同捶贴吧 哪里找富婆包养的赵经不起仄贴吧 哪里找富婆包养的赵经不起仄贴吧 哪里找富婆包养 哪里找富婆包养 哪里找富婆包养 哪里找富婆包

18个网站优化技巧

快速的页面加载对提升搜索引擎排名.网站转化率和整体的用户体验是非常重要的.网站页面的加载速度也是衡量网站性能的一个重要因素. 如果网站不是以最好的性能在运行,迟缓的加载会让你在低的排名和搜索流量上花费更大的代价.页面的加载速度会对用户的行为和转化率产生很大的影响. 那么?有哪些简单的方式可以优化加载速度呢? 1.图片优化 首先,你需要优化你网站上的图片,来获得丝毫加速网站的机会.从原图上移除额外的注解.不必要的空间和无用的颜色,将图片保存为JPEG格式,因为它即使占用空间小,也能保证图片的高质量

企业网站优化大家感觉什么最重要

目前来说对于企业来说,网站并不是什么稀奇,很多企业都有了自己的企业网站.而且很多企业也有了自己的网站管理专员,但是真正网站做得好的企业又有几家呢? 企业网站相对其它网站来说是最简单的,结构简单.内容少.页面少.有很多企业网站全部页面加起来也不会过百,按理说做企业网站优化应该不难啊,今天红涛和大家来谈谈这个话题:企业网站优化大家感觉什么最重要 前几年在整个SEO圈子里面一直流行一句话"内容为王.外链为皇",但是我一直认为这句话不是百分之百正确,并不是所有网站都按这句话的意思去操作就会取得