1. JVM 启动参数对分库分表应用的影响,堆大小与连接池线程数的联动规划
JVM 启动参数对分库分表应用有何影响?堆大小与连接池线程数如何联动规划?
- JVM 堆与连接池
- 连接池线程数
- 容量联动规划
分库分表应用会同时持有多个分片的数据源连接池,每个连接池的线程与连接数都占用 JVM 资源(堆内存、线程栈、Socket 缓冲)。堆大小与连接池线程数需联动规划:堆大小决定了可承载的并发缓存、结果集与连接缓冲;连接池线程数决定了并发执行能力。若堆不足以支撑连接池所需的连接数(每个连接有缓冲、结果集驻留),会频繁 GC 或 OOM。规划原则:先估算每个分片连接池的连接数与缓冲,乘以分片数得到总连接内存,再加业务堆需求,设定堆大小与线程数,并留余量。避免"堆小连接多"导致的 GC 压力。
分片数量放大连接池资源,堆与连接池必须联动。连接数×缓冲 + 业务内存 + 余量 = 堆规划。连接池线程数决定并发,堆决定缓存容量,二者需匹配。