Vert.x学习——性能对比

Vert.x,一个很强大的高性能分布式框架,套用官网的说法: “Vert.x is a lightweight, high performance application platform for the JVM that's designed        for modern mobile, web, and enterprise applications.” Vert.x的中文资料不多,学习主要从官网文档、示例及youtube的一些视频入手。 开始前先做个与servlet(基于tomcat)的性能对比,运行echo服务(源码: echo_test): 测试服务器是我的surface pro 2,i5低电版、4G内存、固态硬盘,测试工具为jmeter。 先看500线程50次循环: 

Vert.x学习——性能对比_第1张图片 

servlet_tomcat_500_50_result_线程220 

此时tomcat开发220多个线程,有4%多的错误率,吞吐量为544/s   然后再看1000线程50次循环:

  Vert.x学习——性能对比_第2张图片 

servlet_tomcat_1000_50_result_线程220 

此时错误率升到了24%,90%用户访问超过了2s,已经超过极限了。 最后看一下2000线程50次循环:

  Vert.x学习——性能对比_第3张图片 

servlet_tomcat_nio_2000_50_result_线程180 

打开了nio后tomcat上的结果,早知nio打开后性能提升很大,果不其然! vertx_2000_50_result_线程18   

最后这个是vert.x的结果了,vert.x只开了18个线程,结果上看略高于打开nio后的tomcat,但要说明的是我的压测机配置不够,分配2000线程时占满了CPU,而服务器没什么资源压力,换高配的机子来运行jmeter的话肯定更好。   这是一个不严谨的对比,但结果还是有一定参考价值: 1.nio对性能的提升很关键,vert.x的io基于netty,而它正是用nio2; 2.vert.x的性能的确很彪悍,事件驱动、nio2!   如果有时间可以进一步对比一下用jetty运行的servlet、nodejs、vert.x的netServer。    

你可能感兴趣的:(性能,servlet,对比,Vertx,vert.x)