美文网首页
webflux压测

webflux压测

作者: lesline | 来源:发表于2018-10-15 09:41 被阅读31次

    我们分别基于WebMVC和WebFlux创建两个项目:mvc-with-latency和WebFlux-with-latency。

    WebMVC和WebFlux项目测试结果图:


    WebMVC和WebFlux项目测试结果图.png

    上图中:max-thread-200/max-thread-400是mvc-with-latency工程在最大线程数为200、400时的测试结果;
    webflux是在默认情况下(即最大线程数是200)的测试结果。

    Tomcat默认最大线程数是200;
    通过在application.properties中增加:server.tomcat.max-threads=400设置最大线程数为400。

    为了更明显的展示:给出吞吐量和响应时长的对比图


    吞吐量对比图.png

    吞吐量对比图:在并发4000个用户之后,webflux的吞吐量仍呈线性增长,但同步实现则呈现增长放缓的状态。

    响应时长对比图.png

    响应时长对比图:在并发3000个用户之后,webflux的响应时长仍为105左右,但同步实现的响应时长线性增长。

    综上来说,结论就是相对于Servlet多线程的处理方式来说,Spring WebFlux在应对高并发的请求时,借助于异步IO,能够以少量而稳定的线程处理更高吞吐量的请求,尤其是当请求处理过程如果因为业务复杂或IO阻塞等导致处理时长较长时,对比更加显著。

    参考:

    (6)Spring WebFlux性能测试——响应式Spring的道法术器-刘康的博客-51CTO博客

    相关文章

      网友评论

          本文标题:webflux压测

          本文链接:https://www.haomeiwen.com/subject/mlwxzftx.html