实战
文章平均质量分 55
小蝙蝠侠
上进中,努力中,,,,,,,,,,,,,,,,,,,,
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式系统长尾延迟P95 和 P99 背后的数学与实战
【摘要】本文分析了分布式系统中平均响应时间低但P95/P99延迟高的现象,揭示了长尾延迟被放大的数学原理。通过建立概率模型(P=1-(1-p)^N)和具体案例(GC停顿、K8s调度抖动、Istio网络延迟),展示了fan-out并发场景下即使低概率慢事件也会显著推高尾延迟。文章提出三大优化方向:降低慢事件概率(如优化GC策略)、减少fan-out规模、增强资源隔离性(如Kubernetes资源配置),为分布式系统性能优化提供了理论依据和实践方案。原创 2025-12-22 12:03:26 · 538 阅读 · 0 评论 -
一次3PP升级导致 CPU 上升 30% 的排查
摘要:SpringBoot应用在第三方组件升级后出现CPU使用率上升30%的问题。通过分析发现,火焰图未显示明显热点,但YoungGC次数显著增加,表明对象分配速率上升。根本原因是Hibernate 6.4的HQL→SQL缓存失效(HHH-19560),导致每次查询都重新解析。由于解析成本分散在大量请求中,火焰图难以捕捉,但累积消耗大量CPU。修复后CPU下降20%,YoungGC频率回落。经验表明,火焰图对分散型CPU消耗不敏感,GC指标和ORM组件是性能排查关键。原创 2025-12-20 11:19:53 · 487 阅读 · 0 评论 -
12 个“大 TPS 规模效应问题”——现象 + 排查 + 常见解决
本文总结了大型IAM系统在高TPS(3k~20k)环境下常见的12类性能问题,包括负载不均、TCP队列溢出、Kafka积压、Redis热点、Oracle劣化、GC压力、线程池饱和、K8s调度延迟、多跳网络延迟、缓存一致性、容量瓶颈和级联雪崩。每类问题均给出典型现象、排查方法和解决方案,如调整LB策略、优化连接池、拆热点key、更新统计信息、合理配置线程池等。这些规模效应问题在小规模测试中难以复现,需要特别关注系统级的非线性放大效应。理解这些问题是提升性能优化能力的关键。原创 2025-12-11 12:06:16 · 1134 阅读 · 0 评论 -
async-profiler 火焰图宽度是否可信?哪些情况下会误导?(深度解析)
火焰图宽度并非绝对CPU时间:async-profiler火焰图宽度基于采样统计,反映的是函数被采样的概率分布,而非精确耗时。虽然通常能准确标识CPU热点,但在以下场景可能产生误导:1)极短函数因采样不足而缺失;2)阻塞状态线程不显示;3)JIT内联导致热点转移;4)Native调用栈不完整;5)容器CPU限制影响。建议配合perf工具、检查unknown比例及JIT日志进行交叉验证,并使用推荐配置(-ecpu -i1ms -j --cstack kernel)获取更准确结果。火焰图是强大的性能分析工具,但原创 2025-12-08 22:00:13 · 821 阅读 · 0 评论 -
Kafka一次线上问题
ISR的频繁扩张与收缩原创 2022-12-30 15:24:17 · 920 阅读 · 1 评论 -
postgresql(PG)相关
postgresql备份恢复讲解: 这里我们的测试环境,只需要最简单最快的操作方法,冷备份PostgreSQL 最佳实践 - 冷备份与还原介绍——这个介绍得挺详细的!但,我觉得,可以直接备份压缩整个主目录,因为相关的txlog也不会很大PostgreSQL 数据目录结构======...原创 2021-08-04 18:23:32 · 171 阅读 · 0 评论 -
PT/linux/ansible/haproxy常用命令
打包跟压缩的区别:打包是指将多个文件或者目录放在一起,形成一个总的包,这样便于保存和传输,但是大小是没有变化的,压缩是指将一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩的时候通常是先打包再压缩;tar命令tar命令参数前面加”-"与不加“-”的区别:tar命令参数前面加不加“-”执行命令的结果是没有区别的,区别只要是在于linux风格方面,加“-”属于System V风格,不加“-”属于BSD风格,所以在使用tar命令的时候它的参数加不加“-”原创 2021-08-04 18:15:13 · 151 阅读 · 0 评论 -
json_schema
做input数据校验用json_schema很好。但有个问题,与http 207状态互斥了!因为207是部分成功,而json_schema只能在业务入口前就validate fail!原创 2021-07-26 18:24:48 · 139 阅读 · 0 评论 -
git操作相关
Git完全复制一个Repository到新Repositorygit reset -hard======原创 2021-07-23 15:54:11 · 103 阅读 · 0 评论 -
JVM工具相关
常用命令:这里主要介绍如下几个工具:1、jps:查看本机java进程信息2、jstat:性能监控工具3、jmap:打印内存映射信息,制作堆dump文件4、jconsole:简易的JVM可视化工具5、jhat:内存分析工具,用于解析堆dump文件并以适合人阅读的方式展示出来6、jvisualvm:功能更强大的JVM可视化工具7、jstack:打印线程的栈信息,制作线程dump文件jmap 1)jmap -heap pid:输出堆内存设置和使用情况(JDK11使..原创 2021-06-30 20:13:23 · 332 阅读 · 0 评论 -
java编程基础注意点
java编程基础注意点50个编程注意点原创 2021-03-31 20:47:45 · 142 阅读 · 0 评论 -
多线程并发相关
ThreadLocal几个重要问题:1.为什么用软引用? 2. 推荐用private static 修饰? 3. 注意在线程池线程中使用threadLocal,要用finally remove相关引用:【并发编程&JVM】--- 强软弱虚四种引用 + ThreadLocal内存泄漏原因分析深入理解ThreadLocal的原理及内存泄漏问题...转载 2020-12-05 13:59:08 · 128 阅读 · 0 评论 -
ideas插件开发参考
部门需要一个Jira与gitlab的集成功能1. gitlab已经提供了与Jira的 issue-id与git commit的连接功能了,在gitlab的每个项目里的setting就可以配置了2.需要定制一个git commit的限制规范,要求是开发人员在提交代码的时候,一定要记得在commit里写上Jira issue-id。====...原创 2020-08-24 10:40:30 · 243 阅读 · 0 评论
分享