标签归档:网站优化

WordPress博客网站性能优化方案

视野博客一直都有在进行网站性能优化方面的研究,今天分享一下视野博客所用的一些网站性能优化策略。

先介绍一下视野博客的运行环境:

程序:WordPress 2.8

Server System:Red hat AS 5

Web Server:Apache + PHP

1、前端优化

图片地图、CSS Sprites、内联图片、合并JS和CSS、将样式表放在顶部、将部分脚本放在底部。

2、页面级缓存优化

向Http头添加过期或者缓存控制

在服务器端启用内容过期 做HTTP头优化(第三条)

3、启用GZIP

视野博客启用GZIP前后对比

视野博客启用GZIP前后对比

gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式。软件的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4。

GZIP Output

这是一个GZIP的插件,如果您用的是虚拟主机,或者不方便通过服务器端设置GZIP优化。那么这款插件则是你的必备之物。

4、服务器级缓存优化(采用Wordpress性能优化插件):

(1)WP Super Cache

这是一个非常完善的wordpress缓存插件,强烈推荐使用,并且使用非常简单。

优点:非常方便,简单、效果好。

缺点:笔者暂未发现。

(2)cos-html-cache

这是一个服务器文件级的缓存,将网站页面生成HTML页面缓存在服务器上,以减少数据库的查询。

优点:做了之后,访问超快,主要是减少了数据库的交互。

缺点:如果文章多的话,会占用太大空间。

网站优化的十大绝技

1、 选择有效的关键字:

关键字是描述你的产品及服务的词语,选择适当的关键字是建立一个高排名网站的第一步。选择关键字的一个重要的技巧是选取那些常为人们在搜索时所用到的关键字。

2、 理解关键字:

在你收集所需的关键字之前,明白一般人是怎样用关键字是十分重要的。人们在搜索的时候一般是不会使用单个词,而是用短语或者词组。这样对于网站优化起到更重要的作用。

3、 找出有效的关键字:

下面的一个网址包括了测试关键字使用频率的工具:http://www.trafficzap.com/的 Keyword Generator

4、 选取关键字技巧:

A:认真思索
用笔写下与你的网站或产品有关的所有关键字,先不要对这些关键字进行审评。不要局限于你是卖什么的,尽量站在你客人方面考虑。那些人会为你的网站带来利益,尽量站在这些人的角度想。

B:多问周围人的意见
讲你的家里人,朋友,同学怎样的词语适合描述你的产品或网站。他们很有可能会找出一些你连想到没想过的词语。

C:分析日志文档:
日志文档将会告诉你,人们是使用什么关键字来访问你的网站的。(有些网站在建站的时候会安装相应的工具来生成日志文档供网管参考)

D:参考其他网站:
参照那些主题与你相似或相同的网站,看一下他们的meta keyword 是怎么写的。这样你有可能会得到意外的关键字,但是不要直接将人家的模板粘贴过来,因为你不知道网管在设计网站之前对关键字进行了那些可能性的研究。这主要是用于关键字研究。

E:找出错误的拼写(多用于英文)
有很多关键字人们会经常拼写错误的,找出这些经常出现错误拼写的词或词组可以为你带来额外的流量。(就GOOLE来说,它有检查拼写错误的功能。建议不要用拼写错误的词、词组作关键字)

1、 处理关键字:

到了这一步,你已经收集了很多与你的网站或产品有关的关键字了。接下来的工作就是把收集到的关键字进行组合,把它们组成常用的词组或短语。很多人在搜索的时候会使用两个或三个字组成词。据统计,平均是2.3个字。不要用普通的,单个字作为关键字。这样的关键字很难排到搜索引擎的前十位。例如:你有以下几个关键字:“搜索引擎、软件、提高”,试着把他们组合为“搜索引擎软件”、“搜索引擎提高”等。把字组成关键字短语有利于提高你网站的排名,你将会更有效提高你网站访问量。例如:很少人会用“搜索引擎”或者“软件”。

2、 舍弃一些关键字: 寻找出那些搜索时很少用到的关键字:

A:在英文里,在搜索引擎大小写是没有区别的。
B:拼写错误的关键字是没用的,但是找到一个经常出现拼写错误码的词可以额外地提高你的访问量
C:去除那些停用的词,在英文里有“the, for , a ,” 等。中文里有“的,地,你,我”等。
D:没有人会用“最好的”,“疯狂的”等词语进行搜索。如果你的网站里有类似的词,最好把他去除。

选择最佳关键字:

如果你按照上述所说,你一定列出了一大堆的关键字。尽管,你已经去除了一些没人使用的。但是对于你来说还是太多了。现在是时候进入关键字优化的最后一步了。

提示:
试着用剩余的关键字在搜索引擎中进行搜索,不要把焦点放在最流行的关键字上。有时候,次关键字排名起来还是比较容易的。因为最流行的关键字会存在着更多的竞争对手,而次关键字反之。在选择关键字时的技巧是找出关键字需求与关键字竞争的平衡点,即所选关键字竞争不是很激烈。

为什么要使用html的meta标签?

1、meta标签是内嵌在你网页中的特殊html标签,包含着你有关于你网页的一些隐藏信息。

Meat标签的作用是向搜索引擎解释你的网页是有关哪方面信息的。对于高级的搜索引擎来说,html 的meta 标签并不是什么新奇的东西。但是无论如何它是一个优秀网页不可缺少的。下面我们就它进行一些讲解吧。

2、当你计划搜索引擎优化策略是meta标签是非常重要的。

尽管如此,一般的加入meta 并不能帮助你在搜索引擎中获得更好的排名。有好几种meta标签,但重要的有以下几个:description标签, keywords标签, title标签(严格来说title不算是一个标签)。当你不时刷新标签时这几个标签显得特别的重要。如果你希望搜索引擎对你的网站进行索引时就会用到html标签的重定向(redirect)标签与robots标签.

注意:调查表只有20%的网页用到“关键字”与“描述”标签(即keyword, description)
多个关键字用逗号分开。

3、 title 标签

title 标签可能是你网页中最重要的标签,它是你网页中最先看到的部分。把它放在description 与 keyword前。在这个标签中最好是加上你网站的关键字,title标签在搜索引擎的搜索中占有非常重要的地位。最好是把它放在其他meta标签前,这更有利于你网站的排名。(注意:有些搜索引擎会按title标签的字母的优先权进行排名,尽量在你的title中使用开始的字母)title标签是人们在搜索引擎中第一个看到有关你网站的描述,所以尽量把它弄得简单、明了。让人一看就知道你的网站是关于什么的。

4、 Description标签Description标签就在title后面,该标签可以是一小段(一个或者两个句子)。用于描述你网站。与title标签一样,这也是人们在搜索引擎列表中链接到你网站的点击。这些描述将鼓动人们去浏览你的网站而不是你竞争对手的。(描述不能太夸张。不然,当访问者到你网站发现内容根本不是你说的那个样子,那么他很快就会退出去。)很多搜索引擎允许描述的字数在150个左右,所以你要保证你的描述在150以下,否则搜索引擎会自动把多余的部分剪去从而造成你网站的描述的不完整。搜索引擎认为描述里的关键字远比网页中的内容要重要(好像现在这种情况不是那么明显了)。真如上所述,这里提供了非常重要的信息:确定你的描述能正确的反映你网站的主题,尽量在描述中加入你主要的关键字,越靠meta的关键字意义越大。这样会突显你的关键字。

 

现在大多的搜索引擎(google除外)都会支持descriptin标签。如果你不使用的话你将会失去排名靠前的可能。

5、keyword 标签

相比于description与title标签,keyword标签显得并不是那么重要了。有些搜索引擎把它完全地忽略,但是使用下正确的keyword标签对提高排名仍然有效。

除了搜索引擎外,一般情况下人们是看不到的。keyword标签是一个隐藏的标签,向搜索引擎提供了一组与你的页面有关的的关键字或关键短语列表。你可以用相应的工具找出一系列适用于你网站的关键字。(注意:关键字标签中只能包括与你本页内容相关的关键字列表。所有在这里的关键字必须与页面的内容相联系。)

提示:在你每一个页面中组织相关的关键字,每个页面必须专注于不同的产品或者内容。在标签中列满关键字对于提高你网站的排名并没有好处。多个关键字间用逗号用隔,逗号表示是逻辑“或”的意思。空格表示逻辑“与”。这是正式在keyword标签中描述关键字必须的。尽管如此,很多搜索引擎也会把关键字间以空格分开以达到能搜索出更相关的结果的目的。这样做的意义是,搜索引擎会把空格分开的关键字根据一定的方式自由组合。可以尝试用两种方法,看哪一种更加适合你。

关键字不宜以同一形式重复3-6次,一般这已经认为是最大的关键字重复数(好像现在又发生了变化)。所以,尽量避免把你的关键字一次又一次地不断重复。这对于每一个搜索引擎来说是SPAM(关键字垃圾),你会因此而受到惩罚。大多数的搜索引擎会允许你在keyword标签中使用最多1000个字符。通常,对每一个页面使用相关连的关键字会提高你网站的排名。一个很重要的因素是你关键字冗余度,如果你一个关键字是一个字符,而你的keyword标签中有100个字符,那么你关键字的冗余度就为1%。搜索引擎将会利用相关的算法对你的关键字冗余度进行统计你网页中的每一个重要的词或短语。去除多余的关键字有利于提高你网站的排名。

基本搜索引擎优化策略:

为什么有的网站能在搜索引擎上排名很好,而有的却连找到找不到呢?这个秘密何在呢?正如免费搜索引擎上的指导方针所说,有五个因素你是必须铭记于心的:

1、 你网站的内容与主题。
2、 每页的关键字数。
3、 关键字放置的位置。
4、 点击量。
5、 链接数量。

1、 搜索引擎优化策略:网站内容

网站的实际内容是你网络优化策略的一个重要的因素。如果你想你的网站能在搜索结果中排得靠前,在你的网站中必须有实际的内容。搜索引擎的蜘蛛基本上是一个瞎子。他们只能对你网页内容进行判断你网站的质量,而不能从图片、flash动画上判断。在所有的页面中有充足的内容给搜索引擎进行索引是一个成功搜索引擎优化策略的基本需要。很容易明白,为什么一个没什么内容的网站很难排上去。人们在查找信息的时候,总是希望找到一个包括很多重要信息的网站。很自然,网页内容丰富的网站要比那些网页内容还那么丰富的网站排名要好得多。每个为他们的网站进行优化的站主牢记。不要忘记更新你的网站。无论是搜索引擎还是访问者都希望看到比较新的信息。这是什么意思呢?这就要求你要收集大量的信息,专注于这领域的变化。

2、搜索引擎优化策略:关键字密度

网页上通常会有数以百计的词语,那么搜索引擎怎样去分辨哪些是描述你的网站的重要的词语呢?搜索引擎会统计你一个页面的字数。那些重复出现的词或短语被认为比较重要些。搜索引擎利用自身的算法来统计你页面中每个字的重要程度。关键字数与该页面字数的比例称为关键字密度,这是一个搜索引擎优化策略最重要的一个因素。

为了得到更好的排名,你的关键字必须在页面中出现若干次,或者在搜索引擎允许的范围内。
怎样才能知道关键字的密度是多少才能得到较好的排名呢?很简单,只要你在搜索引擎中搜索你要优化的关键字,然后统计一下排在前面几个网站该关键字的密度就可以了。当然也有很多统计关键字密度的工具(你可以在本站上找到)。

3、 索引擎优化策略:突出关键字

在有价值的地方放置关键字,当你统计完你的页面需要多少个关键字后,接下来就是考虑把你的关键字放在网页的什么地方。突出关键字是吸引搜索引擎注意的一个最重要的因素。搜索引擎将会专注于你网页中某一部分的内容,处于这一关注部分的词语显得比其他部分的词语要重要得多。这就是所谓的“突出关键字”。

A: Title 和meta 标签:
在上一节已经提到,title 标签是网页中最重要的标签。所以在title中放置关键字显得非常重要。有一些搜索引擎会额外的注意“描述”与“关键字”标签。

B: 标题(headings)

标题标签为你的访问者指明了哪些是网站中比较重要的内容。“标题”: 是处于中的文字。在“标题”标签中能出现关键字对于提高你网站排名有很大的好处。

C: 超链接文本:
你链接到一个网页与你网站内容相关,这一想法是非常正常的事。这也是关键字在链接文本中为什么那么重要。

D: URL文本:

在你的域名和你的网页中出现关键字对于搜索引擎排名会产生很大的影响。这样的关键字被称为“URL文本”,在另一个网站与你网站建立链接时,尽量使用关键字作为链接文字,这有利于提高你网站的重要性,从而影响到PR。

E: 顶部:网页顶部的文本,每段开头的内容显得特别重要,所以,尽量在这些地方把关键字包含进来。

 

4、 点击流行度

另外一个在某些搜索引擎中影响排名的因素是点击流行度,在搜索结果中点击连接到你网页的次数会被统计。经常被点击的页面的点击流行度就较高。当访问者从搜索结果中点击你的网站时,搜索引擎将来给你网站奖励一定的分数。如果你的网站得到较高的点击量,那么你将来得到比那些点击量较低的网站更多的分数。不要尝试去重复点击你的网站,对于同一IP的重复点击,搜索引擎会将其删除。当再次重登陆到搜索引擎时会大大影响到排名。搜索引擎会认为这是一个无价值的页面。这并不是一个好的优化策略。
5、 链接流行度

链接流行度被认为是搜索引擎优化的一个主要因素。搜索引擎会认为外部链接较多的网站重要性也相对较高。不是所有的链接都是公平的,从高质量网站的链出会给你网站更多的分数。链接文字必须包含有你优化的关键字,这样也会提高你网站的排名。链接流行度并不是在你所能控制的范围,但是你可以按照以下的做法来提高链接流行度:

A:做一个高质量的网站,如果人们发现他有有价值的内容,他们会主动的与你进行链接。
B:使交换链接变得更简易。在交换链接页面放置交换链接代码,把交换链接的联系方式放在显眼的地方,方便伙伴与你交换。
C:在搜索引擎中找出你竞争对手的链接伙伴,要求他们与你进行交换链接。互利的交换链接对双方都是有利的。
D:在重要的网站中做广告或者在收费目录中提交你的网站。

当然,你还可以向很多免费目录、黄页等提交。你还可以在你的作品中加上你的链接(如ebook ,发表的文章等)。

门户页面—你的秘密武器

管理员建立一个门户门户页面只有一个目的:使某些关键字或短语在某些搜索引擎上获得更好的排名。假设你走进了一家pizza餐厅,肯定有很多人来你的餐厅,但是不是所以的人都要同一口味的pizza。搜索引擎的工作原理也是一样的,他们不是都喜欢同一个页面的。

有些时候你的网站在某个搜索引擎获得了较好的排名,但是在其他的搜索引擎中却找不到。所以是时候去建立一些门户页面去适应多个搜索引擎的“口味”。

如果搜索引擎发现你的门户页面适合他的口味,你网站的排名将会提高。

1、 垃圾与门户页面

在过去,门户页面只是由几个关键字或者几幅图片组成,没有实际、有价值的内容。然后直接链到主站。人们喜欢使用一些软件自动生成多个门户页面,然后自动向众多搜索引擎提交,结果排名却反而更后了。

那么门户页面对于网站排名真的起到了积极的作用了吗?有一些人还在不断的争论,这样的门户页面对某些搜索引擎来说仍然是有用的。低质量的门户页面没有实际工资的内容,会被搜索引擎认为是垃圾。

2、 对搜索引擎友好的门户页面的组建

如果使用得当的话,门户页面不会被搜索引擎误认为是垃圾。如果能建立高质量的门户页面,这对于提高网站排名会起到一个非常积极的作用。如果要用门户页面来提高你网站排名,你的门户页面必须给访问者提供足够多的信息、图片和链接。正如你的主站一样。

一个好的门户页面应该像正式的页面一样,只不过是根据特定的搜索引擎而设计。以下这几是要切记:

A、 没有必要对每一个搜索引擎建立相对的门户页面。把你的注意力放在那些对你网站没有什么好感的搜索引擎上(当然,如果所有的搜索引擎都不喜欢,那么你就 没有必要去建立门户页面,而是做好你的主站)

B、 不要向主要的目录提交你的门户页面,因为这些目录只允许收录你的主站页面。否则,你将会得到惩罚。

C、 在你建立门户页面前,你必须对所针对的搜擎引擎有比较深的了解。

D、 有效的门户页面,只会用到1-2个关键字。如果用得太多,那么这样会导致相反的效果。把注意力尽量集中在你想优化的几个关键字上。

E、 把门户页面建得尽量普通(即与正常的页面一样,不要让人一看就知道这是一个门户页面)通常情况下是用300-500个
搜索引擎垃圾技术是利用不道德的技巧去提高自己搜索引擎上的排名。不诚实的网站管理员就是利用这样的手段去欺骗搜索引擎从而获得较高的排名。这样的做法会让你的网站在短期内排名得到提高,但是后果却是十分严重的。有可能导致搜索引擎把你的网站从他的数据库里永久删除!以下是九个经常使用到的搜索引擎垃圾技术:

1、 隐藏文本:

利用文本与背景色的相同来达到隐藏关键字的目的。这样,用户是看不到这样字,不影响用户的正常阅读,但是搜索引擎却一目了然。这是一种最常用的搜索引擎垃圾技术。

2、 重复关键字:

经常与隐藏文本一起使用。但是这种做法会不页面的底部不断的以小号字重复关键字,或者把它隐藏在meta标签里面。这是最流行的搜索引擎垃圾技术。

3、 使用无关关键字

从不在他们的网站中使用一些热门的关键字,而是使用一些与他们网站无关的关键字。这样,有些人用这些冷门的关键字进行搜索时就会找到他的网站。但是这样做是完全没有用的,当访问者发现这个网站不是他们想要的内容的时候,他们就会立即离开。这样做既欺骗了搜索引擎也欺骗了访问者。

4、 隐藏标签:把关键字隐藏在html标签里面,如:style tags ,alt tags 等等。隐藏链接对一些搜索引擎来说也会被认为是搜索引擎垃圾技术,但另外一些则不是这样。

 

5、 相同或相似页面:

不要复制页面(或门户页面),或者给这些相同页面不同的名字然后又提交到搜索引擎中。这是搜索引擎跟分类目录都明显反对的。

6、 页面交换技术:

这是对搜索引擎访问时采用一个页面以提高在搜索引擎上的排名,而面对访问者的时候却采用另外一个页面。这样做也会在一时半刻得到不错的网站排名,但是后果是:一旦搜索引擎发现了,你的网站将会在他的数据库中永远除名。

7、 链接搜索引擎垃圾技术:

搜索引擎会认为那些通过自助链接系统建立的链接为搜索引擎垃圾技术。

8、 无内容:

网站没有专一的内容对于搜索者来说是垃圾网站。不合法的内容、复制的内容和那些全都是友情链接的网页,对于搜索引擎来说也是搜索引擎垃圾技术。

9、 过度提交:

每个搜索引擎都会限定一个网站提交网页的数量与提交的频率。在一个月之内不要向同一个搜索引擎提交多于一次(即只能提交一次),也不能向同一搜索引擎在一天之内提交多个页面。切记不要向他们提交门户页面。一定要根据搜索引擎的指导方针行事。

新型的大型bbs架构(squid+nginx)

这个架构基于squid、nginx和lvs等技术,从架构上对bbs进行全面优化和保护,有如下特点:

1、高性能:所有的点击基本上全部由前端缓存负责,提供最快速的处理。

2、高保障度:不需考虑应用程序稳定与否、程序语言是何种、数据库是何种,都能从架构上保证稳定。

3、高可用性:对应用程序的修改达到最简化:在程序的某些地方加入清缓存的语句即可,当然还需要做页面静态化的工作和统计工作。

这个架构的特点和一些流程的说明:

1、主域名和图片域名分离

域名分离可以使流量分离,缓存策略分离等等,好处诸多。bbs初期一定要做好规划,将图片用另外的域名独立服务,即使没有足够机器,域名也要先分开。另 外,图片服务器可以使用有别于主域名的另一个域名,一个好处是可以减少读取cookie对图片服务器的压力,另一个是提高安全性,避免cookie泄露。

首先看图,这个图比较大:

archi_bbs

2、使用LVS作为前端、二级代理和数据库的访问入口

使用LVS作为入口,比其他任何一种方式都来得更优质。首先LVS的负载能力很强,因为它工作在网络协议的第4层,使用虚拟ip技术,所以它本身并不担负 任何流量的处理,仅仅是一个封包转发的功能;第二,LVS的配置相对简单而且稳定,一般去调整的几率比较低,也减少了因人为等因素而出现故障;第 三,LVS可以处理任何端口的负载均衡,所以它基本可以做所有服务的负载均衡和容错。在这个架构中,除了处理http的80端口之外,LVS也处理了数据 库mysql的3306端口,在数据库这个应用中是采用的双机热备策略。

3、使用nginx+squid作为最前端的缓存组合

在这个架构中,是最能体现app_nginx_squid_nginx架构的优势的。在这个架构中的bbs运行在缓存上,用户每发布一张帖子,都需要使用 purge指令清除该帖子的缓存,如果是squid在最前端,那么每次发布一张帖子,都需要在所有的squid中调用purge指令,这样在机器比较多的 时候,purge将成为一个巨大的压力。

所以在这里将nginx放在最前端并使用手工url_hash的方式分流,将经常需要purge的帖子页面和列表页面按一个url对应一台squid的策 略,分布到各台squid上,并提供了一台或一组backup的squid,个别squid出现异常时将自动使用backup的机器继续提供一段时间的服 务直到其正常。在这样的架构下,purge就不再是关键问题,因为一个url只会对应到一台机器上,所以purge的时候,后端app_server找到 对应的机器就可以了。

可以看到在前端中还有一台nginx(purge)的机器,这台机器是专用于purge的,只要发送purge指令和需要清除的url到这台机器,就可以 找到相应的服务器并清除缓存了。另外,purge时还需要清理backup机器上的缓存,所以无论前端机器增加到多少,purge指令只会在2台机器上执 行,如果backup机器使用到2-3台,purge指令就会在3-4台机器上执行,仍然在可接受范围之内。

nginx作为前端,另有的好处:

1/使用nginx的日志统计点击量非常方便
2/nginx也可作为缓存,一般可以直接负责favicon.ico和logo等固定的小图片

4、基于nginx的中层代理

nginx中层代理的优势,在:

nginx和squid配合搭建的web服务器前端系统

这篇文章中有解释。

在这个架构中,假如后端的app_server上把帖子页和列表页直接生成了静态页面,那么使用中层代理再做一次url_hash,将可以解决后端 app_server的硬盘容量的压力,但是如果使用到url_hash的话,那做容错就相对麻烦了。所以建议不要采用生成静态页的方式,后端的压力一般 不会非常的大,所以没有必要生成静态页。假如前端squid的命中率实在太低下,造成大量穿透,可以考虑使用二级代理暂顶。

5、基于LVS的数据库双机热备

在这个架构中,因为大量的并发和访问量都由前端的缓存处理掉了,所以后端的mysql主要压力来自于数据的写入,所以压力并不是非常大,并且负载比较稳 定,一般不会随着访问量上升而提高过快,估计目前一台64位的机器,加满内存并使用高速的硬盘,前端负载数亿访问量时数据库都不会出现性能问题。在数据库 这方面应主要考虑故障恢复,因为数据库崩溃的话,按照一般使用备份恢复的做法,耗时很长而且难免丢失数据,是很棘手的问题。使用双机热备的方案,出现故障 时首先可由一台时刻同步着的备用数据库即刻充当主数据库,然后卸下的数据库可以有充分的时间对其进行维修,所以是个很安全有效的办法。

当然,数据库的优化还是要细心做的,参考:

mysql性能的检查和调优方法

细心地调一遍,性能会好很多。

6、图片服务器

图片服务器我在这个架构中没有特别详细的介绍,在大型的bbs系统下,图片常常会出现容灾现象——图片数量严重超过了单台前端服务器容纳能力,导致前端服务器命中率低下。处理容灾问题也是非常棘手的,往后会有更详细的介绍。

7、简单的点击量统计办法

1/使用js的script标签访问另一(台)组服务器的空文件,然后定期向数据库更新
2/在前端的nginx上直接开启日志功能,按需要统计点击量的链接规则进行记录,然后定期更新数据库

FROM:http://sudone.com/archie/archi_bbs.html

WEB前端开发必备工具

前端开发或者说“网页制作”、前端制作”、“网站重构”,这样的一个职位的主要职责是与交互设计师、视觉设计师协作,根据设计图用HTML、CSS、JS完成页面制作。同时,在此基础之上,对完成的页面进行维护和对网站前端性能做相应的优化。今天介绍一些WEB前端开发必备工具,以便大家参考使用,大家有什么好的工具,可以留言与厉害分享。

1、Macromedia Dreamweaver

Macromedia Dreamweaver 8 是建立 Web 站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。从对基于 CSS 的设计的领先支持到手工编码功能,Dreamweaver 提供了专业人员在一个集成、高效的环境中所需的工具。开发人员可以使用 Dreamweaver 及所选择的服务器技术来创建功能强大的 Internet 应用程序,从而使用户能连接到数据库、Web 服务和旧式系统。

下载:http://www.onlinedown.net/soft/22017.htm

2、EditPlus

一套功能强大,可取代记事本的文字编辑器,拥有无限制的Undo/Redo、英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏幕浏览功能。而它还有一个好用的功能,就是它有监视剪贴簿的功能,能够同步于剪贴簿自动将文字贴进EditPlus的编辑窗口中,让你省去做贴上的步骤。另外它也是一个好用的HTML编辑器,除了可以颜色标记HTML Tag (同时支持C/C++、Perl、Java)外,还内建完整的HTML和CSS1指令功能,对于习惯用记事本编辑网页的朋友,它可帮你节省一半以上的网页制作时间,若你有安装IE 3.0以上版本,它还会结合IE浏览器于EditPlus窗口中,让你可以直接预览编辑好的网页(若没安装IE,也可指定浏览器路径)。

下载:http://www.editplus.com/

3、Firebug

Firebug 和 firefox 整合在一起,使你浏览网页时手边有了一套强大的网页开发工具。你可以编辑、调试和监控任何网页上的 CSS、HTML 和 Javascript。要查阅文档、截图和论坛请访问Firebug的网站:

下载:http://www.getfirebug.com

4、HttpWatch

强大的网页数据分析工具.集成在浏览器的工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出。

下载:http://www.httpwatch.com/

5、JS公共类库

jQuery是一个快速简洁的JavaScript库,简化了HTML文档遍历网络发展迅速,事件处理,动画和Ajax交互。 jQuery是为了改变你编写JavaScript。
Prototype是一个JavaScript框架,旨在减轻动态网络应用开发。
具有独特的,易于使用的工具为类驱动的开发和最好的Ajax库周围,原型是迅速成为首选的网络应用程序开发代码库无处不在。

雅虎再谈WEB前端网站优化

转自:品位雅虎

雅虎给出了优化网站加载速度的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像)。

1.Minimize HTTP Requests 减少HTTP请求

图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,利用 CSS sprites 将小图拼合后利用background来定位。
2.Use a Content Delivery Network 利用CDN技术

CDN 确实是好东西,8过服务器提供商的这项服务一般是要收费的,我以前买的国内空间是有这个的但是我当时根本不知道啥用,现在没了。。。
3.Add an Expires or a Cache-Control Header 设置头文件过期或者静态缓存

浏览器会用缓存来减少http请求数来加快页面加载的时间,如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。不过这样如果 页面里的东西变动的话就要改名字了,否则用户端不会主动刷新,看自己衡量了~ 这项可以通过修改.htaccess文件来实现。
4.Gzip Components Gzip压缩

Gzip格式是一种很普遍的压缩技术,几乎所有的浏览器都有解压Gzip格式的能力,而且它可以压缩的比例非常大,一般压缩率为85%。压缩没压缩,可以到 这里 做下测试。
5.Put Stylesheets at the Top 把CSS放顶部

让浏览者能尽早的看到网站的完整样式。
6.Put Scripts at the Bottom 把JS放底部

网站呈现完毕后再进行功能设置,当然这些JS要在你的加载过程中不影响内容表现。

7.Avoid CSS Expressions 避免CSS Expressions

CSS表达式很可怕,这个只被IE支持的东西执行时候的运算量非常大,你移动一下鼠标它都要进行重计算的,但有时候为了做浏览器的兼容必须要用到这个||| IE6去死去死!~
8.Make JavaScript and CSS External 将JS和CSS外链

前面讲到了缓存这个事情,一些较为公用的JS和CSS,我们可以使用外链的形式,譬如我就是从Google外链来的Jquery文件,如果我的浏览者在浏览别的使用了这个外链文件的网站时已经下载并缓存了这个文件,那么他在浏览我的网站的时候就不需要再进行下载了!~
9.Reduce DNS Lookups 减少DNS查找

貌似是要减少网站从外部调用资源,我的Google分析和picasa的外链图片都算在里面了。
10.Minify JavaScript and CSS 减小JS和CSS的体积

写JS和CSS都是有技巧的,用最少的代码实现同样的功能,减少空白,增强逻辑性,用缩写方式等等,当然也有不少工具也能够帮你实现这一点。
11. Avoid Redirects 避免重定向

再写入链接时,虽然”http://www. today-s-ooxx. com”和”http://www. today-s-ooxx. com/” 仅有一个最后的”/”只差,但是结果是不同的,服务器需要花时间把前者重定向为后者然后进行跳转,这个要自己注意,也可以在Apache里用Alias 或者mod_rewrite或者DirectorySlash解决。
12. Remove Duplicate Scripts 删除重复脚本

重复调用的代码浏览器并不会识别忽略,而是会再次运算一遍,这当然是大大的浪费。
13. Configure ETags 配置ETags

搞不清楚咋回事,总之我是在. htaccess里把它删除了。
14. Make Ajax Cacheable 缓存Ajax

Ajax是实时响应的,在浏览器接收到新的数据前,旧的数据被缓存,这样能够更好的提高效率。
15. Flush the Buffer Early 尽早的释放缓冲

当用户进行页面请求时,服务器端需要花费200到500毫秒时间来拼合HTML,将写在head与body之间,释放缓冲,这样可以将文件头先发送出去,然后再发送文件内容,提高效率。
16. Use GET for AJAX Requests 用GET方式进行AJAX请求

Get 方法和服务器只有一次交互(发送数据),而 Post 要两次(发送头部再发送数据)。
17. Post-load Components 延迟加载组件

最先加载必须的组件进行页面初始化,然后再加载其他,YUI Image Loader 是很好的例子。
18. Preload components 预加载组件

提前加载以后可能用到的东西,和延迟加载并不冲突,它的目的是为后续请求提供更快的响应,参见Google首页上的CSS sprites应用。
19. Reduce the Number of DOM Elements 减少DOM元素数量

复杂的页面结构意味着更长的下载及响应时间,更合理更高效的使用标签来架构页面,是好的前端的必备条件。
20. Split Components Across Domains 跨域分离组件

页面组件多个来源可以增大你的平行下载量,但注意不要过多,超过2-4个域名会引起上面说到的DNS查找浪费。
21. Minimize the Number of iframes 减少iframe数量

需要更有效的利用 ifames。
iframe 优点:有利于下载缓慢的广告等第三方内容,安全沙箱,并行下载脚本
iframe 缺点:即使为空也会有较大资源消耗,会阻止页面的onload,非语义
22. No 404s 不要出现404页面

站点本身里(非搜索结果)出现404页面,无意义的404页面会影响用户体验并且会消耗服务器资源。
23. Reduce Cookie Size 减小Cookie

Cookie在服务器及浏览器之间的通过文件头进行交换,尽可能减小Cookie体积,设置合理的过期时间,能够很好的提高效率。
24. Use Cookie-free Domains for Components 对组件使用无Cookie的域名

对静态组件的Cookie读取是一种浪费,使用另一个无Cookie的域名来存放你的静态组件式一个好方法,或者也可以在Cookie中只存放带www的域名。
25. Minimize DOM Access 减少DOM的访问次数

JS访问DOM是很慢的,尽量不要用JS来设置页面布局。
26. Develop Smart Event Handlers 开发灵活的事件处理句柄

DOM树上过多的元素被加入事件句柄的话,反应效率肯定会低,YUI事件工具有一个 onAvailable 方法可以帮助你灵活的设置DOM事件句柄
27. Choose < link >over @import 使用< link >而非 @import

在IE中使用@import就和在页面底部用< link >一样,我们前面说要把< link >放顶部的。
28. Avoid Filters 避免过滤器的使用

如果需要Alpha透明,不要使用AlphaImageLoader,它效率低下而且只对IE6及以下的版本适用,用PNG8图片。如果你非要使用,加上_filter以免影响IE7+用户。
29. Optimize Images 优化图片

将你的GIF转为PNG8会是个减小体积的好办法,另外有很多方法处理你的JPG及PNG图片以达到优化效果。
30. Optimize CSS Sprites 优化CSS Sprites

在CSS Sprites中竖直并尽量紧凑的排列图片,尽量将颜色相似的图片排在一起,会减小图片本身的大小及提高页面图片显示速度。
31. Don’t Scale Images in HTML 不要在HTML中缩放图片

图片要用多大的就用多大的,1000X1000的图片被width=”100″ height=”100″以后,本身的KB数是不会减少的。
32. Make favicon. ico Small and Cacheable 缩小favicon. ico的大小并缓存它

站点的浏览器ICO应该不是经常换吧,那就长时间的缓存它,并且最好控制在1K以下。
33. Keep Components under 25K 保证组件在25K以下

iPhone不能缓存25K以上的组件,并且这还是要在被压缩前。
34. Pack Components into a Multipart Document 将组件打包进一个多部分的文档中

就好像在邮件中加入附件一样,一个HTTP请求就够了,但是这一技术需要确保你的代理支持,iPhone就不支持。

知名搜索引擎登陆地址大全

知名搜索引擎登陆地址大全,希望对大家有用。

搜索引擎推广——英文
Google http://www.google.com/addurl.html

Dmoz http://www.dmoz.org/add.html

HotBot http://www.hotbot.com/prefs_filters.asp?prov

Intelseek http://intelseek.com/add_url_form.asp

Netscape http://about.netscape.com

Gigablast http://www.gigablast.com/addurl?

中文搜索引擎登录
孙悟空登录口:http://www.sunwukong.cn/add.php

TOM搜索登录口:http://search.tom.com/tools/weblog/log.php

蕃薯藤登录口:http://reg.yam.com/register/register.asp

奇摩搜索登录口:http://tw.dir.yahoo.com/step/index.html

Gais 盖世引擎登录口:http://gais.cs.ccu.edu.tw/reg_new.php

openfind蚁搜登录口:http://www.antso.com/apply.asp

英文搜索引擎登录
google登录口:http://www.google.com/addurl.html

dmoz登录口:http://www.dmoz.org/add.html

intelseek登录口:http://intelseek.com/add_url_form.asp

AddMe登录口:http://www.addme.com/s0new.htm

Voyager登录口:http://www.voyagersearch.com/cgi-bin/q/search.cgi?NAVG=AddURL

Gigablast登录口:http://www.gigablast.com/addurl

Infotiger 登录口:http://www.infotiger.com/addurl.html

Nationaldirectory登录口:http://www.nationaldirectory.com/addurl/

WhatUseek登录口:http://www.whatuseek.com/addurl-secondary.shtml

Exactseek登录口:http://www.exactseek.com/add.html

Walhello登录口:http://www.walhello.com/addlinkgl.html

Scrubtheweb登录口:http://www.scrubtheweb.com/addurl.html

Surfgopher登录口:http://www.surfgopher.com/addurl.htm

hao123网址之家登录口: http://221.12.147.30/url_submit.php

好东西网址大全登录口: http://www.haodx.com/add.htm

114啦登录口: http://www.114la.com/

5599网址大全登录口: http://www.5599.net/wzdl.htm

万能网址导航登录口: http://www.tt98.com/

2345网址导航登录口: http://bbs.2345.com/forumdisplay.php?fid=26

百度登录口: http://www.baidu.com/search/url_submit.html

google登录口: http://www.google.com/intl/zh-CN/addurl.html

中国搜索登录口: http://ads.zhongsou.com/register/page.jsp

中国农业网址登录口: http://www.ny3721.com/url_add.asp

1181网址登录口: http://link.1181.com/adduser.asp

中华网址家园登录口: http://www.123-0.com/addurl.asp

1166网址之家登录口: http://www.1166.com/tool/add.html

1616网址导航登录口: http://www.1616.net/misc/coop.htm

1181网址大全登录口: http://link.1181.com/adduser.asp

雪豹操作系统—苹果最新发布

苹果已计划将其“雪豹”提前出笼。苹果下一代操作系统OS X 10.6(又称为雪豹)原计划于今年九月份推出,但苹果今天宣布,雪豹将于本周五上市发售。此次更新版本提供了一些改进,而不是一系列新的功能。

苹 果发布了其QuickTime多媒体软件的一个重要更新版本,甚至新手都可以很方便地使用这个版本进行视频编辑。它还具有将你的视频上传到YouTube 的内置支持。新版QuickTime还具有截屏功能,将屏幕上的变化记录下来并加上旁白录音。公司常利用这一功能创建有关公司软件或网站的教程或演示材 料。

加上额外费用,苹果的电邮及日历管理软件还能支持微软的Exchange电邮及通讯服务器软件,这有助于加强苹果操作系统在办公软件市场上的竞争力。

雪豹(Snow Leopard)

在过去的几年中,计算机芯片产业处于两个重大转变之中,一个是从32位芯片过渡到64位芯片,另一个是从单核过渡到多核。两者都在雪豹操作系统中得到了反映。

雪 豹操作系统这个更新版本具有更好的64位支持。 64位计算的主要优势是能够支持更大的内存。苹果的Mac Pro工作站电脑具有32GB的随机存取内存(RAM),但32位应用程序只能利用其中的4GB。苹果自己的应用程序,包括Safari网络浏览器和 iCal日历软件,都已重新编程为64位的版本,这样有助于提高运行速度。事实上,苹果公司称,它的时光机器备份软件(TimeMachine backup software)的速度能提高80%。

过去几年的另一个主要趋势是向多核芯片的过渡。苹果笔记本电脑都采用双核芯片,而 苹果Mac Pro工作站电脑最多可容纳2个四核芯片。要想充分利用这些多核芯片,需要重新编写应用程序,但苹果新版操作系统有一个新的技术,他们称之为Grand Central Dispatch(简称GCD技术)。该公司表示,通过GCD技术,开发者可以更容易编写能充分利用多核芯片优势的应用软件。

现代计算机还拥有非常强大的图形处理器。通常情况下,这些处理器只负责视频解码和图形渲染,但它们也可以用于补充计算机的一般处理能力。苹果还在雪豹中附加了对OpenCL的支持,OpenCl可以使电脑更为方便地利用这一额外的计算能力。

雪豹操作系统还将其安装空间缩减了7GB。其中部分的空间缩减是由于苹果停止了对旧的PowerPC芯片的支持,苹果自1994年起就在其电脑中采用这种芯片,直到2006年过渡到采用英特尔芯片为止。

微软也将发布其操作系统的一个重大更新版本。 Windows 7计划于10月22日上市发售。

Apache 压力测试

压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽等。一般用并发来做压力测试。

1.apache安装

下载:
从Apache官方网站http://httpd.apache.org/download.cgi下载httpd-2.0.58.tar.gz。
安装:
先解压缩tar文件
tar -zxvf  httpd-2.0.58.tar.gz
(1)./configure –prefix=/usr/local/apache2test –enable-so –enable-shared=max –with-mpm=worker –enable-deflate –enable-headers –enable-rewrite –enable-proxy –enable-proxy –enable-ssl –with-ssl=/path/to/install/openssl_0.97i –enable-modules=all && make && make install
(这是正式服务器上的apache2的编译参数,其中–with-mpm=worker –with-ssl=/path/to/install/openssl_0.97i可以根据实际情况做出修改)
然后安装php,并且在/usr/local/apache2test/conf目录下的httpd.conf里面的DSO支持之后加入
AddType application/x-httpd-php .php .phtml .html .htm
AddType application/x-httpd-php-source .phps
最后将测试的php网页文件添加到/usr/local/apache2test/htdocs目录下

(2) make

(3)make install

2.测试工具说明以及安装

ab:
ab是Apache超文本传输协议(HTTP)的性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求;
概要:运行/usr/local/apache-install-path/bin/ab -help查看ab的具体命令选项;
命令选项-c concurrency 一次产生的请求个数。默认是一次一个。
-n requests 在测试会话中所执行的请求个数。 默认时,仅执行一个请求,但通常其结果不  具有代表意义
运行结果:主要要注意的是以下内容
Time taken for tests: 总共执行所花费的时间.(以上 1000 次共多久)
Requests per second:  每秒平均可以处理多少个connection.
备注:每次仅仅能针对一个连接做重复的测试。

Siege:
是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
下载/安装
Siege时一个开放源代码项目,可以在http://www.google.com上查找
备注:最好选择2.5以上版本,因为高版本多包括一个辅助工具,能够做增量压力测试,低版本不包括此工具。
安装:
%./configure –prefix=/path/to/install && make && make install

使用说明:
siege使用
在/path/to/install/bin/目录下创建需要测试的链接文件,如www.test.com.url,添加需要的测试的链接

http://10.5.3.122/test/google.php/

http://10.5.3.122/test/baidu.php/

http://10.5.3.122/test/sogou.php/

然后保存。
siege使用样例:
siege -c 20 -r 2 -f www.chedong.com.url
参数说明:
-c 20 并发20个用户
-r 2 重复循环2次
-f www.test.com.url 任务列表:URL列表

输出样例:
** Siege 2.59
** Preparing 20 concurrent users for battle. 这次“战斗”准备了20个并发用户
The server is now under siege.. done. 服务在“围攻”测试中:
Transactions: 40 hits 完成40次处理
Availability: 100.00 % 成功率
Elapsed time: 7.67 secs 总共用时
Data transferred: 877340 bytes 共数据传输:877340字节
Response time: 1.65 secs 相应用时1.65秒:显示网络连接的速度
Transaction rate: 5.22 trans/sec 平均每秒完成5.22次处理:表示服务器后台处理的速度
Throughput: 114385.92 bytes/sec 平均每秒传送数据:114385.92字节
Concurrency: 8.59 最高并发数 8.59
Successful transactions: 40 成功处理次数
Failed transactions: 0 失败处理次数

bombardment使用样例:
bombardment www.test.com.url 5 3 4 1
初始化URL列表:www.test.com.url
初始化为:5个用户
每次增加:3个用户
运行:4次
每个客户端之间的延迟为:1秒
输出样例和siege一致,但是会在每一次增量结束之后都有输出。

3.测试方法说明

测试步骤:
方法1.安装apache2后,直接使用apache2的默认设置配置,不做任何修改,进行测试;
方法2.按照以前文档提出的Web容量规划和内存的大小,计算出相应的启动进程数,配置httpd.conf文件,再进行测试;
ServerLimit             400
StartServers            20
MinSpareServers         20
MaxSpareServers         50
MaxClients       300
MaxRequestsPerChild     10000
方法3.超过极限设置,进行测试。(规划容量的2倍进行)

1000个链接,分为不同的并发数请求,10、50、100、200、300、500
ab测试:
/usr/local/apache2.53/bin/ab -n 1000 -c 10 http://10.5.3.122/test/google.php/
/usr/local/apache2.53/bin/ab -n 1000 -c 50 http://10.5.3.122/test/google.php/
/usr/local/apache2.53/bin/ab -n 1000 -c 100 http://10.5.3.122/test/google.php/
/usr/local/apache2.53/bin/ab -n 1000 -c 200 http://10.5.3.122/test/google.php/
/usr/local/apache2.53/bin/ab -n 1000 -c 300 http://10.5.3.122/test/google.php/
/usr/local/apache2.53/bin/ab -n 1000 -c 500 http://10.5.3.122/test/google.php/
siege测试:
/usr/local/siege/bin/siege -c 10 -r 100 -f www.test.com.url
/usr/local/siege/bin/siege -c 50 -r 20 -f www.test.com.url
/usr/local/siege/bin/siege -c 100 -r 10 -f www.test.com.url
/usr/local/siege/bin/siege -c 200 -r 5 -f www.test.com.url
/usr/local/siege/bin/siege -c 300 -r 3 -f www.test.com.url
/usr/local/siege/bin/siege -c 500 -r 2 -f www.test.com.url
增量测试:
/usr/local/siege/bin/bombardment www.test.com.url 1 100 5 1
/usr/local/siege/bin/bombardment www.test.com.url 1 100 6 1

4.测试结果总结

ab测试:测试并发连接数在50~500的情况下,方法2比方法1性能略有提升,但是相差在10个并发连接数左右,并且方法1方法2在测试并发数100的情况下,实际并发数都相差无几。
siege测试:测试并发数从50之后直到500,性能都有提升,并且在测试并发数100、200、500的情况下,提升相差10~30个实际并发数。
bombardment测试:相差不大。
本次测试的结果不太理想,性能的变化不显著,也不明显,可以所属于失败的测试结果。
分析原因:1.本身硬件配置不高,所以默认设置和修改后的设置变化不明显,对性能的提升也明显不足;
2.负载情况太少,由于系统性能原因,增量测试都不能过大的进行,系统性能load average过高;
3.测试页面程序也太少,没有太大说服力。