会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
计洋的博客
Later equals never
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2023年6月28日
一个JVM参数,服务超时率降了四分之三
摘要: 先说结论:通过优化Xms,改为和Xmx一致,使系统的超时率降了四分之三  # 1. 背景 一个同
阅读全文
posted @ 2023-06-28 19:00 songtianer
阅读(216)
评论(0)
推荐(0)
2023年3月20日
ELK日志缺失问题排查-Logstash消费过慢问题
摘要: 1. 背景 另外一个推荐系统的推荐请求追踪日志,通过ELK收集,方便遇到问题时,可以通过唯一标识sid来复现推荐过程 在一次上线之后,发现日志大量缺失,缺失率达90%,确认是由上线引起的,但因为当时没立即发现这个问题,所以没有通过回滚解决 上线的内容改动了推荐请求日志,数据格式未变,增加了单条日志的
阅读全文
posted @ 2023-03-20 10:36 songtianer
阅读(740)
评论(0)
推荐(0)
ELK日志缺失问题排查-多行日志聚合Logstash配置问题
摘要: 1. 背景 推荐系统的推荐请求追踪日志,通过ELK收集,方便遇到问题时,可以通过唯一标识sid来复现推荐过程 最近在碰到了几个bad case,需要通过sid来查询推荐日志,但发现部分无法在kibana查询到 2. 分析 推荐日志的整个收集流程如下: flowchart LR 线上机器日志 -->
阅读全文
posted @ 2023-03-20 10:34 songtianer
阅读(1424)
评论(0)
推荐(0)
2023年3月6日
一次Java服务内存过高的分析过程
摘要: 现象 年前,收到了短信报警,显示A服务的某台机器内存过高,超过80% 如上图所示,内存会阶段性增加。奇怪的是,十多台机器中只有这一台有这个问题 堆内内存分析 最先怀疑是内存泄漏的问题,所以首先使用jmap命令把堆dump下来 jmap -dump:format=b,file=service.hpro
阅读全文
posted @ 2023-03-06 19:31 songtianer
阅读(3575)
评论(0)
推荐(1)
2022年12月6日
使用Spring Reactor优化推荐流程
摘要: 1. 背景 公司有一个推荐系统Rec,这个系统的主要功能是: 向外部系统提供推荐接口 根据请求获取推荐策略 根据推荐策略完成推荐的召回、过滤、打分、排序阶段 Rec作为微服务中的一环,本身不存储召回的物料信息,也不存储用户和物料的特征信息,它负责就是对各个服务的组合和流转 其流程如下: 2. 问题
阅读全文
posted @ 2022-12-06 19:16 songtianer
阅读(757)
评论(0)
推荐(2)
2022年11月10日
Guava LoadingCache本地缓存的正确使用姿势——异步加载
摘要: 1. 【背景】AB实验SDK耗时过高 同事在使用我写的实验平台sdk之后,吐槽耗时太高,获取实验数据分流耗时达到700ms,严重影响了主业务流程的执行 2. 【分析】缓存为何不管用 我记得之前在sdk端加了本地缓存(使用了LoadingCache),不应该这样慢 通过分析,只有在缓存失效之后的那一次
阅读全文
posted @ 2022-11-10 16:51 songtianer
阅读(6995)
评论(0)
推荐(0)
2022年10月20日
Redis Lettuce长时间超时问题
摘要: 1. 背景 新上线了一个服务,在压测的时候大量返回错误,查看报错是io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s) 在系统长时间无请求之后会必现 出现之后在十几分钟内不会自动重连 对于刚
阅读全文
posted @ 2022-10-20 14:11 songtianer
阅读(11161)
评论(0)
推荐(2)
2022年10月5日
Java手写一个批量获取数据工具类
摘要: 1. 背景 偶尔会在公司的项目里看到这样的代码 List<Info> infoList = new ArrayList<Info>(); if (infoidList.size() > 100) { int size = infoidList.size(); int batchSize = PER_
阅读全文
posted @ 2022-10-05 19:30 songtianer
阅读(744)
评论(0)
推荐(0)
2022年9月15日
instanceof和Class.isAssignableFrom的区别
摘要: 1. Class.isAssignableFrom 偶然看见同事写的一段代码是这样的 if( AfterRender.class.isAssignableFrom( assembly.getClass() ) ){ afterRenders.add( ( AfterRender )assembly
阅读全文
posted @ 2022-09-15 20:07 songtianer
阅读(218)
评论(0)
推荐(0)
2022年9月7日
TransmittableThreadLocal和@Async优雅的记录操作日志
摘要: 此文主要讲解: 如何实现操作记录 如何将TransmittableThreadLocal和@Async搭配使用 TransmittableThreadLocal阿里的一个开源组件,为了在使用线程池等会池化复用线程的执行组件情况下,提供ThreadLocal值的传递功能,解决异步执行时上下文传递的问题
阅读全文
posted @ 2022-09-07 20:37 songtianer
阅读(1970)
评论(0)
推荐(0)
上一页
1
2
3
下一页
公告