上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页
摘要: HikariPool 连接池在初始化的时候主要做了几件事: 初始化底层的连接容器 ConcurrentBag checkFailFast() 尝试创建一个db连接,如果失败则直接抛出初始化异常 中断初始化 初始化各类资源 public HikariPool(final HikariConfig co 阅读全文
posted @ 2021-04-16 00:37 mushishi 阅读(5887) 评论(1) 推荐(2) 编辑
摘要: 先看看 Druid 的 maxEvictableIdleTimeMillis 是啥? DestroyTask 线程销毁任务每隔 timeBetweenEvictionRunsMillis (默认一分钟)的时间会执行一次连接池瘦身检测 DruidDataSource#shrink(checkTime: 阅读全文
posted @ 2021-04-16 00:36 mushishi 阅读(1775) 评论(0) 推荐(0) 编辑
摘要: druid 的 minIdle -》 maxActive 和 hikariCP 的 minimumIdle -》 maximumPoolSize, 他们都是为了维护连接池内有足够的连接可用, 并且应对一定的流量突增; 这一点和线程池的 corePoolSize =》maxPoolSize 语义类似 阅读全文
posted @ 2021-04-16 00:35 mushishi 阅读(1232) 评论(0) 推荐(0) 编辑
摘要: mybatis 3.4.1之后,允许不加 @Param指定参数名称,自动会以入参的名称作为param key useActualParamName 允许使用方法签名中的名称作为语句参数名称。 为了使用该特性,你的项目必须采用 Java 8 编译,并且加上 -parameters 选项。(新增于 3. 阅读全文
posted @ 2021-04-03 14:48 mushishi 阅读(2532) 评论(0) 推荐(1) 编辑
摘要: 官方文档 ##一、基本原理 ###1. 主从架构的核心原理 当启动一个slave node的时候,它会发送一个PSYNC命令给master node 如果这是slave node重新连接master node,那么master node仅仅会复制给slave部分缺少的数据; 否则如果是slave n 阅读全文
posted @ 2021-03-21 22:06 mushishi 阅读(75) 评论(1) 推荐(0) 编辑
摘要: Cglib 动态代理,会动态创建类 如果使用不当会导致生成大量的类元数据 塞满metaspace 试验代码 依赖包 <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.3.0</version 阅读全文
posted @ 2021-03-18 01:46 mushishi 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 1. MetaSpace 加载太多类 metaspace 塞不下的时候会导致 full gc,连带回收老年代空间 但是类的元数据要被回收掉的条件比较苛刻的 对应的类加载器要先被回收了 类的所有实例对象要被回收 所以回收效果比较差,塞不下了 导致内存溢出 1.1元数据区出现oom的原因可能有 没有设置 阅读全文
posted @ 2021-03-18 01:39 mushishi 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 机器的配置,内存多少G jvm 参数设置: 堆大小,年轻代、老年代比例 等 收集器用的是什么 ⇒ 知道什么内存水位和时机会发生 minor gc 和 full gc 观察 gc 概况: minor gc 的频率和耗时, full gc的频率和耗时 重点关注 stw 和 fullgc 再细看 gc 情 阅读全文
posted @ 2021-03-18 01:37 mushishi 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 为什么又是必要的 如果在一个初创公司(其实现在在哈啰也是这样的, 都是直接用发布系统提供的jvm参数模板), 系统压力没那么大,大多数开发对 jvm 的调优并没有那么多经验, 这时候 新起一个服务 jvm怎么配置呢?copy 一下已有项目的jvm参数设置? 让架构师或资深工程师凭经验来设置? 大多数 阅读全文
posted @ 2021-03-18 01:36 mushishi 阅读(117) 评论(0) 推荐(1) 编辑
摘要: 一、上线前预估 预估日活用户数量 高峰时段、时长 用户一次行为涉及到的接口,预估接口请求次数 根据上面3个指标 算出接口预计的 qps, 适当扩大 10 ~ 20倍 接口耗时 接口执行过程中创建的对象总大小, 适当扩大 10~20倍 前面算出的 qps * 创建对象总大小 ⇒ 每秒内存占用 再根据接 阅读全文
posted @ 2021-03-18 01:32 mushishi 阅读(86) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页