Voovan 参照 Jetty 的性能测试,中国框架一样很优秀

Voovan是一个综合框架,当然也有他的主打内容,今天,对就是今天,在这里给各位看官汇报一下他的并发测试能力.

测试对象:Voovan WebServer / Jetty9

测试工具: Apache bench (ab)

Voovan WebServer 的底层是使用 Voovan aio 异步通信框架实现的.所以这个结果也同样可以认为是 Voovan aio 异步通信框架的测试结果.

GIT地址: https://git.oschina.net/helyho/Voovan

因为 CPU 并不很优秀,同时由于手头资源有限,所以使用的是虚拟机,对网络和磁盘的IO性能有一定的影响,所以各位看官不要问我为什么别人可以做到 2w/3w 甚至更高.应为他们的机器相对来说比我这个破破的虚拟机要彪悍的多了,相信如果各位看官有兴趣采用更加强悍的机器再进行测试一定能活的更好的并发性能.

同时本次测试的目的也是为了再有限的资源条件下测试其负载的能力.

这个测试的版本是Voovan framework 1.0的候选版本,这是在做最后的测试以及优化而产生的测试结果。

具体的性能情况,相信各位看官各有各的看法.欢迎评测。

测试环境:
本次测试是在一个 Virtualbox 虚拟机内进行的.虚拟机的配置如下:
OS = Ubuntu 16.04
CPU = Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
CPUCount = 4
内存 = 512M
JDK = OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2ubuntu0.16.04.2-b14)
命令 = ab -c 1000 -n 15000 http://10.0.0.102:28080/test/

返回的内容: HTTP 头+OK

启动的服务通过:-Xmx300m 来限制 JVM 使用内存的大小.

首先进行服务预热:
ab -c 100 -n 1000 http://10.0.0.102:28080/test/ X 2
ab -c 500 -n 1000 http://10.0.0.102:28080/test/ X 2
ab -c 1000 -n 5000 http://10.0.0.102:28080/test/ X 2

服务和测试命令在不同 Virtualbox 虚拟主机运行.

以不到300m的内存消耗,支撑 10000+ 的并发:

image

运行时的负载情况:
image

由于运算量比较小,多数是在 网络 io 的消耗上.所以 cpu 消耗非常的少,同时也可以说明框架对 cpu 的消耗是相对来说比较合理的.

下面我附上一个 Jetty9的性能测试报告,可以看到Voovan WebServer在 QPS 的性能上已经和 jetty 处于相同的水准.

命令: ab -c 1000 -n 15000 http://10.0.0.102:8080/test/

image

最后我们注意到在Total transferred和HTML transferred上Voovan WebServer 不如 jetty9 这是因为我测试时候这个http://10.0.0.102:8080/test/地址是一个 jetty 的错误页面,其返回的信息比 Voovan WebServer测试的返回结果要大的多.

文章转载自 开源中国社区 [http://www.oschina.net]