比Nginx更快的Cherokee
Cherokee 号称是目前最快的 Web 服务器软件,在性能上,甚至比 Nginx 还略胜一筹。与 Apache、Lighttpd、Nginx 等其他同类软件的对比,大家不妨看看官方的 benchmark。其易用性做得也很不错。
Cherokee 官方网站 http://www.cherokee-project.com/
Cherokee 的功能包括支持 FastCGI、SCGI、PHP、CGI、TLS 及 SSL 加密连接,虚拟主机,授权认证,实时编码,载入均衡,与 Apache 兼容的 log 文件等等。
Cherokee 内含一个名为 cherokee-admin 的工具,执行后,允许管理员直接通过浏览器进入 http://localhost:9090/ 对其进行管理和配置。比如,开启或关闭服务器,进行一般选项的设定,配置虚拟服务器、信息源、图标、Mime 类型等项目。
官方测试结果
有人做了测试,Cherokee 性能并不是这么好
Cherokee 号称是世界上处理速度最快的httpd server 甚至比 Nginx 要牛!
很多人都抱有怀疑的态度,网上也纷 纷展开了不通类型的测试,而我也是其中一个。
但撇开速度性能江湖中谁是老大这一论,就 Cherokee 本身,是有它自己相当的亮点。
最令我欣赏的,是它自带的管理工具,也可以说是管理后台了,以网页方式做配置。在里头除了可以调配系统中各项数值,还能配置虚拟主机,缓存,系统状 态。..。.
现在 Cherokee 连 1.0 版本都还没到,截止本文发表,最新版本是 Cherokee 0.99.14 。
可以说各方面的Bug都有相当的存在。所以在这个时候比性能,稳 定。..退一步说,给点面子吧。..毕竟人家还没成熟。
我这么说,可并不是否认了 Cherokee 所号称的性能第一。的确,在用 apache 自带的 ab 压力测试成绩中看来。Cherokee 在并发量 100 的时候,确确实实是比 nginx 还要快!!!
再加上全功能相当讨人喜欢的管理后台,相比起 Nginx 单单只有一个 NginxStatus 我觉得 Cherokee 在这个点子的想法将会不同凡响。因为图形化的配置相当明了,省去了好多记忆配置语法的功夫。尤其对于新手来说,入门槛很低。
源码包解tar,编译,安装完成后。使用指定配置,端口等参数启用单独的管理后台进程,打开浏览器,输入账号自动生成的管理密码就能进入管理界面。 如上图所示,可以直接启动以及关闭 Cherokee 的httpd 服务。
上图是http虚拟服务器(虚拟主机)的配置页,在此,你可以直接添加,修改,删除虚拟主机的操作。
高级配置,包括修改超时时限,http 端口,Cache 缓存。..等各项 Cherokee 运作的参数。
相信这就是 Cherokee 为什么比 Nginx 快的原因之一。具有类似squid 这样的 Cache功能。
如果日后 Cherokee 更能加入均衡负载的状态,日志阅读,流量。..。等更进一步强化后台的功能,这我看占有一定的市场可不是难事了。
好了,上边是简单介绍了一下,说到最认真的,性能。下边是用 Ngnx 0.6.31 与 Cherokee 0.99.13 所做对比测试的数据。
我们用2台服务器,一台负责发起ab请求,另一台安装 Cherokee。
被测试服务器配置:
测试得出结果,在 ab 进行 100 个线程压力测试的时候,Cherokee 的完成测试时间要比Nginx少,原因是 Cherokee 每秒所处理的请求数要比 Nginx 多!
但当 ab 线程提高到 500 甚至一千的话,Cherokee 的优势变得很少,虽然还是轻微领先Nginx。但确相当不稳定。AB 会经常因httpd服务关闭而退出,能连续完成3次平均测试的几率不大,好像 1000 并发,10W请求的 48K html 静态文件就已经令Cherokee无法完成了。更糟糕的是,如果连续进行多次100次并发,到某一次的时候,ab测试也会频繁退出。需把被测试机的网络重 启 service network restart ,测试才能继续。也就是说在高负载的情况下!Cherokee 不大行啊。
而作对比的 Nginx 确从然应对!100,500,1000 都一律通吃!而且完全没有Failed requests。(请求失败)
若然说 Cherokee 如他名字一样是一辆吉普车的话,这么我觉得 Nginx 更像一辆悍马。能够承载极端环境的考验。
而 Cherokee 只能单单从低端的并发数中胜出,这只能说是一件意义,而不能算是真正能跟 Nginx 做出较量。因为人家虽然开得较为慢点,不会掉链条。而 Cherokee 虽然开得快!确会掉链条。..
继续努力吧 Cherokee ,我们大家都期待1.0 版本发布的那天。
顺带来个备注,在我进行 Cherokee 0.99.13 测试的第二天,Cherokee 0.99.14 发布了,据说改进了高并发时会退出的BUG,但我测试的时候效果依然。程序不会推出,可ab确依然被关闭了请求而未能完成测试就弹了出来。
除了进行 html 文件的测试,也进行了 JPG,GIF 的测试,成绩如下: