全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 20 道配套习题

内嵌容器深度调优专题

专题说明

本专题深入剖析SpringBoot内嵌容器的高级调优技术,从SSL/TLS性能优化到Tomcat线程池深度调优,再到Undertow容器配置和监控诊断,全面掌握生产环境容器优化的核心技能。

学习目标

  1. 掌握SSL/TLS性能优化技术(Session缓存、OCSP Stapling、TLS False Start)
  2. 理解Tomcat线程池调优策略(minSpare、maxThreads预热)
  3. 学会Undertow容器配置与性能调优
  4. 掌握内嵌容器监控与诊断方法(Actuator端点、线程堆栈分析)
  5. 理解容器切换与配置迁移注意事项
  6. 掌握HTTP/2和ALPN协议支持

学习内容

  • SSL/TLS性能优化(Session缓存、OCSP Stapling、TLS False Start)
  • Tomcat线程池调优(线程预热、maxThreads/minSpare配置)
  • Undertow容器配置与性能特性
  • 内嵌容器监控与诊断(Actuator metrics、health、threaddump)
  • 容器切换与配置迁移(Tomcat→Undertow注意事项)
  • HTTP/2支持与ALPN协议
  • 连接器参数深度配置

学习建议

建议先理解SSL/TLS优化原理,再学习Tomcat线程池调优,然后掌握容器监控诊断方法,最后学习Undertow配置和容器切换。注意切换容器时配置不会自动转换,需要手动迁移。

📝 发现内容有误?点击此处直接编辑

📝 配套习题(20 题)

1
多选题

在Spring Boot应用中优化SSL/TLS性能时,以下哪些技术可以有效减少握手开销?

A

启用SSL Session缓存,允许客户端复用之前的会话

B

配置OCSP Stapling减少证书状态验证的往返

C

禁用所有加密套件仅保留一个最安全的

D

启用TLS False Start允许客户端在握手完成前发送数据

E

配置HSTS头部强制使用HTTPS连接

F

使用ALPN协议支持HTTP/2多路复用

2
多选题

在Spring Boot内嵌Tomcat中,以下哪些配置可以提升SSL/TLS性能?

A

启用OpenSSL通过native库加速SSL操作

B

增大SSL Session缓存大小

C

强制使用TLSv1.3协议

D

配置更大的密钥库(key store)文件

3
单选题

在Spring Boot中配置SSL时,以下哪个加密套件选择策略能在安全性和性能之间取得最佳平衡?

A

只使用RSA密钥交换的套件,避免ECDHE的计算开销

B

优先使用ECDHE套件并配置高效曲线(secp256r1或x25519)

C

只使用AES-256-GCM套件,忽略其他算法

D

禁用所有硬件加速,仅使用纯Java实现

4
填空题

在Spring Boot应用中启用SSL Session缓存,需要在配置文件中设置server.ssl.session-cache-size参数,默认值为________________________2_!!秒。

5
多选题

在Spring Boot应用中,以下哪些Actuator端点可以用于监控内嵌Tomcat容器的运行状态?

A

/actuator/metrics 用于查看Tomcat线程池指标

B

/actuator/health 用于检查容器健康状态

C

/actuator/threaddump 用于获取JVM线程堆栈

D

/actuator/mappings 用于查看容器端口映射

6
单选题

在生产环境诊断Spring Boot内嵌容器性能问题时,以下哪种方式最推荐用于获取线程池实时状态?

A

使用JMX连接远程获取MBean属性

B

在代码中添加日志打印线程池信息

C

使用jstack命令生成线程快照

D

配置Actuator的/actuator/metrics端点并启用Prometheus导出

7
填空题

在Spring Boot Actuator中,Tomcat容器的指标前缀为________________________2_!!,Undertow容器的指标前缀为!!3_!!。

8
多选题

在Spring Boot中选择内嵌容器时,以下关于Tomcat、Jetty、Undertow的对比,哪些描述是正确的?

A

Tomcat是最成熟的容器,生态系统完善,适合传统企业应用

B

Jetty启动速度快,内存占用小,适合长连接场景

C

Undertow基于NIO设计,高并发性能最优,适合高吞吐场景

D

三者都支持Servlet规范,可以无缝切换

9
填空题

Spring Boot内嵌容器默认端口为________________________2_!!属性;如果需要启用Undertow容器,需要排除spring-boot-starter-!!3_!!依赖。

10
多选题

关于Tomcat线程池的实现原理,以下哪些描述是正确的?

A

Tomcat使用JDK原生ThreadPoolExecutor,配置参数完全相同

B

Tomcat线程池支持动态调整最大线程数,而JDK线程池不支持

C

Tomcat线程池的拒绝策略默认是抛出RejectedExecutionException

D

Tomcat线程池在核心线程满时会先尝试任务队列,队列满才创建新线程

E

Tomcat的TaskQueue重写了offer方法改变入队逻辑

11
多选题

在高并发场景下优化Spring Boot内嵌Tomcat线程池,以下哪些配置策略是正确的?

A

将maxThreads设置为CPU核心数的2倍

B

将maxConnections设置为maxThreads的10倍以上

C

设置acceptCount大于maxThreads以处理突发流量

D

核心线程数minSpareThreads应设置为maxThreads的20%-30%

E

在IO密集型应用中,maxThreads应设置为CPU核心数的2-4倍

12
单选题

Tomcat线程池调优时,如果发现大量请求超时但CPU使用率很低,最可能的原因是?

A

maxThreads设置过大

B

maxThreads设置过小

C

acceptCount设置过大

D

maxConnections设置过小

13
填空题

Spring Boot内嵌Tomcat线程池的核心参数:server.tomcat.threads.max默认值为________________________2_!!,server.tomcat.max-connections默认值为!!3_!!(NIO模式)。

14
判断题

在Spring Boot应用启动时,可以通过配置server.tomcat.threads.min-spare大于默认值来实现线程池预热,减少第一个请求的响应延迟。

A

B

15
多选题

关于Undertow的性能调优,以下哪些配置能有效提升高并发处理能力?

A

增大IO线程数为CPU核心数的2倍

B

将Worker线程数设置为CPU核心数的8-10倍

C

启用HTTP/2协议支持多路复用

D

配置更大的buffer大小以减少IO次数

E

禁用access log减少IO开销

16
多选题

Undertow相比Tomcat在高并发场景下的优势体现在哪些方面?

A

Undertow使用更少的内存处理相同并发连接

B

Undertow的NIO架构支持更高的并发连接数

C

Undertow的启动速度比Tomcat更快

D

Undertow完全兼容Servlet 4.0规范,无需修改代码

17
单选题

在Undertow配置中,server.undertow.direct-buffers=true的作用是?

A

使用堆内存分配buffer,减少内存分配开销

B

使用直接内存分配buffer,减少内存拷贝次数

C

启用buffer池化复用,减少GC压力

D

启用buffer压缩,减少内存占用

18
判断题

Spring Boot切换到Undertow容器后,原有的Tomcat配置(如server.tomcat.*)会自动转换为Undertow等效配置。

A

B

19
多选题

在Spring Boot内嵌容器中,以下哪些连接器参数调优可以提升网络传输性能?

A

增大connectionTimeout减少请求等待时间

B

设置keepAliveTimeout延长连接复用时间

C

配置maxKeepAliveRequests控制单连接最大请求数

D

启用socketKeepAlive检测连接存活状态

20
单选题

关于Tomcat连接器的超时参数配置,以下描述正确的是?

A

connectionTimeout表示请求处理的最大时间

B

socketTimeout表示建立TCP连接的超时时间

C

connectionTimeout是等待客户端发送请求头的时间

D

增大超时时间可以提升系统吞吐量

← 上一个专题 全局异常统一处理专题
下一个专题 → 内置容器基础用法专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库