在springboot应用中pom.xml文件中去掉默认的tomcat中间件依赖
org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-tomcat
引入BES中间件插件依赖
com.bes.besstarter bes-lite-spring-boot-2.x-starter9.5.2 com.bes.besstarter bes-gmssl9.5.2 com.bes.besstarter bes-jasper9.5.2 com.bes.besstarter bes-jdbcra9.5.2 com.bes.besstarter bes-websocket9.5.2
*** bes依赖所在仓库为 xxXX,请改为您实际使用的仓库地址。
当信创组件仓库与本地私服仓库不一致时,需要配置maven双远程仓库
default
|
同时设置本地maven的setting.xml
折叠原码
|
3. 启动项目,出现如下图所示即为成功配置
!!!如果引入SDK公共工具类,也要移除tomcat
com.xxx.mdd mdd-framework-utilorg.apache.tomcat.embed tomcat-embed-core1.0.4
3.调研报告
BES中间件与tomcat中间件,jetty和undertow性能对比,以上中间件最大连接数等配置都为默认配置时
1.以下测试在http非异步情况下:
并发量 | 平均响应时间(ms) (最小 - 最大响应时间) | 错误率(%) | 吞吐量(/sec) | ||||
BES | 1W | 37532 (22-81587) | 34611 (9-79063) | 13.32 | 20.90 | 99.7 | 125.2 |
tomcat | 31772 (2-75605) | 31976.4 (17-74998) | 18.67 | 20.36 | 120.77 | 122.3 | |
jetty | |||||||
undertow | 24786.4 (825-65128.4) | 25133.4 (396-65385) | 31 | 30 | 140 | 137.6 | |
BES | 5000 | 23022 (319-45357) | 21788.6 (161-44551) | 3.9 | 4.7 | 102.4 | 106.7 |
tomcat | 23590.8 (908-46819) | 23457.6 (168-46581) | 1.4 | 1.2 | 102.4 | 102.8 | |
jetty | 22275.6 (588.2-42470) | 22191.2 (352-41460) | 13.8 | 17.2 | 112.7 | 116.93 | |
undertow | 23764.2 (878.2-46893) | 23556 (413-46106) | 0.79 | 0.6 | 102.2 | 103 | |
BES | 1000 | 4642.4 (70.6-9225.2) | 4723.6 (190.8-9227) | 0 | 0 | 105.2 | 104.06 |
tomcat | 4674.6 (198-9164.2) | 4686 (182.2-9137) | 0 | 0 | 105.13 | 104.84 | |
jetty | 4836.6 (184.8-9600) | 4718.8 (209.4-9279) | 0 | 0 | 101.4 | 104 | |
undertow | 4731.6 (232.2-9206) | 4820.4 (340.4-9369) | 0 | 0 | 103.6 | 101 | |
BES | 500 | 2378.2 (133.4-4714) | 2414.4 (117.8-4759) | 0 | 0 | 101.6 | 100.6 |
tomcat | 2473.8 (114.4-4893.4) | 2469.4 (166.8-4874) | 0 | 0 | 98.67 | 97.85 | |
jetty | 2423 (131.2-4791.6) | 2474.8 (106-4906.4) | 0 | 0 | 99.78 | 98.16 | |
undertow | 2443 (271-4638.2) | 2318.2 (170-4530.8) | 0 | 0 | 100 | 104.4 | |
BES | 100 | 453 (60.6-908.4) | 545 (59.2-990) | 0 | 0 | 100.8 | 92.2 |
tomcat | 473 (69.4-934.2) | 505 (50.8-952.2) | 0 | 0 | 100.57 | 96.87 | |
jetty | 488.2 (62.4-972.4) | 476.4 (78.6-909.8) | 0 | 0 | 94.2 | 99.4 | |
undertow | 465 (70.6-910.2) | 481.4 (89.4-906.4) | 0 | 0 | 100.8 | 101.99 |
同步服务情况下,结论:1).随着并发量增大undertow性能最优;bes中间件性能最差;
2).在并发量不大的情况,中间件性能相差不大;
2.以下测试在http异步情况下:
并发量1000
平均响应时间 | 吞吐量 | |
Bes | 500.55 | 582.16 |
tomcat | 618.35 | 562 |
jetty | 424.45 | 569.36 |
undertow | 481.2 | 627.1 |
并发量500
平均响应时间 | 吞吐量 | |
Bes | 249.35 | 567.4 |
tomcat | 229.6 | 656.13 |
jetty | 278 | 641.02 |
undertow | 168.05 | 614.85 |
并发量100
平均响应时间 | 吞吐量 | |
Bes | 46.55 | 796.6 |
tomcat | 42.2 | 867.89 |
jetty | 242.3 | 169.5 |
undertow | 52 | 795.36 |
异步服务情况下,结论:1).随着并发量增大jetty最优;并发量500左右情况下,undertow的性能较好;bes中间件和tomcat响应时间越长;
2)并发量不大的情况下,jetty平均性能最差,其他三个中间件平均响应时间相差不大。