欲知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开发方法。