我个人觉得tengine中小规模 的公司暂时还是nginx比较好,毕竟稳定,成熟。
下面是摘抄的测试的文章。后边自己实地进行测试一遍看看。
TENGINE和NGINX的性能比较
淘宝基于Nginx二次开发的Tengine Web服务器声称对Nginx做了众多优化,达到性能提升xx倍云云。为了验证及评估替换Nginx的必要性,笔者自行使用apache的ab工具对Tengine和Nginx做了一次简单的性能比较
测试工具:Apache HTTP server benchmarking tool
测试机:OS X YOSEMITE(10.10.2)
测试机内存:16G
测试服务器操作系统:CentOS 7.0.1406
测试服务器内存:2G
测试程序Web服务器:NGINX+Netty
测试程序语言:Scala 2.10.3
测试页面:/login
测试页面css:4个独立的css文件
测试页面js:6个独立js文件
测试页面图片:6个png文件
测试页面总大小:2744字节
Tengine版本:2.1.0(基于NGINX1.6.2)
NGINX版本:1.6.2
配置优化情况:都使用缺省配置
受限于测试环境和测试时间,只是简单测试了单用户单并发到100个用户5000次并发的情况。每种测试分别执行了10次取平均数。最终测试数据如下:
用户&并发连接 | 1&1 | 1&100 | 100&5000 | 500&5000 | ||||
Web服务器 | Tengine | Nginx | Tengine | Nginx | Tengine | Nginx | Tengine | Nginx |
平均响应时间(s) | 0.002 | 0.002 | 0.115 | 0.134 | 4.62875 | 4.5275 | 4.76175 | 4.43075 |
测试方式
1. 为尽量保证测试结果的可靠,每种测试都进行10次,取平均值
2. 测试服务器采用VMWARE虚拟机,保证硬件配置一致
3. 每次测试完后,通过镜像snapshot功能恢复干净的测试环境
可得到的结论有
1. Tengine和NGINX在单用户单并发的情况下,性能没有明显差异。
2. 在单用户并发数量少例如100的情况下,Tengine具备微弱优势;而在用户量和并发数都增加的情况下,NGINX具备明显优势。
其他测试结论
1.在测试过程中还发现,当使用nginx缺省配置做前段反向代理时,比起直接用Netty做Web服务器,访问效率会下降66%
整个测试并不十分完善和严谨,也期待有人可以有更多时间得到更充分的测试数据。没有测试到的情况有
1. Tengine与nginx在不同页面大小和复杂度种的表现。因为Tengine声称对css,js在web服务器层面进行了合并处理,是否Tengine在特定页面表现会更加优异,比如独立css和js数量增加到一定临界点,但这点在本次测试中没有发现Tengine的优势。
2. Tengine与nginx在不同的服务器硬件环境中的性能表现。
但这些测试也足以说明,从访问效率上来看, Tengine并没有宣传的那么优秀。从稳定性考虑,使用原生态的Nginx或许是一个更佳的选择,毕竟二次开发的产品出问题的可能性要大得多