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]