十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

高性能WEB服务器–Cherokee

上一篇 / 下一篇  2011-06-09 21:37:50 / 个人分类:其它

Cherokee号称是目前最快的 Web 服务器软件,据说在性能上甚至比 Nginx 还略胜一筹。并且它们提供了一个benkmark测试来试图证明这一点,参与比较的有lighttpd,nginx。51Testing软件测试网vO?Z!H\aX

同时,Cherokee还具有众多的模块功能支持,比如FastCGI、SCGI、PHP、CGI、TLS 及 SSL 加密连接,虚拟主机,授权认证,实时编码,载入均衡,与 Apache 兼容的 log 文件等等。从功能的丰富性上来说,可以与Apache httpd比肩了。

J:D qX+G;D$sPb0H0

高性能和图形化的服务器管理是Cherokee的俩大卖点。

L8M0u)L)Dl0

本文写作时,Cherokee的版本是1.2.1。Cherokee的中文意思是切罗基人,美洲的五大土著人种之一。不过读起来,我感觉还是老毛子的Nginx发音比较硬派。51Testing软件测试网YT @&DJl

安装以及配置

&p?j7d4?0

基本上各大主流Linux和BSD发行版的软件仓库中都已经有现成的Cherokee软件包了。可以直接用各自的工具来自动安装,当然Cherokee也提供从源代码自己编译安装。

M K&bi X {8C V0

主要的配置文件是/etc/cherokee/cherokee.conf,这个文件的语法开起来比较不舒服,而且到目前为止,Cherokee不支持conf文件的include功能,也就是说,你无法像apache或者nginx那样,将配置分散到不同的文件中,Cherokee只能使用一个配置文件cherokee.conf。官方是这样解释的,他们不建议你手工编辑cherokee.conf文件,而应该通过cherokee-admin程序来编辑。cherokee-admin程序会提供一个设计良好的web界面,通过这个界面,你可以很好的将cherokee配置进行模块化管理。

H7gl;QFlT w%o0

不过我依旧觉得,conf文件不能使用include语句来实现配置的模块化是一个非常不舒服的事情。

]?-\r)v0

性能

p}#L1ck@8zyW0

单从处理时间上来说,“fastest”这个词用在Cherokee上并没有问题。关于Cherokee的性能,可能第三方的测试比较客观。和公认的高性能服务器Nginx相比,有人做了ab测试,http://www.oschina.net/bbs/thread/482。总结一下,在100并发下,Cherokee比nginx的处理时间确实要短一些,但是在更高的并发下,Cherokee会出现Failed requests(请求失败),而nginx却不会出现。就是说,Cherokee虽然处理时间更短,但是不稳定,会出现请求失败。

v8@R p:`vH(h0

对于低并发的网站,Cherokee快出的那几个毫秒似乎没有什么意义,对于高并发的网站,Cherokee又会出现请求失败的不稳定状况。“fastest”在这里就显得有些鸡肋了。期待未来的版本,Cherokee可以进一步提高服务器的稳定性。

Mi b+`1S/l-Q0

从服务器内存消耗方面来说,Cherokee可能比nginx更加吃内存。都是开两个工作线程(worker),Cherokee比nginx需要更多的内存。所以对于内存不大的VPS用户,nginx可能依旧是最好的选择。

P-c#Fgu"DV\T#|0

图形化配置管理51Testing软件测试网$vfabPz-l

%? s9L"o i0

执行cherokee-admin -b则会让管理界面可以在Internet上访问。

6Q-G8f{0u9sC5v0

执行cherokee-admin会在本地开启一个服务器管理界面,并产生一个用于登录的临时密码,注意只能从本地才能登录这个管理界面。51Testing软件测试网r'JoGX)_cT

Cherokee的所有配置都可以通过图形化的方式来进行,具体说就是cherokee-admin工具。51Testing软件测试网_x{6iZ6D;o

cherokee-admin -b -u可以产生一个无需密码就可以从internet上访问的管理界面,虽然这么做并不安全,但是可能在你本地机器上调试Cherokee的时候显得更加方便。51Testing软件测试网 L$x3MDD\e+EA,R9zc

你可以针对每个虚拟服务器方便的进行管理。

x})P!o[ gA5YD\0

如果cherokee-admin运行出错的话,可以加上-x参数来显示调试信息,比如cherokee-admin -b -x。51Testing软件测试网\c nKG

另外cherokee-admin的参数好像不能写在一起,比如cherokee-admin -bu就会出现错误,写成cherokee-admin -b -u就没问题了。

R$@@ zW f0

cherokee-admin从逻辑上完全实现了服务器配置的模块化管理(虽然,实际上物理配置文件只有一个),它负责将cherokee.conf以一种更加符合认知的方式展现出来。对于新手来说,不用记那么多的命令代码是个好事,对于老手来说,图形化的配置管理也显得更加方便。51Testing软件测试网U4i4S @1l1r

(K!Eq#xK1f'N0

cherokee-admin默认开启10个线程,很占内存,如果你的服务器内存不够的话,可以通过制定-T参数来限制开启的线程数目,比如cherokee-admin -T 1。

i7|0~x(t0

TAG: Cherokee Web服务器 WEB服务器

 

评分:0

我来说两句

Open Toolbar