ClickHouse CPU 100%的问题排查与优化

背景 本文同步发布 OSC : https://my.oschina.net/klblog/blog/17901561 最近我们收到用户反馈,Sentry Web 无法正常刷数据,过一会儿又好了。经过初步排查,发现问题根源在于 ClickHouse 的 CPU 使用率居高不下,甚至达到了 100%,导致系统性能瓶颈。以下是我们对问题的详细分析、解决过程以及后续优化的总结,希望对遇到类似问题的团队有所帮助。 问题现象 从用户的反馈来看,Sentry Web 数据无法...

阅读全文 »

Redis 成本优化指南:45% 的成本节约

优化成果 2023 年,通过切换低成本的 Redis ESSD 实例、实施流量压缩方案、清理无效数据、治理实例 TTL、下线无用实例等措施,自研了 Redis 流量复制 流量放大、Redis 数据迁移、Redis 数据在线压缩 解压缩、Redis 数据定向清理 定向指定 TTL、Redis 扫描分析 Key 最后访问时间等工具辅助方案落地。实现 Redis 费用降本 46 万 / 月。 PS:文中所述 Redis , 均为阿里云的 Redis 相关产品。 优化措施 以下...

阅读全文 »

Sharding-JDBC数据库字段加解密透明化方案

Sharding-JDBC数据库字段加解密透明化方案

前言 近期,博主公司应安全审计要求,需要对数据库中的用户关键信息做加密处理,这样,即使生产数据被脱裤,也不会泄露用户的敏感信息,在做了初步的需求归纳和功能分析后,我们制定了简单的开发方案,将需要加解密的字段通过配置和注解的方式标记出来,尝试使用hibernate的filter和Interceptor针对用户sql做拦截,做到透明化加解密。但是这个方案很快被否决了,查询结果集没法...

阅读全文 »

关于mysql的事务,这些你都了解了么?

关于mysql的事务,这些你都了解了么?

前言 这篇博文源于公司一个批处理的项目异常而起的。先简单描述下发生背景。一个基于spring batch开发的批处理应用,线上运行了9个多月后,某一天突然跑批任务失败了,检查日志得知,是因为一个mysql异常导致的:Lock wait timeout exceeded。msyql事务锁等待超时这个异常虽然不常见,但随便一搜就会看到大量的相关的信息。导致这个异常的原因就是mysql数据库事务锁等待超时,默认超时时...

阅读全文 »

mysql日志binlog消费初体验

mysql日志binlog消费初体验

前言碎语 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅消费的业务,产出了canal项目。canal的原理很简单,就是如上图片所示 canal模拟mysql slave的交互协议,伪...

阅读全文 »

mysql 连接异常Communications link failure

前言碎语 最近在监控线上日志时发现,时长会抛出如:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 4,977,174 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago 异常信息,通常见到如上异常,是因为应用使用了连接池管理连接,有些连接已经失效了,拿失效的连接去请求mysql导致的,这个就是经典的mysql八小...

阅读全文 »

SQL优化神器-SQLAdvisor

前言碎语 曾几何时,你为了一条sql效率寻遍互联网的每个角落,也许,你会读到这么一篇sql优化的文章 《MySQL索引原理及慢查询优化 》 ,然后你恍然大悟,sql索引还有一个叫 最左前缀匹配的原则,并不是一味的建索引就可以解决慢查询的问题。今天,有这样一个工具,在你还在思考如何最左前匹配的时候 ,他已经帮你解析快速分析出你的sql,并给出索引优化建议,是不是很nice,好...

阅读全文 »