优化成果 2023 年,通过切换低成本的 Redis ESSD 实例、实施流量压缩方案、清理无效数据、治理实例 TTL、下线无用实例等措施,自研了 Redis 流量复制 流量放大、Redis 数据迁移、Redis 数据在线压缩 解压缩、Redis 数据定向清理 定向指定 TTL、Redis 扫描分析 Key 最后访问时间等工具辅助方案落地。实现 Redis 费用降本 46 万 / 月。 PS:文中所述 Redis , 均为阿里云的 Redis 相关产品。 优化措施 以下...
2023 KL的年终总结
接 : 《2020 KL的年终总结》 上一次写年总结还是在 2020 年,那会正是疫情爆发的一年,然后万万没想到,口罩一带就是 3年,已记不清什么时候才彻底和疫情拜拜。只记得有一天公司园区的围栏被拉走了,我漫无目的在在园区里乱走,享受自由。 回顾 新工作新挑战 是的,在接近年终快发年终奖的时间里,我闪辞了。可能很多人都有疑问,为什么不等拿完年终奖在走,为什么在凯京待...
记一次 golang 的 zstd 压缩、解压缩优化
问题背景 1、开发反馈 trs 的 stg 环境开启 zstd 解压缩后,内存有明显持续上涨趋势,最终导致 OOM 如图,内存频繁申请释放,当时分析导致 OOM 的原因是因为 stg 的 CPU 不够,导致 GC 不及时,调整 CPU 资源后确实 OOM 没有了。并未怀疑程序本身的性能问题 2、infra 同学发现 adx 的服务存在 zstd 压缩导致 CPU 资源消耗异常的问题,发现是压缩对象的 init 操作非常重导致。 问题分析 结合上面两...
Redis 流量复制、流量回放、流量镜像
背景 对 Redis 场景降本增效,涉及到将部分 Redis 实例迁移到类似社区 pika 这种支持 Redis 协议的基于 SSD 磁盘存储的项目(阿里云 Tair),降低存储成本。迁移过程需要进行性能验证,除了基本的选型压测之外,还必须对每个业务场景做全指令的性能覆盖,才能确保业务迁移的性能以及指令兼容稳定性。常规的做法是需要业务开发配合在工程里进行流量双发,或者小范围流量灰度。 以上...
Redis 的数据清理策略详解
背景 摸清 Redis 的数据清理策略,给内存使用高的被动缓存场景,在遇到内存不足时 怎么做是最优解提供决策依据。 本文整理 Redis 的数据清理策略所有代码来自 Redis version : 5.x, 不同版本的 Redis 策略可能有调整 清理策略 Redis 的清理策略,总结概括为三点,被动清理、定时清理、驱逐清理 被动清理 访问 Key 时,每次都会检查该 Key 是否已过期,如果过期则删除该 Key ,get 、scan 等指...
Sentry Snuba Clickhoue 数据源分析
Clickhouse 库表介绍 Sentry 和数据分析相关的表,只有四张,如下: errors_local : 存储所有的 issue 数据 transactions_local :存储所有的 trace 、span 数据,以及自定义的 measurements sessions_raw_local :存储 session 的原始数据信息,崩溃率的原始数据 sessions_hourly_local :存储 session 的小时粒度的统计聚合信息 分析案例 需求1:以下 SQL 用于实时的分析【启动开屏广告 p95 耗时】 SELECT extract ( ` release ` , \'[...
记 mysql-connector-java:8.0.28 的 bug 排查,你可能也踩坑了
前言 如标题,最终查明问题是因为 mysql-connector-java:8.0.28 的一个 bug 导致的。但是在真相未浮出之前,整个问题可谓扑朔迷离,博主好久没有排查过如此得劲的 bug ,随着一层层的 debug 深入,真相也随之浮出水面。这个问题属于底层 jdbc 驱动的问题,具有普遍性,可能不知不觉中,你的应用也在线上遭受这个 bug 的摧残,所以,请耐心听我讲完这个故事,然后回去检查下你的应用状态,...