zoukankan      html  css  js  c++  java
  • 【SpringBoot】SpringBoot 内嵌容器及性能

      SpringBoot内置了三种servlet容器供大家选择,默认的是tomcat,三种servlet容器 tomcat,jetty 和 undertow 可以说是javaweb项目当下最火的三款服务器,tomcat是apache下的一款重量级的服务器,不用多说历史悠久,经得起实践的考验。然而:当下微服务兴起,spring boot ,spring cloud 越来越热的情况下,选择一款轻量级而性能优越的服务器是必要的选择。spring boot 完美集成了tomcat,jetty和undertow。

    一、SpringBoot 内嵌容器切换

    1、切换Tomcat

      默认就是,不必切换

    1 <dependency>
    2     <groupId>org.springframework.boot</groupId>
    3     <artifactId>spring-boot-starter-web</artifactId>
    4 </dependency>

    2、切换Jeety

     1 <dependencies>  
     2     <dependency>  
     3         <groupId>org.springframework.boot</groupId>  
     4         <artifactId>spring-boot-starter-web</artifactId>  
     5         <exclusions>  
     6             <exclusion>  
     7                 <groupId>org.springframework.boot</groupId>  
     8                 <artifactId>spring-boot-starter-tomcat</artifactId>  
     9             </exclusion>  
    10         </exclusions>  
    11     </dependency>  
    12 
    13     <!-- Jetty适合长连接应用,就是聊天类的长连接 -->  
    14     <!-- 使用Jetty,需要在spring-boot-starter-web排除spring-boot-starter-tomcat,因为SpringBoot默认使用tomcat -->  
    15     <dependency>  
    16         <groupId>org.springframework.boot</groupId>  
    17         <artifactId>spring-boot-starter-jetty</artifactId>  
    18     </dependency>  
    19 </dependencies>  

    3、切换Undertow

     1 <dependencies>  
     2     <dependency>  
     3         <groupId>org.springframework.boot</groupId>  
     4         <artifactId>spring-boot-starter-web</artifactId>  
     5         <exclusions>  
     6             <exclusion>  
     7                 <groupId>org.springframework.boot</groupId>  
     8                 <artifactId>spring-boot-starter-tomcat</artifactId>  
     9             </exclusion>  
    10         </exclusions>  
    11     </dependency>  
    12       
    13     <!-- undertow不支持jsp -->  
    14     <!-- 使用undertow,需要在spring-boot-starter-web排除spring-boot-starter-tomcat,因为SpringBoot默认使用tomcat -->  
    15     <dependency>  
    16         <groupId>org.springframework.boot</groupId>  
    17         <artifactId>spring-boot-starter-undertow</artifactId>  
    18     </dependency>  
    19 </dependencies>  

    二、SpringBoot 内嵌容器性能对比

      准备:三个springboot的web项目jar报,分别使用 tomcat,jetty 和 undertow

      压测工具:JMeter

    1、单例接口压测

      1)JMeter配置,300个线程,10秒内启动,一个线程循环请求60次,如下,只对一个接口 (HTTP请求-list) 进行压测

      

      2)压测结果

         Tomcat:

           JMete:

      Undertow:

    2、混合接口压测

      1)JMeter配置,300个线程,10秒内启动,一个线程循环请求60次,如下,只对三个接口 (HTTP请求-list、) 进行压测

      

      2)压测结果  

         Tomcat:

         JMete:

      Undertow:

      注:单接口比混合接口慢与接口复杂度有关

    参考:

      1、https://www.cnblogs.com/fanshuyao/p/8668059.html

      2、https://www.cnblogs.com/maybo/p/7784687.html

      

  • 相关阅读:
    服务器控件Repeater
    HeidiSQL无法连接Myql
    未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序搜索
    DISTINCT删除重复数据
    Makedown文件保存问题
    Makedown 本地图片问题
    vsftpd配置文件详解[转载]
    centos 本地yum源的搭建
    OpenOffice菜单乱码解决和linux下安装字体
    让secureCRT正确显示中文
  • 原文地址:https://www.cnblogs.com/h--d/p/14838191.html
Copyright © 2011-2022 走看看