hi-nginx-java併發效能一窺

nginx發表於2020-11-16

欲知hi-nginx-java的併發效能,用jmeter進行測試便知一二。

設定使用者數為100000,迴圈次數為100,ramp-up perio為2:

請求地址為http://localhost/test.java。該地址對應的servlet如下:

 1     private static hi.route r = hi.route.get_instance();
 2 
 3     public jdemo() {
 4         jdemo.r.get("^/(hello|test)/?$", (hi.request req, hi.response res, Matcher m) -> {
 5             this.do_hello(req, res);
 6         });
 7     }
 8 
 9     public void handler(hi.request req, hi.response res) {
10         jdemo.r.run(req, res);
11     }
12 
13     private void do_hello(hi.request req, hi.response res) {
14         res.set_content_type("text/plain;charset=UTF-8");
15         res.set_cookie("test-k", "test-v", "Max-Age=3; Path=/");
16         res.status = 200;
17         res.content = "hello,world";
18     }

具體實現可參考:https://github.com/webcpp/jdemo/blob/master/hi/jdemo.java

使用jmeter的命令列模式進行測試。結果如下圖所示:

此次測試在一臺2核4執行緒4g記憶體筆記本上完成,hi-nginx開4個工作程式,最終消耗記憶體為每工作程式68mb至101mb,併發數越大,記憶體消耗越小。

以上,足證hi-nginx-java架構可提供更優效能的java web開發方法。

 

相關文章