测试你的主机的速度

Host-tracker是一家提供全方位网络测速的网站,分别从全球四十多个服务器访问你的网站,全方位的了解你的网站被访问情况,测速后分别给出访问结果、速度等数据,比较全面。
下面是http://www.Licess.Cn的部分测试结果:

该网站还提供了网站测试挂件,可在你的网站上实时进行检测。方法很简单,点击ADD,然后会出现代码,复制粘贴到你的网站就行了。
呵呵我没有挂,因为挂的东西太多了影响访问速度。有兴趣的朋友可以试一下。
关注VPS Linux Nginx MySQL PHP WEB开发 系统管理 服务器架构 Debian CentOS

Host-tracker是一家提供全方位网络测速的网站,分别从全球四十多个服务器访问你的网站,全方位的了解你的网站被访问情况,测速后分别给出访问结果、速度等数据,比较全面。
下面是http://www.Licess.Cn的部分测试结果:

该网站还提供了网站测试挂件,可在你的网站上实时进行检测。方法很简单,点击ADD,然后会出现代码,复制粘贴到你的网站就行了。
呵呵我没有挂,因为挂的东西太多了影响访问速度。有兴趣的朋友可以试一下。
文/骆古道
一种思维方式影响了软件行业的发展。REST软件架构是当今世界上最成功的互联网的超媒体分布式系统。它让人们真正理解我们的网络协议HTTP本来面貌。它正在成为网络服务的主流技术,同时也正在改变互联网的网络软件开发的全新思维方式。AJAX技术和Rails框架把REST软件架构思想真正地在实际中很好表现出来。今天微软也已经应用REST并且提出把我们现有的网络变成为一个语义网,这种网络将会使得搜索更加智能化。
REST软件架构是由Roy Thomas Fielding博士在2000年首次提出的。他为我们描绘了开发基于互联网的网络软件的蓝图。REST软件架构是一个抽象的概念,是一种为了实现这一互联网的超媒体分布式系统的行动指南。利用任何的技术都可以实现这种理念。而实现这一软件架构最著名的就是HTTP协议。通常我们把REST也写作为REST/HTTP,在实际中往往把REST理解为基于HTTP的REST软件架构,或者更进一步把REST和HTTP看作为等同的概念。
今天,HTTP是互联网上应用最广泛的计算机协议。HTTP不是一个简单的运载数据的协议,而是一个具有丰富内涵的网络软件的协议。它不仅仅能够对于互联网资源进行唯一定位,而且还能告诉我们对于该资源进行怎样运作。这也是REST软件架构当中最重要的两个理念。而REST软件架构理念是真正理解HTTP协议而形成的。有了REST软件架构理念出现,才使得软件业避免了对HTTP协议的片面理解。只有正确的理论指导,才能避免在软件开发的实际工作过程中少走弯路。
REST软件架构之所以是一个超媒体系统,是因为它可以把网络上所有资源进行唯一的定位,不管你的文件是图片、文件Word还是视频文件,也不管你的文件是txt文件格式、xml文件格式还是其它文本文件格式。它利用支持HTTP的TCP/IP协议来确定互联网上的资源。
REST软件架构遵循了CRUD原则,该原则告诉我们对于资源(包括网络资源)只需要四种行为:创建(Create)、获取(Read)、更新(Update)和销毁(DELETE)就可以完成对其操作和处理了。其实世界万物都是遵循这一规律的:生、变、见、灭。所以计算机世界也不例外。这个原则是源自于我们对于数据库表的数据操作:insert(生)、select(见)、update(变)和delete(灭),所以有时候CRUD也写作为RUDI,其中的I就是insert。这四个操作是一种原子操作,即一种无法再分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。
尽管在Java语言世界中网络服务目前是以SOAP技术为主,但是REST将是网络服务的另一选择,并且是真正意义上的网络服务。基于REST思想的网络服务,不久的将来也会成为是网络服务的主流技术。REST不仅仅把HTTP作为自己的数据运输协议,而且也作为直接进行数据处理的工具。而当前的网络服务技术都需要使用其它手段来完成数据处理工作,它们完全独立于HTTP协议来进行的,这样增加了大量的复杂软件架构设计工作。REST的思想充分利用了现有的HTTP技术的网络能力。在德国电视台上曾经出现过一个这样的五十万欧元智力题:如何实现网络服务才能充分利用现有的HTTP协议?该问题给出了四个答案:去问微软;WSDL2.0/SOAP1.2;WS-Transfer;根本没有。这个问题告诉我们HTTP并不是一个简单的数据传来传去的协议,而是一个聪明的会表现自己的协议,这也许是REST = Representational State Transfer的真正含义。
实际上目前很多大公司已经采用了REST技术作为网络服务,如Google、Amazon等。在Java语言中重要的两个以SOAP技术开始的网络服务框架XFire和Axis也把REST作为自己的另一种选择。它们的新的项目分别是Apache CXF 和Axis2 。Java语言也制定关于REST网络服务规范:JAX-RS: Java API for RESTful Web Services (JSR 311)。相信还会出现更多与REST相关的激动人心的信息。
尽管AJAX技术的出现才不到两年时间,但是AJAX技术遵循了REST的一些重要原则。AJAX技术充分利用了HTTP来获取网络资源并且实现了HTTP没有的对于异步数据进行传输的功能。AJAX技术还使得软件更好地实现分布性功能,在一个企业内只要一个人下载了AJAX引擎,其它企业内部的人员,就可以共享该资源了。AJAX技术遵守REST准则的应用程序中简单和可伸缩的架构,凡是采用AJAX技术的页面简洁而又丰富,一个页面表现了丰富多彩的形态。
AJAX技术还使用了一种不同于XML格式的JSON文件格式,这个意义在哪里呢?在REST软件架构下我们不能对于XML文件进行序列化处理,这样程序员必须要使用自己的XML绑定框架。而以序列化的JavaScript对象为基础的JSON已经获得了广泛认可,它被认为能以远比XML更好的方式来序列化和传输简单数据结构,而且它更简洁。这对REST是一个极大贡献和补充。
当前的网络应用软件还违背了REST的“无状态服务器”约束。REST服务器只知道自己的状态。REST不关心客户端的状态,客户端的状态自己来管理,这是AJAX技术的应用之地。通过AJAX技术,可以发挥有状态网络客户机的优势。而REST的服务器关心的是从所有网络客户端发送到服务器操作的顺序。这样使得互联网这样一个巨大的网络得到有序的管理。
Ruby on Rails框架(简称Rails或者Rails框架)是一个基于Ruby语言的越来越流行的网络应用软件开发框架。它提供了关于REST最好的支持,也是当今应用REST最成功的一个软件开发框架。Rails框架(从版本1.2.x起)成为了第一个引入REST作为核心思想的主流网络软件开发框架。在Rails框架的充分利用了REST软件架构之后,人们更加坚信REST的重要性和必要性。Rails利用REST软件架构思想对网络服务也提供了一流的支持。从最直观的角度看待REST,它是网络服务最理想的手段,但是Rails框架把REST带到了网络应用软件开发框架。这是一次飞跃,让REST的思想从网络服务的应用提升到了网络应用软件开发。利用REST思想的simply_restful插件已经成为了Rails框架的核心内容。
我们把现有基于SOAP的网络服务和基于REST/HTTP网络服务作个比喻,前者是一种传统的寄信方式,而后者是现代网络的电子邮件方式。要是寄信和电子邮件都有病毒存在的话,传统的寄信被送到对方就很危险,而电子邮件是开发的,电子邮件供应商比如Google为我们检查了电子邮件是否有病毒。这里并不是说明SOAP网络服务消息容易包含病毒,而是说明HTTP是无法处理SOAP信息包究竟好不好,需要额外的软件工具解决这一问题,包括防火墙也用不上和管不了。
REST/HTTP网络服务的信息包可以被防火墙理解和控制。你可以按照操作和链接进行过滤信息包,如你可以规定从外部来的只能读取(GET操作)自己服务器的资源。这样对于系统管理员而言使得软件管理更为简单。REST的安全性还可以利用传输安全协议SSL/TLS、基本和摘要式认证(Basic und Digest Authentication)。除了这些REST自身的安全性功能外,还可以利用像基于信息的Web Services Security(JSR 155)作为REST不错的补充。
作者简介:骆古道,网名Cnruby,八十年代初毕业于西北工业大学数理力学系,1988年公派留学德国,从事组合最优化理论研究,从九十年代初期起一直致力于计算机领域软件开发、设计和管理等方面工作,个人博客为“道喜技术日记”。
博客的写作需要一定的搜索引擎优化(SEO)的技巧才可能得到良好的回报,这里有很简单的七个博客写作技巧和方法,虽然看起来很简单,但是这些技巧可以最大限度的使你的努力获得更多的收获和成果,目标只有一个:增加你的读者并且吸引他们阅读你的文章。
1、删除代词,并将其修改为描述性的名词
这个方法是为了帮助搜索引擎能更准确的索引和确定你文章的内容,名词有利于说明你的文章,并减少歧义,在大多数情况下,代词都很多余,并限制你的文章达到其应有的最高潜力。
2、为你的文章选择准确描述性标题
这对于你来说可能不是个新闻,因为这是优化策略中非常重要的一部分,不过,根据我的经验,一个理想的标的长度通常是4-7个英文单词,标题应该转却的反映文章内容,并且尝试使用最重要的关键词短语。
3、在第一段中强化你的标题关键词
你已经选择了一个非常不错的标题栏,那么,你应该不能就此为止吧,在你正文第第一段中,你应该补充你标题的主要内容:
1)一个精确的短语来匹配标题中的内容。
2)增加一些额外的关键词。
4、文章内容至少150个单词
短小的内容会遭到搜索引擎惩罚,但是关键内容过于稀释的话可能伤害更大,因此,我推荐150-250的高关键词密度,并减少代名词。对于参考文章和HOW-TO类型的文章,我一般推荐500个以上的单词,这样就很容易超过关键词优化的界限,以避免遭到搜索引擎的人为惩罚,通常最好关键词分布在三段之中。也许很多人对于这点有不同的意见,但是文章的长度的确非常重要,尝试不同的技巧,你会最终尝到甜头。
5、使用超级链接文字推广你的文章
即使只有一个链接到你的文章,那也是很好的,关键是要添加链接,同样重要的是,链接中的锚文本要和文章标题的关键字匹配。
通过一些社会化的工具,例如DIGG等可以将你的文章推送到社会化网络中,以便获得更多人的推荐。另外,还要鼓励他人在自己的博客中对其进行评论,每一个博客都在寻找写作的主题,所以一篇好的文章往往会得到充分认可。
6、鼓励相互交流
你写的每一篇文章,对于你来说都是一个机会,你可以借机和你的读者进行交流,有很多方法可以鼓励留言评论,但重要的是,你要重视你的读者们的看法,问他们有什么想法,或者对他们提出一些有挑战性的问题。
7、让用户能轻松订阅
可能你并不知道什么是RSS Feed,但是你依旧可以建立一个RSS Feed的订阅基础,一个Feed订户很可能会在未来经常访问你的博客,如果你想换个花样,你可以考虑每月通过电子邮件的方式发送一篇通讯稿,无论使用哪种形式,你都应该鼓励大家订阅,无论是在文章的底部还是在顶部,用粗体字呼吁大家订阅你的博客。
好了,以上就是7个文章写作技巧,可以让你的博客文章最大限度的在搜索引擎上表现良好。
据前程无忧(http://www.51job.com)数据显示:本周济南的有效职位数为1857个。济南才市有效的职位数经过前段时间的震荡下调后,现在每周的有效职位数在1800个上下平稳浮动。本周以NEC软件(济南)有限公司、中兴软件技术(济南)有限公司、浪潮等企业为代表的软件技术公司抛出了众多的软件工程师需求名额。其中NEC软件(济南)有限公司对软件工程师的需求达到50人之多。
免费申请@w.cn,@9.cn邮箱,5G免费空间,找资源网测试4位的帐号可以申请。
绑定到您的QQ上,用这Email邮箱替换QQ号码,倍儿有面子!全世界最短的邮箱!
@w.cn的申请地址:
https://domains.live.com/members/signup.aspx?domain=w.cn
@9.cn的申请地址:
https://domains.live.com/members/signup.aspx?domain=9.cn
9.cn w.cn是由 Windows Live Mail 授权的提供电子邮件服务的组织。
有朋友说不知道登陆地址,mail.msn.com/mail.live.com/mail.hotmail.com都可以登陆,需要输入邮箱完整地址。
pipebytes (http://www.pipebytes.com/) 提供一项在线的即时的文件收发服务,也就是说文件发送者和接收者须同时在线,所以它不提供临时存储服务,然后才能即时传送文件,而且这种传送和一般IM工具一样是即时的,发送方需要给接收方一个指定的下载地址及提取号,当两方都准备好后才能即时传输文件。它不象BitTorrent 和其他P2P传送协议,文件不会在互联网上分享而是直接送给接收者。 在速度方面会快于其他基于web的文件传送服务,当然你也可以在文件传送同时观看pipebytes给你挑选的YouTube视频,这样就免去了等待的烦恼。
http://www.brinkster.com/
http://www.liquid2k.com/
http://www.demented.org/ (has FTP)
http://www.cfm-resources.com/ (不可*)
2. "我需要 PHP 和足够的空间。 ( 也许 15-25 M) 我可以接受一些广告的 (旗帜或弹出/底部, 但是不能两者都有!),空间如果没广告 , 我会更喜欢。 我需要尽可能多的流量。MySQL 是可选择的。"
http://www.host.sk/ (无广告)
http://www.php50.com/ (页顶广告)
http://www.fateback.com/ (旗帜)
http://www.t35.com/ (页顶广告)
http://www.clawz.com/ (旗帜)
http://www.tripod.co.uk/ (页顶广告,包括MySQL)
3. "我需要一个可以接受3~5M大文件而且提供很多流量的空间,不介意广告"
http://www.come2store.com/ (文件储存)
http://briefcase.yahoo.com/
http://www.hut.ru/
http://www.gizba.com/ http://www.riefcase.yahoo.com/ (文件储存)
http://www.imagestation.com/
4. "我不很在意容量、广告或流量,适量的空间, 至少400M月流量,我只要求稳定、不会很快关闭的空间"
http://www.geocities.com/
http://www.angelfire.com/
http://www.tripod.com/
http://www.worldzone.net/ http://www.topcities.com/
http://www.brinkster.com/ (无广告)
5. "我的站点主要由HTML文件、图片和一些小文件组成,我不需要什么权限,只要求有个大空间(超过100M并希望有FTP)"
http://www.9cy.com/ (banner OR pop-up)
http://www.hostultra.com/ (pop-up)
http://www.topcities.com/ (banner OR pop-up 最大单个文件900 KB)
http://www.hostingextreme.com/ (pop-under)
6. 我需要PHP和至少15~25M的空间,可以允许有广告(没有更好),可能多的流量和MYSQL数据库可选。
http://www.spaceports.com/ (banner frame or pop-up)
http://www.tripod.co.uk/ (pop-up)
http://www.host.sk/ {暂停注册}
http://www.amzweb.net/ (要求75个帖子)
http://www.dk3.com/ (不可*)
http://www.hut.ru/ http://www.deeplist.com/
7. "我需要CGI支持,我不介意广告,只要他们不是太令人讨厌,5~10M的空间,最好有FTP"
http://www.netfirms.com/
http://www.spaceports.com/
http://free.prohosting.com/ (no sendmail)
8. "我需要ASP空间,FTP”
http://www.brinkster.com/ (no ads, no FTP)
http://www.aspfreeserver.com/
http://www.7host.com/ http://www.websamba.com/ (不可*)
9. "我需要一个至少提供15M空间和1G流量, PHP和CGI的空间"
http://www.amzweb.net/signup.php
http://www.spaceports.com/
http://www.cfm-resources.com/ (CFML, ASP)
http://www.digitalrice.com/ ( 只有 5 M空间)
http://www.portland.co.uk/ ( 只有 100 M流量)
10. "我需要一个可以绑定域名的空间"
http://www.breezeland.com/ http://www.netfirms.com/
http://www.portland.co.uk/
http://www.amzweb.net/
http://webhosting.bootbox.net/
11. "我真的需要空间,合适的流量和 20-30 M空间。 最好有 FTP,没有也可以。"
http://www.brinkster.com/ (no ads, no FTP)
http://www.aspfreeserver.com/
http://www.cfm-resources.com/
http://www.websamba.com/ (not very reliable)
12. "我需要 20-30M的PHP 和 MySQL空间 。需要 FTP。最小的广告,但是我不介意弹出或banner广告。 我也会至少需要 1G流量。 我准备做一个论坛 , 像phpBB 或 IBForums ,因此最好空间允许放论坛。"
http://www.host.sk/ (no ads, not reliable)
http://www.spaceports.com/
http://www.xug.net/
http://www.tripod.co.uk/
13. "我寻找一个空间可提供至少15M空间和1G流量,最好有PHP/MySQL和CGI。"
http://www.spaceports.com/
http://www.amzweb.net/ (必须在论坛发帖)
14. "我需要至少20M的空间,1G的流量,最好FTP,PHP或CGI 有的话最好。 "
http://www.netfirms.com/
http://www.fateback.com/
http://www.hostingextreme.com/
http://www.portland.co.uk/ (月流量不够大)
http://www.amzweb.net/ (必须在论坛发帖)
15. “最适合做论坛的空间”
http://www.tripod.lycos.co.uk --->php/myswl
http://free.prohosting.com/ --->CGI-BIN 但有广告条
16. "我需要超过50M的PHP/FTP空间,无文件大小限制"
http://host.sk - 有时速度不快
http://php50.com/ - 有广告条,无FTP
17. "适合做游戏站点的空间"
http://www.emunetwork.com
http://www.gaming-depot.com/ http://www.tf2hq.com/
18. "我只需要一个稳定的FTP普通空间"
http://www.profitfree.com/ http://swiftdesk.com/
19. “我需要图片空间”
http://yoursighost.com/
http://stormpages.com/
http://rbftp.org/
http://megspace.com/
http://internations.net/
http://graffiti.net/
http://anycities.com/
http://tok2.com/
http://www.evolvahost.co.uk/
20. “我需要音乐空间,可以放MP3”
http://www.anycities.com/
http://www.indietrax.com/
http://www.flytrap.it/
21. “做下载的空间”
架构原理
Apache通常是开源界的首选Web服务器,因为它的强大和可靠,已经具有了品牌效应,可以适用于绝大部分的应用场合。但是它的强大有时候却显得笨重,配置文件得让人望而生畏,高并发情况下效率不太高。而轻量级的Web服务器Lighttpd却是后起之秀,其静态文件的响应能力远高于Apache,据说是Apache的2-3倍。Lighttpd的高性能和易用性,足以打动我们,在它能够胜任的领域,尽量用它。Lighttpd对PHP的支持也很好,还可以通过Fastcgi方式支持其他的语言,比如Python。
毕竟Lighttpd是轻量级的服务器,功能上不能跟Apache比,某些应用无法胜任。比如Lighttpd还不支持缓存,而现在的绝大部分站点都是用程序生成动态内容,没有缓存的话即使程序的效率再高也很难满足大访问量的需求,而且让程序不停的去做同一件事情也实在没有意义。首先,Web程序是需要做缓存处理的,即把反复使用的数据做缓存。即使这样也还不够,单单是启动Web处理程序的代价就不少,缓存最后生成的静态页面是必不可少的。而做这个是 Squid的强项,它本是做代理的,支持高效的缓存,可以用来给站点做反向代理加速。把Squid放在Apache或者Lighttpd的前端来缓存 Web服务器生成的动态内容,而Web应用程序只需要适当地设置页面实效时间即可。
即使是大部分内容动态生成的网站,仍免不了会有一些静态元素,比如图片、JS脚本、CSS等等,将Squid放在Apache或者Lighttp前端后,反而会使性能下降,毕竟处理HTTP请求是Web服务器的强项。而且已经存在于文件系统中的静态内容再在Squid中缓存一下,浪费内存和硬盘空间。因此可以考虑将Lighttpd再放在Squid的前面,构成 Lighttpd+Squid+Apache的一条处理链,Lighttpd在最前面,专门用来处理静态内容的请求,把动态内容请求通过proxy模块转发给Squid,如果Squid中有该请求的内容且没有过期,则直接返回给Lighttpd。新请求或者过期的页面请求交由Apache中Web程序来处理。经过Lighttpd和Squid的两级过滤,Apache需要处理的请求将大大减少,减少了Web应用程序的压力。同时这样的构架,便于把不同的处理分散到多台计算机上进行,由Lighttpd在前面统一把关。
在这种架构下,每一级都是可以进行单独优化的,比如Lighttpd可以采用异步IO方式,Squid可以启用内存来缓存,Apache可以启用MPM 等,并且每一级都可以使用多台机器来均衡负载,伸缩性很好。
实例讲解
下面以daviesliu.net和rainbud.net域下面的几个站点为例来介绍一下此方案的具体做法。daviesliu.net域下有几个用 mod_python实现的blog站点,几个php的站点,一个mod_python的小程序,以后可能还会架设几个PHP和Django的站点。而服务器非常弱,CPU为Celeron 500,内存为PC 100 384M,因此比较关注Web服务器的效率。这几个站点都是采用虚拟主机方式,开在同一台机器的同一个端口上。
Lighttpd服务于80端口,Squid运行在3128端口,Apache运行在81端口。
Lighttpd的配置
多个域名采用/var/www/domain/subdomain 的目录结构,用evhost模块配置document-root如下:
evhost.path-pattern = var.basedir + "/%0/%3/"
FtpSearch中有Perl脚本,需要启用CGI支持,它是用来做ftp站内搜索的,缓存的意义不大,直接由lighttpd的mod_cgi处理:
$HTTP["url"] =~ "^/cgi-bin/" { # only allow cgi's in this directory
dir-listing.activate = "disable" # disable directory listings
cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl" )
}
bbs使用的是phpBB,访问量不大,可以放在lighttpd(fastcgi)或者apache(mod_php)下,暂时使用 lighttpd,设置所有.php的页面请求有fastcgi处理:
fastcgi.server = ( ".php" => ( ( "host" => "127.0.0.1", "port"=> 1026, "bin-path" => "/usr/bin/php-cgi" ) ) )
blog.daviesliu.net 和 blog.rainbud.net 是用mod_python编写的blogxp程序,所有静态内容都有扩展名,而动态内容没有扩展名。blogxp是用python程序生成XML格式的数据再交由mod_xslt转换成HTML页面,只能放在Apache下运行。该站点采用典型Lighttpd+Squid+Apache方式处理:
$HTTP["host"] =~ "^blog" {
$HTTP["url"] !~ "." {
proxy.server = ( "" => ( "localhost" => ( "host"=> "127.0.0.1", "port"=> 3128 ) ) ) #3128端口为
}
}
share中有静态页面,也有用mod_python处理的请求,在/cgi/下:
$HTTP["host"] =~ "^share" {
proxy.server = (
"/cgi" => ( "localhost" => ( "host"=> "127.0.0.1", "port"=> 3128 ) )
)
}
Squid的配置
只允许本地访问:
http_port 3128
http_access allow localhost
http_access deny all
启用反向代理:
httpd_accel_host 127.0.0.1
httpd_accel_port 81 #apache的端口
httpd_accel_single_host on
httpd_accel_with_proxy on #启用缓存
httpd_accel_uses_host_header on #启用虚拟主机支持
此方向代理支持该主机上的所有域名。
Apache的配置
配置/etc/conf.d/apache2,让其加载mod_python、mod_xslt、mod_php模块:
APACHE2_OPTS="-D PYTHON -D XSLT -D PHP5"
所有网站的根目录:
<Directory "/var/www">
AllowOverride All #允许.htaccess覆盖
Order allow,deny
Allow from all
</Directory>
基于域名的虚拟主机:
<VirtualHost *:81>
ServerName blog.daviesliu.net
DocumentRoot /var/www/daviesliu.net/blog
</VirtualHost>
这里明显没有lighttpd的evhost配置方便。
blog.daviesliu.net下的.htaccess设置(便于开发,不用重启Apache):
SetHandler mod_python
PythonHandler blogxp.publisher
PythonDebug On
PythonAutoReload On
<FilesMatch ".">
SetHandler None #静态文件直接由Apache处理
</FilesMatch>
<IfModule mod_xslt.c>
AddType text/xsl .xsl #防止对xsl文件进行转化
AddOutputFilterByType mod_xslt text/xml
XSLTCache off
XSLTProcess on
</IfModule>
Header set Pragma "cache"
Header set Cache-Control "cache"
在blogxp.publisher里面,还需要设置返回的文档类型和过期时间:
req.content_type = "text/xml"
req.headers_out['Expires'] = formatdate( time.time() + 60 * 5 )
经过这样的配置,所有站点都可以通过80、3128、81三个端口进行正常访问,80端口用作对外的访问,以减少负荷。81端口可以用作开发时的调试,没有缓存的困扰。
性能测试
由于时间和精力有限,下面只用ab2做一个并不规范的性能对比测试(每项都测多次取平均),评价指标为每秒钟的请求数。
测试命令,以测试lighttpd上并发10个请求 scripts/prototype.js 为例:
ab2 -n 1000 -c 10 http://blog.daviesliu.net:80/scripts/prototype.js
静态内容:prototype.js (27kB)
Con
Lighttpd(:80)
Squid(:3128)
Apache(:81)
1
380
210
240
10
410
215
240
100
380
160
230
可见在静态内容上,Lighttpd表现强劲,而Squid在没有配内存缓存的情况下比另两个Web服务器的性能要差些。
动态页面:/rss (31kB)
Con
Lighttpd(:80)
Squid(:3128)
Apache(:81)
1
103
210
6.17
10
110
200
6.04
100
100
100
6.24
在动态内容上,Squid的作用非常明显,而Lighttpd受限于Squid的效率,并且还要低一大截。如果是有多台Squid来做均衡的话,Lighttpd的功效才能发挥出来。
在单机且静态内容很少的情况下,可以不用Lighttpd而将Squid置于最前面。